1. 24 4月, 2021 1 次提交
  2. 16 4月, 2021 1 次提交
    • J
      i40e: fix the panic when running bpf in xdpdrv mode · 4e39a072
      Jason Xing 提交于
      Fix this panic by adding more rules to calculate the value of @rss_size_max
      which could be used in allocating the queues when bpf is loaded, which,
      however, could cause the failure and then trigger the NULL pointer of
      vsi->rx_rings. Prio to this fix, the machine doesn't care about how many
      cpus are online and then allocates 256 queues on the machine with 32 cpus
      online actually.
      
      Once the load of bpf begins, the log will go like this "failed to get
      tracking for 256 queues for VSI 0 err -12" and this "setup of MAIN VSI
      failed".
      
      Thus, I attach the key information of the crash-log here.
      
      BUG: unable to handle kernel NULL pointer dereference at
      0000000000000000
      RIP: 0010:i40e_xdp+0xdd/0x1b0 [i40e]
      Call Trace:
      [2160294.717292]  ? i40e_reconfig_rss_queues+0x170/0x170 [i40e]
      [2160294.717666]  dev_xdp_install+0x4f/0x70
      [2160294.718036]  dev_change_xdp_fd+0x11f/0x230
      [2160294.718380]  ? dev_disable_lro+0xe0/0xe0
      [2160294.718705]  do_setlink+0xac7/0xe70
      [2160294.719035]  ? __nla_parse+0xed/0x120
      [2160294.719365]  rtnl_newlink+0x73b/0x860
      
      Fixes: 41c445ff ("i40e: main driver core")
      Co-developed-by: NShujin Li <lishujin@kuaishou.com>
      Signed-off-by: NShujin Li <lishujin@kuaishou.com>
      Signed-off-by: NJason Xing <xingwanli@kuaishou.com>
      Reviewed-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Acked-by: NJesper Dangaard Brouer <brouer@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4e39a072
  3. 09 4月, 2021 2 次提交
  4. 02 4月, 2021 1 次提交
  5. 31 3月, 2021 1 次提交
  6. 26 3月, 2021 1 次提交
  7. 24 3月, 2021 1 次提交
  8. 12 3月, 2021 1 次提交
  9. 20 2月, 2021 2 次提交
  10. 19 2月, 2021 5 次提交
  11. 13 2月, 2021 1 次提交
  12. 11 2月, 2021 3 次提交
    • K
      i40e: remove the useless value assignment in i40e_clean_adminq_subtask · bfe2e5c4
      Kaixu Xia 提交于
      The variable ret is overwritten by the following call
      i40e_clean_arq_element() and the assignment is useless, so remove it.
      Reported-by: NTosk Robot <tencent_os_robot@tencent.com>
      Signed-off-by: NKaixu Xia <kaixuxia@tencent.com>
      Tested-by: NTony Brelinski <tonyx.brelinski@intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      bfe2e5c4
    • P
      i40e: Add flow director support for IPv6 · efca91e8
      Przemyslaw Patynowski 提交于
      Flow director for IPv6 is not supported.
      1) Implementation of support for IPv6 flow director.
      2) Added handlers for addition of TCP6, UDP6, SCTP6, IPv6.
      3) Refactored legacy code to make it more generic.
      4) Added packet templates for TCP6, UDP6, SCTP6, IPv6.
      5) Added handling of IPv6 source and destination address for flow director.
      6) Improved argument passing for source and destination portin TCP6, UDP6
         and SCTP6.
      7) Added handling of ethtool -n for IPv6, TCP6,UDP6, SCTP6.
      8) Used correct bit flag regarding FLEXOFF field of flow director data
         descriptor.
      
      Without this patch, there would be no support for flow director on IPv6,
      TCP6, UDP6, SCTP6.
      Tested based on x710 datasheet by using:
      ethtool -N enp133s0f0 flow-type tcp4 src-port 13 dst-port 37 user-def 0x44142 action 1
      ethtool -N enp133s0f0 flow-type tcp6 src-port 13 dst-port 40 user-def 0x44142 action 2
      ethtool -N enp133s0f0 flow-type udp4 src-port 20 dst-port 40 user-def 0x44142 action 3
      ethtool -N enp133s0f0 flow-type udp6 src-port 25 dst-port 40 user-def 0x44142 action 4
      ethtool -N enp133s0f0 flow-type sctp4 src-port 55 dst-port 65 user-def 0x44142 action 5
      ethtool -N enp133s0f0 flow-type sctp6 src-port 60 dst-port 40 user-def 0x44142 action 6
      ethtool -N enp133s0f0 flow-type ip4 src-ip 1.1.1.1 dst-ip 1.1.1.4 user-def 0x44142 action 7
      ethtool -N enp133s0f0 flow-type ip6 src-ip fe80::3efd:feff:fe6f:bbbb dst-ip fe80::3efd:feff:fe6f:aaaa user-def 0x44142 action 8
      Then send traffic from client which matches the criteria provided to ethtool.
      Observe that packets are redirected to user set queues with ethtool -S <interface>
      Signed-off-by: NPrzemyslaw Patynowski <przemyslawx.patynowski@intel.com>
      Tested-by: NTony Brelinski <tonyx.brelinski@intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      efca91e8
    • A
      i40e: Add init and default config of software based DCB · 4b208eaa
      Arkadiusz Kubalewski 提交于
      Add extra handling on changing the "disable-fw-lldp" private
      flag to properly initialize software based DCB feature.
      
      Add default configuration of DCB functionality when Firmware
      LLDP agent is turned off, in case of driver probe and device
      reset on reconfiguration.
      
      Update copyright dates as appropriate.
      
      Software based DCB is a brand-new feature in i40e driver.
      Before, DCB was implemented by Firmware LLDP agent only. The agent was
      responsible for handling incoming DCB-related LLDP frames and
      applying received DCB configuration to hardware.
      
      Default configuration and new initialization flow for software based
      DCB is required. If LLDP agent is turned off in BIOS, or after
      setting private flag ("disable-fw-lldp on"). The driver initializes
      DCB functionality with default values, one traffic class with 100%
      bandwidth allocated.
      Signed-off-by: NAleksandr Loktionov <aleksandr.loktionov@intel.com>
      Signed-off-by: NArkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
      Tested-by: NTony Brelinski <tonyx.brelinski@intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      4b208eaa
  13. 09 2月, 2021 1 次提交
  14. 08 1月, 2021 1 次提交
  15. 18 12月, 2020 1 次提交
  16. 24 11月, 2020 1 次提交
  17. 14 10月, 2020 1 次提交
  18. 30 9月, 2020 1 次提交
  19. 29 9月, 2020 1 次提交
  20. 26 9月, 2020 1 次提交
    • J
      intel-ethernet: clean up W=1 warnings in kdoc · b50f7bca
      Jesse Brandeburg 提交于
      This takes care of all of the trivial W=1 fixes in the Intel
      Ethernet drivers, which allows developers and maintainers to
      build more of the networking tree with more complete warning
      checks.
      
      There are three classes of kdoc warnings fixed:
       - cannot understand function prototype: 'x'
       - Excess function parameter 'x' description in 'y'
       - Function parameter or member 'x' not described in 'y'
      
      All of the changes were trivial comment updates on
      function headers.
      
      Inspired by Lee Jones' series of wireless work to do the same.
      Compile tested only, and passes simple test of
      $ git ls-files *.[ch] | egrep drivers/net/ethernet/intel | \
        xargs scripts/kernel-doc -none
      Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b50f7bca
  21. 15 9月, 2020 2 次提交
  22. 01 9月, 2020 2 次提交
  23. 15 8月, 2020 1 次提交
    • G
      i40e: Fix crash during removing i40e driver · 5b6d4a7f
      Grzegorz Szczurek 提交于
      Fix the reason of crashing system by add waiting time to finish reset
      recovery process before starting remove driver procedure.
      Now VSI is releasing if VSI is not in reset recovery mode.
      Without this fix it was possible to start remove driver if other
      processing command need reset recovery procedure which resulted in
      null pointer dereference. VSI used by the ethtool process has been
      cleared by remove driver process.
      
      [ 6731.508665] BUG: kernel NULL pointer dereference, address: 0000000000000000
      [ 6731.508668] #PF: supervisor read access in kernel mode
      [ 6731.508670] #PF: error_code(0x0000) - not-present page
      [ 6731.508671] PGD 0 P4D 0
      [ 6731.508674] Oops: 0000 [#1] SMP PTI
      [ 6731.508679] Hardware name: Intel Corporation S2600WT2R/S2600WT2R, BIOS SE5C610.86B.01.01.0021.032120170601 03/21/2017
      [ 6731.508694] RIP: 0010:i40e_down+0x252/0x310 [i40e]
      [ 6731.508696] Code: c7 78 de fa c0 e8 61 02 3a c1 66 83 bb f6 0c 00 00 00 0f 84 bf 00 00 00 45 31 e4 45 31 ff eb 03 41 89 c7 48 8b 83 98 0c 00 00 <4a> 8b 3c 20 e8 a5 79 02 00 48 83 bb d0 0c 00 00 00 74 10 48 8b 83
      [ 6731.508698] RSP: 0018:ffffb75ac7b3faf0 EFLAGS: 00010246
      [ 6731.508700] RAX: 0000000000000000 RBX: ffff9c9874bd5000 RCX: 0000000000000007
      [ 6731.508701] RDX: 0000000000000000 RSI: 0000000000000096 RDI: ffff9c987f4d9780
      [ 6731.508703] RBP: ffffb75ac7b3fb30 R08: 0000000000005b60 R09: 0000000000000004
      [ 6731.508704] R10: ffffb75ac64fbd90 R11: 0000000000000001 R12: 0000000000000000
      [ 6731.508706] R13: ffff9c97a08e0000 R14: ffff9c97a08e0a68 R15: 0000000000000000
      [ 6731.508708] FS:  00007f2617cd2740(0000) GS:ffff9c987f4c0000(0000) knlGS:0000000000000000
      [ 6731.508710] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 6731.508711] CR2: 0000000000000000 CR3: 0000001e765c4006 CR4: 00000000003606e0
      [ 6731.508713] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [ 6731.508714] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [ 6731.508715] Call Trace:
      [ 6731.508734]  i40e_vsi_close+0x84/0x90 [i40e]
      [ 6731.508742]  i40e_quiesce_vsi.part.98+0x3c/0x40 [i40e]
      [ 6731.508749]  i40e_pf_quiesce_all_vsi+0x55/0x60 [i40e]
      [ 6731.508757]  i40e_prep_for_reset+0x59/0x130 [i40e]
      [ 6731.508765]  i40e_reconfig_rss_queues+0x5a/0x120 [i40e]
      [ 6731.508774]  i40e_set_channels+0xda/0x170 [i40e]
      [ 6731.508778]  ethtool_set_channels+0xe9/0x150
      [ 6731.508781]  dev_ethtool+0x1b94/0x2920
      [ 6731.508805]  dev_ioctl+0xc2/0x590
      [ 6731.508811]  sock_do_ioctl+0xae/0x150
      [ 6731.508813]  sock_ioctl+0x34f/0x3c0
      [ 6731.508821]  ksys_ioctl+0x98/0xb0
      [ 6731.508828]  __x64_sys_ioctl+0x1a/0x20
      [ 6731.508831]  do_syscall_64+0x57/0x1c0
      [ 6731.508835]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
      
      Fixes: 4b816446 ("i40e: Add common function for finding VSI by type")
      Signed-off-by: NGrzegorz Szczurek <grzegorzx.szczurek@intel.com>
      Signed-off-by: NArkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NTony Nguyen <anthony.l.nguyen@intel.com>
      5b6d4a7f
  24. 26 7月, 2020 1 次提交
  25. 08 7月, 2020 1 次提交
  26. 02 7月, 2020 3 次提交
  27. 26 6月, 2020 2 次提交
    • J
      net/intel: remove driver versions from Intel drivers · 34a2a3b8
      Jeff Kirsher 提交于
      As with other networking drivers, remove the unnecessary driver version
      from the Intel drivers. The ethtool driver information and module version
      will then report the kernel version instead.
      
      For ixgbe, i40e and ice drivers, the driver passes the driver version to
      the firmware to confirm that we are up and running.  So we now pass the
      value of UTS_RELEASE to the firmware.  This adminq call is required per
      the HAS document.  The Device then sends an indication to the BMC that the
      PF driver is present. This is done using Host NC Driver Status Indication
      in NC-SI Get Link command or via the Host Network Controller Driver Status
      Change AEN.
      
      What the BMC may do with this information is implementation-dependent, but
      this is a standard NC-SI 1.1 command we honor per the HAS.
      
      CC: Bruce Allan <bruce.w.allan@intel.com>
      CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
      CC: Alek Loktionov <aleksandr.loktionov@intel.com>
      CC: Kevin Liedtke <kevin.d.liedtke@intel.com>
      CC: Aaron Rowden <aaron.f.rowden@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Co-developed-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      34a2a3b8
    • T
      i40e: Add a check to see if MFS is set · 3a2c6ced
      Todd Fujinaka 提交于
      A customer was chain-booting to provision his systems and one of the
      steps was setting MFS. MFS isn't cleared by normal warm reboots
      (clearing requires a GLOBR) and there was no indication of why Jumbo
      Frame receives were failing.
      
      Add a warning if MFS is set to anything lower than the default.
      Signed-off-by: NTodd Fujinaka <todd.fujinaka@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      3a2c6ced