Merge branch 'mlxsw-next'
Jiri Pirko says: ==================== mlxsw: Preparation for IPv4 router Ido says: This series prepares the driver for IPv4 router support. The router follow-up patches are available at: https://github.com/jpirko/linux_mlxsw/tree/net-next_queue Patches 1-9 simplify the netdevice notification block and also add several checks during PRECHANGEUPPER events against topologies that aren't supported by the device. This will ensure L3 interfaces are only configured on top of valid netdevs. Patches 10-13 contain trivial changes required for the introduction of a generic FID struct - currently only used for vFIDs - in patch 14. Making the FID struct generic will allow us to easily associate the underlying FIDs with their L3-counterparts - Router interfaces (RIFs): FID Type | Used by | RIF Type -------------------------------------------------------- FID | The VLAN-aware bridge | VLAN vFID | VLAN-unaware bridges | FID rFID | non-bridged netdevs (follow-up) | Sub-port Obligatory ASCII art to visualize the above: A.B.C.D + | FID RIF + br0 E.F.G.H + + | | VLAN RIF +---------+---------+ + | | br1.W | vFID | + | | | vPort +-+-+ +-+-+ + swXpY.Z | | | | br1 +-+-+ +-+-+ + | | FID=W | | | +------------+------------+ | | | | +---+---+ +---+-+-+ +---+---+ | | | | | | | | | | | | | | | | | | +-------+ +-------+ +-------+ swXpY Patches 15-16 further generalize the struct by exploiting the fact that the FID is a shared resource among ports. Each FID type is assigned a 'leave' function that is invoked based on CHANGEUPPER events and takes care of the necessary clean-up. Patches 17-22 build upon the previous patches and use the FID struct for the VLAN-aware bridge and take care of cleaning up FID resources in the 'leave' functions. For now, these are only FDB records, but later on we'll have to remove the RIFs associated with these FIDs, which will in turn take care of routes and neighbours clean-up. The last patch adds debug prints that proved very useful during the development of this series. Tested with the existing L2 recipes: https://github.com/jpirko/lnst/tree/master/recipes/switchdev ==================== Signed-off-by:David S. Miller <davem@davemloft.net>
Showing
Please register or sign in to comment