linux/drivers/net/ethernet/intel/i40e
Joe Damato b4fb2d3351 i40e: Add support for MPLS + TSO
This change adds support for TSO of MPLS packets.

In my tests with tcpdump it seems to work. Note this test setup has
a 9000 byte MTU:

MPLS (label 100, exp 0, [S], ttl 64) IP srcip.50086 > dstip.1234:
  Flags [P.], seq 593345:644401, ack 0, win 420,
  options [nop,nop,TS val 45022534 ecr 1722291395], length 51056

IP dstip.1234 > srcip.50086: Flags [.], ack 593345, win 122,
  options [nop,nop,TS val 1722291395 ecr 45022534], length 0

IP dstip.1234 > srcip.50086: Flags [.], ack 602289, win 105,
  options [nop,nop,TS val 1722291395 ecr 45022534], length 0

IP dstip.1234 > srcip.50086: Flags [.], ack 620177, win 71,
  options [nop,nop,TS val 1722291395 ecr 45022534], length 0

MPLS (label 100, exp 0, [S], ttl 64) IP srcip.50086 > dstip.1234:
  Flags [P.], seq 644401:655953, ack 0, win 420,
  options [nop,nop,TS val 45022534 ecr 1722291395], length 11552

IP dstip.1234 > srcip.50086: Flags [.], ack 638065, win 37,
  options [nop,nop,TS val 1722291395 ecr 45022534], length 0

IP dstip.1234 > srcip.50086: Flags [.], ack 644401, win 25,
  options [nop,nop,TS val 1722291395 ecr 45022534], length 0

IP dstip.1234 > srcip.50086: Flags [.], ack 653345, win 8,
  options [nop,nop,TS val 1722291395 ecr 45022534], length 0

IP dstip.1234 > srcip.50086: Flags [.], ack 655953, win 3,
  options [nop,nop,TS val 1722291395 ecr 45022534], length 0

Signed-off-by: Joe Damato <jdamato@fastly.com>
Co-developed-by: Mike Gallo <mgallo@fastly.com>
Signed-off-by: Mike Gallo <mgallo@fastly.com>
Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2022-04-12 09:42:05 -07:00
..
i40e.h i40e: Add a stat for tracking busy rx pages 2022-02-08 08:21:52 -08:00
i40e_adminq.c i40e: Add new versions of send ASQ command functions 2022-02-03 13:13:50 -08:00
i40e_adminq.h
i40e_adminq_cmd.h i40e: Update FW API version 2022-01-07 09:04:21 -08:00
i40e_alloc.h
i40e_client.c
i40e_common.c i40e: Add new version of i40e_aq_add_macvlan function 2022-02-03 13:13:51 -08:00
i40e_dcb.c
i40e_dcb.h
i40e_dcb_nl.c
i40e_ddp.c
i40e_debugfs.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-03-10 17:16:56 -08:00
i40e_devids.h
i40e_diag.c
i40e_diag.h
i40e_ethtool.c i40e: Add a stat for tracking busy rx pages 2022-02-08 08:21:52 -08:00
i40e_hmc.c
i40e_hmc.h
i40e_lan_hmc.c
i40e_lan_hmc.h
i40e_main.c i40e: Add support for MPLS + TSO 2022-04-12 09:42:05 -07:00
i40e_nvm.c i40e: little endian only valid checksums 2022-03-17 07:40:46 -07:00
i40e_osdep.h
i40e_prototype.h i40e: Add new version of i40e_aq_add_macvlan function 2022-02-03 13:13:51 -08:00
i40e_ptp.c net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
i40e_register.h i40e: Fix for failed to init adminq while VF reset 2022-01-20 10:25:40 -08:00
i40e_status.h i40e: Remove non-inclusive language 2022-01-07 09:04:21 -08:00
i40e_trace.h
i40e_txrx.c i40e: Add support for MPLS + TSO 2022-04-12 09:42:05 -07:00
i40e_txrx.h Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2022-02-09 18:40:56 -08:00
i40e_txrx_common.h
i40e_type.h
i40e_virtchnl_pf.c i40e: stop disabling VFs due to PF error responses 2022-03-08 13:31:08 -08:00
i40e_virtchnl_pf.h i40e: stop disabling VFs due to PF error responses 2022-03-08 13:31:08 -08:00
i40e_xsk.c i40e: remove dead stores on XSK hotpath 2022-02-19 12:34:04 +00:00
i40e_xsk.h xsk: Wipe out dead zero_copy_allocator declarations 2021-12-14 00:24:24 +01:00
Makefile