1. 25 Jun, 2016 24 commits
  2. 23 Jun, 2016 8 commits
  3. 22 Jun, 2016 7 commits
  4. 21 Jun, 2016 1 commit
    • David S. Miller's avatar
      Merge branch 'mlxsw-next' · 0e9390eb
      David S. Miller authored
      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: default avatarDavid S. Miller <davem@davemloft.net>
      0e9390eb