1. 10 8月, 2021 1 次提交
  2. 16 6月, 2021 4 次提交
  3. 12 6月, 2021 1 次提交
  4. 01 6月, 2021 1 次提交
    • J
      net: hns3: add support for modify VLAN filter state · 2ba30662
      Jian Shen 提交于
      Previously, with hardware limitation, the port VLAN filter are
      effective for both PF and its VFs simultaneously, so a single
      function is not able to enable/disable separately, and the VLAN
      filter state is default enabled. Now some device supports each
      function to bypass port VLAN filter, then each function can
      switch VLAN filter separately. Add capability flag to check
      whether the device supports modify VLAN filter state. If flag
      on, user will be able to modify the VLAN filter state by ethtool
      -K.
      
      Furtherly, the default VLAN filter state is also changed
      according to whether non-zero VLAN used. Then the device can
      receive packet with any VLAN tag if only VLAN 0 used.
      
      The function hclge_need_enable_vport_vlan_filter() is used to
      help implement above changes. And the VLAN filter handle for
      promisc mode can also be simplified by this function.
      Signed-off-by: NJian Shen <shenjian15@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      2ba30662
  5. 26 5月, 2021 1 次提交
  6. 15 5月, 2021 4 次提交
    • H
      net: hns3: refactor dump bd info of debugfs · 77e91848
      Huazhong Tan 提交于
      Currently, the debugfs command for bd info is implemented
      by "echo xxxx > cmd", and record the information in dmesg.
      It's unnecessary and heavy.
      
      To improve it, add two debugfs directories "tx_bd_info" and
      "rx_bd_info", and create a file for each queue under these
      two directories, and query the bd info of specific queue by
      "cat tx_bd_info/tx_bd_queue*" or "cat rx_bd_info/rx_bd_queue*",
      return the result to userspace, rather than record in dmesg.
      
      The display style is below:
      $ cat rx_bd_info/rx_bd_queue0
      Queue 0 rx bd info:
      BD_IDX   L234_INFO  PKT_LEN   SIZE...
      0        0x0             60     60...
      1        0x0           1512   1512...
      
      $ cat tx_bd_info/tx_bd_queue0
      Queue 0 tx bd info:
      BD_IDX     ADDRESS  VLAN_TAG  SIZE...
      0          0x0          0        0...
      1          0x0          0        0...
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      77e91848
    • Y
      net: hns3: refactor the debugfs process · 5e69ea7e
      Yufeng Mo 提交于
      Currently, each debugfs command needs to create a file to get
      the information. To better support more debugfs commands, the
      debugfs process is reconstructed, including the process of
      creating dentries and files, and obtaining information.
      Signed-off-by: NYufeng Mo <moyufeng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5e69ea7e
    • H
      net: hns3: refactor out RX completion checksum · 1ddc028a
      Huazhong Tan 提交于
      Only when RXD advanced layout is enabled, in some cases
      (e.g. ip fragments), the checksum of entire packet will be
      calculated and filled in the least significant 16 bits of
      the unused addr field.
      
      So refactor out the handling of RX completion checksum: adjust
      the location of the checksum in RX descriptor, and use ptype table
      to identify whether this kind of checksum is calculated.
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1ddc028a
    • H
      net: hns3: support RXD advanced layout · 79664077
      Huazhong Tan 提交于
      Currently, the driver gets packet type by parsing the
      L3_ID/L4_ID/OL3_ID/OL4_ID from RX descriptor, it's
      time-consuming.
      
      Now some new devices support RXD advanced layout, which combines
      previous OL3_ID/OL4_ID to 8bit ptype field, so the driver gets
      packet type by looking up only one table, and L3_ID/L4_ID become
      reserved fields.
      
      Considering compatibility, the firmware will report capability of
      RXD advanced layout, the driver will identify and enable it by
      default. This patch provides basic function: identify and enable
      the RXD advanced layout, and refactor out hns3_rx_checksum() by
      using ptype table to handle RX checksum if supported.
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      79664077
  7. 30 3月, 2021 2 次提交
  8. 10 2月, 2021 2 次提交
  9. 07 2月, 2021 1 次提交
  10. 02 12月, 2020 3 次提交
  11. 18 11月, 2020 4 次提交
  12. 30 9月, 2020 2 次提交
  13. 18 9月, 2020 5 次提交
  14. 09 9月, 2020 3 次提交
  15. 22 7月, 2020 1 次提交
    • Y
      net: hns3: fix for not calculating TX BD send size correctly · 48ae74c9
      Yunsheng Lin 提交于
      With GRO and fraglist support, the SKB can be aggregated to
      a total size of 65535, and when that SKB is forwarded through
      a bridge, the size of the SKB may be pushed to exceed the size
      of 65535 when br_dev_queue_push_xmit() is called.
      
      The max send size of BD supported by the HW is 65535, when a SKB
      with a headlen of over 65535 is sent to the driver, the driver
      needs to use multi BD to send the linear data, and the send size
      of the last BD is calculated incorrectly by the driver who is
      using '&' operation, which causes a TX error.
      
      Use '%' operation to fix this problem.
      
      Fixes: 3fe13ed9 ("net: hns3: avoid mult + div op in critical data path")
      Signed-off-by: NYunsheng Lin <linyunsheng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      48ae74c9
  16. 19 6月, 2020 1 次提交
  17. 29 5月, 2020 1 次提交
  18. 15 5月, 2020 1 次提交
  19. 26 4月, 2020 2 次提交