1. 10 10月, 2021 17 次提交
  2. 09 10月, 2021 18 次提交
  3. 08 10月, 2021 5 次提交
    • D
      Merge branch 'enetc-swtso' · 12e6d7e6
      David S. Miller 提交于
      Ioana Ciornei says:
      
      ====================
      net: enetc: add support for software TSO
      
      This series adds support for driver level TSO in the enetc driver.
      
      Ever since the ENETC MDIO erratum workaround is in place, the Tx path is
      incurring a penalty (enetc_lock_mdio/enetc_unlock_mdio) for each skb to
      be sent out. On top of this, ENETC does not support Tx checksum
      offloading. This means that software TSO would help performance just by
      the fact that one single mdio lock/unlock sequence would cover multiple
      packets sent. On the other hand, checksum needs to be computed in
      software since the controller cannot handle it.
      
      This is why, beside using the usual tso_build_hdr()/tso_build_data()
      this specific implementation also has to compute the checksum, both IP
      and L4, for each resulted segment.
      
      Even with that, the performance improvement of a TCP flow running on a
      single A72@1.3GHz of the LS1028A SoC (2.5Gbit/s port) is the following:
      
      before: 1.63 Gbits/sec
      after:  2.34 Gbits/sec
      
      Changes in v2:
       - declare NETIF_F_HW_CSUM instead of NETIF_F_IP_CSUM in 1/2
       - add support for TSO over IPv6 (NETIF_F_TSO6 and csum compute) in 2/2
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      12e6d7e6
    • I
      net: enetc: add support for software TSO · fb8629e2
      Ioana Ciornei 提交于
      This patch adds support for driver level TSO in the enetc driver using
      the TSO API.
      
      Beside using the usual tso_build_hdr(), tso_build_data() this specific
      implementation also has to compute the checksum, both IP and L4, for
      each resulted segment. This is because the ENETC controller does not
      support Tx checksum offload which is needed in order to take advantage
      of TSO.
      
      With the workaround for the ENETC MDIO erratum in place the Tx path of
      the driver is forced to lock/unlock for each skb sent. This is why, even
      though we are computing the checksum by hand we see the following
      improvement in TCP termination on the LS1028A SoC, on a single A72 core
      running at 1.3GHz:
      
      before: 1.63 Gbits/sec
      after:  2.34 Gbits/sec
      Signed-off-by: NIoana Ciornei <ioana.ciornei@nxp.com>
      Reviewed-by: NClaudiu Manoil <claudiu.manoil@nxp.com>
      Reviewed-by: NVladimir Oltean <vladimir.oltean@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fb8629e2
    • I
      net: enetc: declare NETIF_F_HW_CSUM and do it in software · acede3c5
      Ioana Ciornei 提交于
      This is just a preparation patch for software TSO in the enetc driver.
      Unfortunately, ENETC does not support Tx checksum offload which would
      normally render TSO, even software, impossible.
      
      Declare NETIF_F_HW_CSUM as part of the feature set and do it at driver
      level using skb_csum_hwoffload_help() so that we can move forward and
      also add support for TSO in the next patch.
      Signed-off-by: NIoana Ciornei <ioana.ciornei@nxp.com>
      Reviewed-by: NVladimir Oltean <vladimir.oltean@nxp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      acede3c5
    • D
      Merge branch 'ip6gre-tests' · 36ee7281
      David S. Miller 提交于
      Ido Schimmel says:
      
      ====================
      selftests: forwarding: Add ip6gre tests
      
      This patchset adds forwarding selftests for ip6gre. The tests can be run
      with veth pairs or with physical loopbacks.
      
      Patch #1 adds a new config option to determine if 'skip_sw' / 'skip_hw'
      flags are used when installing tc filters. By default, it is not set
      which means the flags are not used. 'skip_sw' is useful to ensure
      traffic is forwarded by the hardware data path.
      
      Patch #2 adds a new helper function.
      
      Patches #3-#4 add the forwarding selftests.
      
      Patch #5 adds a mlxsw-specific selftest to validate correct behavior of
      the 'decap_error' trap with IPv6 underlay.
      
      Patches #6-#8 align the corresponding IPv4 underlay test to the IPv6
      one.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      36ee7281
    • A
      selftests: mlxsw: devlink_trap_tunnel_ipip: Send a full-length key · 7f63cdde
      Amit Cohen 提交于
      As part of adding same test for GRE tunnel with IPv6 underlay, missing
      bytes for key were found.
      
      mausezahn does not fill zeros between two colons, so send them
      explicitly. For example, use "00:00:00:E9:" instead of ":E9:"
      Signed-off-by: NAmit Cohen <amcohen@nvidia.com>
      Signed-off-by: NIdo Schimmel <idosch@nvidia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f63cdde