1. 25 Jun, 2020 35 commits
  2. 24 Jun, 2020 5 commits
    • YueHaibing's avatar
      lan743x: Remove duplicated include from lan743x_main.c · 147373d9
      YueHaibing authored
      Remove duplicated include.
      Signed-off-by: default avatarYueHaibing <yuehaibing@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      147373d9
    • David S. Miller's avatar
      Merge branch 'net-bridge-fdb-activity-tracking' · 593b03d4
      David S. Miller authored
      Nikolay Aleksandrov says:
      
      ====================
      net: bridge: fdb activity tracking
      
      This set adds extensions needed for EVPN multi-homing proper and
      efficient mac sync. User-space (e.g. FRR) needs to be able to track
      non-dynamic entry activity on per-fdb basis depending if a tracked fdb is
      currently peer active or locally active and needs to be able to add new
      peer active fdb (static + track + inactive) without refreshing it to get
      real activity tracking. Patch 02 adds a new NDA attribute - NDA_FDB_EXT_ATTRS
      to avoid future pollution of NDA attributes by bridge or vxlan. New
      bridge/vxlan specific fdb attributes are embedded in NDA_FDB_EXT_ATTRS,
      which is used in patch 03 to pass the new NFEA_ACTIVITY_NOTIFY attribute
      which controls if an fdb should be tracked and also reflects its current
      state when dumping. It is treated as a bitfield, current valid bits are:
       1 - mark an entry for activity tracking
       2 - mark an entry as inactive to avoid multiple notifications and
           reflect state properly
      
      Patch 04 adds the ability to avoid refreshing an entry when changing it
      via the NFEA_DONT_REFRESH flag. That allows user-space to mark a static
      entry for tracking and keep its real activity unchanged.
      The set has been extensively tested with FRR and those changes will
      be upstreamed if/after it gets accepted.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      593b03d4
    • Nikolay Aleksandrov's avatar
      net: bridge: add a flag to avoid refreshing fdb when changing/adding · b5f1d9ec
      Nikolay Aleksandrov authored
      When we modify or create a new fdb entry sometimes we want to avoid
      refreshing its activity in order to track it properly. One example is
      when a mac is received from EVPN multi-homing peer by FRR, which doesn't
      want to change local activity accounting. It makes it static and sets a
      flag to track its activity.
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b5f1d9ec
    • Nikolay Aleksandrov's avatar
      net: bridge: add option to allow activity notifications for any fdb entries · 31cbc39b
      Nikolay Aleksandrov authored
      This patch adds the ability to notify about activity of any entries
      (static, permanent or ext_learn). EVPN multihoming peers need it to
      properly and efficiently handle mac sync (peer active/locally active).
      We add a new NFEA_ACTIVITY_NOTIFY attribute which is used to dump the
      current activity state and to control if static entries should be monitored
      at all. We use 2 bits - one to activate fdb entry tracking (disabled by
      default) and the second to denote that an entry is inactive. We need
      the second bit in order to avoid multiple notifications of inactivity.
      Obviously this makes no difference for dynamic entries since at the time
      of inactivity they get deleted, while the tracked non-dynamic entries get
      the inactive bit set and get a notification.
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      31cbc39b
    • Nikolay Aleksandrov's avatar
      net: neighbor: add fdb extended attribute · 899426b3
      Nikolay Aleksandrov authored
      Add an attribute to NDA which will contain all future fdb-specific
      attributes in order to avoid polluting the NDA namespace with e.g.
      bridge or vxlan specific attributes. The attribute is called
      NDA_FDB_EXT_ATTRS and the structure would look like:
       [NDA_FDB_EXT_ATTRS] = {
          [NFEA_xxx]
       }
      Signed-off-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      899426b3