1. 23 5月, 2020 10 次提交
    • D
      net: atlantic: move PTP TC initialization to a separate function · 593dd0fc
      Dmitry Bezrukov 提交于
      This patch moves the PTP TC initialization into a separate function.
      Signed-off-by: NDmitry Bezrukov <dbezrukov@marvell.com>
      Co-developed-by: NMark Starovoytov <mstarovoitov@marvell.com>
      Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com>
      Signed-off-by: NIgor Russkikh <irusskikh@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      593dd0fc
    • D
      net: atlantic: changes for multi-TC support · 8ce84271
      Dmitry Bezrukov 提交于
      This patch contains the following changes:
      * access cfg via aq_nic_get_cfg() in aq_nic_start() and aq_nic_map_skb();
      * call aq_nic_get_dev() just once in aq_nic_map_skb();
      * move ring allocation/deallocation out of aq_vec_alloc()/aq_vec_free();
      * add the missing aq_nic_deinit() in atl_resume_common();
      * rename 'tcs' field to 'tcs_max' in aq_hw_caps_s to differentiate it from
        the 'tcs' field in aq_nic_cfg_s, which is used for the current number of
        TCs;
      * update _TC_MAX defines to the actual number of supported TCs;
      * move tx_tc_mode register defines slightly higher (just to keep the order
        of definitions);
      * separate variables for TX/RX buff_size in hw_atl*_hw_qos_set();
      * use AQ_HW_*_TC instead of hardcoded magic numbers;
      * actually use the 'ret' value in aq_mdo_add_secy();
      Signed-off-by: NDmitry Bezrukov <dbezrukov@marvell.com>
      Co-developed-by: NMark Starovoytov <mstarovoitov@marvell.com>
      Signed-off-by: NMark Starovoytov <mstarovoitov@marvell.com>
      Signed-off-by: NIgor Russkikh <irusskikh@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8ce84271
    • D
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 59b8d277
      David S. Miller 提交于
      Jeff Kirsher says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2020-05-21
      
      This series contains updates to ice driver only.  Several of the changes
      are fixes, which could be backported to stable, of which, only one was
      marked for stable because of the memory leak potential.
      
      Jake exposes the information in the flash memory used for link
      management, which is called the netlist module.
      
      Henry and Tony add support for tunnel offloads.
      
      Brett adds promiscuous support in VF's which is based on VF trust and
      the new vf-true-promisc flag.
      
      Avinash fixes an issue where a transmit timeout for a queue that belongs
      to a PFC enabled TC is not a true transmit timeout, but because the PFC
      is in action.
      
      Dave fixes the check for contiguous TCs to allow for various UP2TC
      mapping configurations.  Also fixed an issue when changing the pause
      parameters would could multiple link drop/down's in succession, which in
      turn caused the firmware to not generate a link interrupt for the driver
      to respond to.
      
      Anirudh (Ani) fixed a potential race condition in probe/open due to a
      bit being cleared too early.
      
      Lihong updates an error message to make it more meaningful instead of
      just printing out the numerical value of the status/error code.  Also
      fixed an incorrect return value if deleting a filter does not find a
      match to delete or when adding a filter that already exists.
      
      Karol fixes casting issues and precision loss in the driver.
      
      Jesse make the sign usage more consistent in the driver by making sure
      all instances of vf_id are unsigned, since it can never be negative.
      
      Eric fixes a potential memory leak in ice_add_prof_id_vsig() where was
      not cleaning up resources properly when an error occurs.
      
      Michal to help organize the filtering code in the driver, refactor the
      code into a separate file and add functions to prepare the filter
      information.
      
      Bruce cleaned up a conditional statement that always resulted in true
      and provided a comment to make it more obvious.  Also cleaned up
      redundant code checks.
      
      Tony helps with potential namespace issues by renaming a 'ice' specific
      function with the driver name prepended.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      59b8d277
    • D
      Merge branch 'Support-for-fdb-ECMP-nexthop-groups' · 4001f1f0
      David S. Miller 提交于
      Roopa Prabhu says:
      
      ====================
      Support for fdb ECMP nexthop groups
      
      This series introduces ecmp nexthops and nexthop groups
      for mac fdb entries. In subsequent patches this is used
      by the vxlan driver fdb entries. The use case is
      E-VPN multihoming [1,2,3] which requires bridged vxlan traffic
      to be load balanced to remote switches (vteps) belonging to
      the same multi-homed ethernet segment (This is analogous to
      a multi-homed LAG but over vxlan).
      
      Changes include new nexthop flag NHA_FDB for nexthops
      referenced by fdb entries. These nexthops only have ip.
      The patches make sure that routes dont reference such nexthops.
      
      example:
      $ip nexthop add id 12 via 172.16.1.2 fdb
      $ip nexthop add id 13 via 172.16.1.3 fdb
      $ip nexthop add id 102 group 12/13 fdb
      
      $bridge fdb add 02:02:00:00:00:13 dev vxlan1000 nhid 101 self
      
      [1] E-VPN https://tools.ietf.org/html/rfc7432
      [2] E-VPN VxLAN: https://tools.ietf.org/html/rfc8365
      [3] LPC talk with mention of nexthop groups for L2 ecmp
      http://vger.kernel.org/lpc_net2018_talks/scaling_bridge_fdb_database_slidesV3.pdf
      
      v4 -
          - fix error path free_skb in vxlan_xmit_nh
          - fix atomic notifier initialization issue
            (Reported-by: kernel test robot <rong.a.chen@intel.com>)
            The reported error was easy to locate and fix, but i was not
            able to re-test with the robot reproducer script due to some
            other issues with running the script on my test system.
      
      v3 - fix wording in selftest print as pointed out by davidA
      
      v2 -
      	- dropped nikolays fixes for nexthop multipath null pointer deref
      	  (he will send those separately)
      	- added negative tests for route add with fdb nexthop + a few more
      	- Fixes for a few  fdb replace conditions found during more testing
      	- Moved to rcu_dereference_rtnl in vxlan_fdb_info and consolidate rcu
      	  dereferences
      	- Fixes to build failures Reported-by: kbuild test robot <lkp@intel.com>
      	- DavidA, I am going to send a separate patch for the neighbor code validation
      	  for NDA_NH_ID if thats ok.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4001f1f0
    • R
      selftests: net: add fdb nexthop tests · 0534c548
      Roopa Prabhu 提交于
      This commit adds ipv4 and ipv6 fdb nexthop api tests to fib_nexthops.sh.
      Signed-off-by: NRoopa Prabhu <roopa@cumulusnetworks.com>
      Reviewed-by: NDavid Ahern <dsahern@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0534c548
    • R
      vxlan: support for nexthop notifiers · c7cdbe2e
      Roopa Prabhu 提交于
      vxlan driver registers for nexthop add/del notifiers to
      cleanup fdb entries pointing to such nexthops.
      Signed-off-by: NRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c7cdbe2e
    • R
      nexthop: add support for notifiers · 8590ceed
      Roopa Prabhu 提交于
      This patch adds nexthop add/del notifiers. To be used by
      vxlan driver in a later patch. Could possibly be used by
      switchdev drivers in the future.
      Signed-off-by: NRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8590ceed
    • R
      vxlan: ecmp support for mac fdb entries · 1274e1cc
      Roopa Prabhu 提交于
      Todays vxlan mac fdb entries can point to multiple remote
      ips (rdsts) with the sole purpose of replicating
      broadcast-multicast and unknown unicast packets to those remote ips.
      
      E-VPN multihoming [1,2,3] requires bridged vxlan traffic to be
      load balanced to remote switches (vteps) belonging to the
      same multi-homed ethernet segment (E-VPN multihoming is analogous
      to multi-homed LAG implementations, but with the inter-switch
      peerlink replaced with a vxlan tunnel). In other words it needs
      support for mac ecmp. Furthermore, for faster convergence, E-VPN
      multihoming needs the ability to update fdb ecmp nexthops independent
      of the fdb entries.
      
      New route nexthop API is perfect for this usecase.
      This patch extends the vxlan fdb code to take a nexthop id
      pointing to an ecmp nexthop group.
      
      Changes include:
      - New NDA_NH_ID attribute for fdbs
      - Use the newly added fdb nexthop groups
      - makes vxlan rdsts and nexthop handling code mutually
        exclusive
      - since this is a new use-case and the requirement is for ecmp
      nexthop groups, the fdb add and update path checks that the
      nexthop is really an ecmp nexthop group. This check can be relaxed
      in the future, if we want to introduce replication fdb nexthop groups
      and allow its use in lieu of current rdst lists.
      - fdb update requests with nexthop id's only allowed for existing
      fdb's that have nexthop id's
      - learning will not override an existing fdb entry with nexthop
      group
      - I have wrapped the switchdev offload code around the presence of
      rdst
      
      [1] E-VPN RFC https://tools.ietf.org/html/rfc7432
      [2] E-VPN with vxlan https://tools.ietf.org/html/rfc8365
      [3] http://vger.kernel.org/lpc_net2018_talks/scaling_bridge_fdb_database_slidesV3.pdf
      
      Includes a null check fix in vxlan_xmit from Nikolay
      
      v2 - Fixed build issue:
      Reported-by: Nkbuild test robot <lkp@intel.com>
      Signed-off-by: NRoopa Prabhu <roopa@cumulusnetworks.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1274e1cc
    • R
      nexthop: support for fdb ecmp nexthops · 38428d68
      Roopa Prabhu 提交于
      This patch introduces ecmp nexthops and nexthop groups
      for mac fdb entries. In subsequent patches this is used
      by the vxlan driver fdb entries. The use case is
      E-VPN multihoming [1,2,3] which requires bridged vxlan traffic
      to be load balanced to remote switches (vteps) belonging to
      the same multi-homed ethernet segment (This is analogous to
      a multi-homed LAG but over vxlan).
      
      Changes include new nexthop flag NHA_FDB for nexthops
      referenced by fdb entries. These nexthops only have ip.
      This patch includes appropriate checks to avoid routes
      referencing such nexthops.
      
      example:
      $ip nexthop add id 12 via 172.16.1.2 fdb
      $ip nexthop add id 13 via 172.16.1.3 fdb
      $ip nexthop add id 102 group 12/13 fdb
      
      $bridge fdb add 02:02:00:00:00:13 dev vxlan1000 nhid 101 self
      
      [1] E-VPN https://tools.ietf.org/html/rfc7432
      [2] E-VPN VxLAN: https://tools.ietf.org/html/rfc8365
      [3] LPC talk with mention of nexthop groups for L2 ecmp
      http://vger.kernel.org/lpc_net2018_talks/scaling_bridge_fdb_database_slidesV3.pdf
      
      v4 - fixed uninitialized variable reported by kernel test robot
      Reported-by: Nkernel test robot <rong.a.chen@intel.com>
      Signed-off-by: NRoopa Prabhu <roopa@cumulusnetworks.com>
      Reviewed-by: NDavid Ahern <dsahern@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      38428d68
    • D
      Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 7b1b843a
      David S. Miller 提交于
      Jeff Kirsher says:
      
      ====================
      1GbE Intel Wired LAN Driver Updates 2020-05-21
      
      This series contains updates to igc and e1000.
      
      Andre cleans up code that was left over from the igb driver that handled
      MAC address filters based on the source address, which is not currently
      supported.  Simplifies the MAC address filtering code and prepare the
      igc driver for future source address support.  Updated the MAC address
      filter internal APIs to support filters based on source address.  Added
      support for Network Flow Classification (NFC) rules based on source MAC
      address.  Cleaned up the 'cookie' field which is not used anywhere in
      the code and cleaned up a wrapper function that was not needed.
      Simplified the filtering code for readability and aligned the ethtool
      functions, so that function names were consistent.
      
      Alex provides a fix for e1000 to resolve a deadlock issue when NAPI is
      being disabled.
      
      Sasha does additional cleanup of the igc driver of dead code that is not
      used or needed.
      
      v2: Fix the function header comment in patch 3 of the series, based on
          the feedback from Jakub Kicinski.
      ====================
      Reviewed-by: NJakub Kicinski <kuba@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7b1b843a
  2. 22 5月, 2020 30 次提交