linux/drivers/net/ethernet/marvell/octeontx2/af
Hao Zheng 922584f607 octeontx2-af: Update NPC KPU packet parsing profile
Updated NPC KPU packet parsing profile with support for following

- Fragmentation support for IPv4 IPv6 outer header
- NIX instruction header support
- QinQ with TPID of 0x8100 as non inner most vlan tag, as legacy
  network equipments still generate QinQ packets with this configuration.
- To better support RSS for tunnelled packets, udp based tunnel
  protocols such as vxlan, vxlan-gpe, geneve and gtpu are now
  captured into a separate layer E. Consequently, the inner
  packet headers are pushed one layer down to LF, LG, and LH
  accordingly.
- Support for rfc7510 mpls in udp. Up to 4 MPLS labels can be parsed
  and captured in one layer LE.
- Parser support for DSA, extended DSA and eDSA tags right after
  ethernet header by Marvell SOHO and Falcon switches. For extended
  DSA and eDSA tags, a special PKIND of 62 is used, as these tags don't
  contain a tpid field.
- Higig2 protocol header parsing support, added a NPC_LT_LA_HIGIG2_ETHER
  for a combined header of HIGIG2 and Ethernet.  Add a
  NPC_LT_LA_IH_NIX_HIGIG2_ETHER for a combined header of nix_ih,
  HIGIG2 and Ethernet on egress side. Also added 2 upper flags in LA to
  indicate the presence of nix_ih and HIGIG2.

Other changes include
- IPv4.TTL==0 IPv6.HLIM==0 check
- Per RFC 1858, mark fragment offset == 1 as error
- TCP invalid flags check
- Separate error codes for outer and inner IPv4 checksum errors.
- Fix a parser error when KPU parses incoming IPSec ESP and AH packets
- NPC vtag capture/strip hardware expect tag pointer to point to
  tpid/ethertype instead of tci. So move lb_ptr to point to tpid/ethertype.
- Fix npc parser error when parsing udp packets that don't have any payload.
- For a single MCAM entry to match on packets with one or stacked vlan tags
  combine NPC_LT_LB_STAG and NPC_LT_LB_QINQ to NPC_LT_LB_STAG_QINQ.
- NVGRE to have a separate ltype LD_NVGRE instead of combined with LD_GRE.
- Reserve top LD/LTYPEs to support custom KPU profile fields.

Signed-off-by: Hao Zheng <haoz@marvell.com>
Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-11-14 18:09:16 -08:00
..
cgx_fw_if.h octeontx2-af: Enable mkex profile 2018-12-03 16:23:08 -08:00
cgx.c octeontx2-af: Add per CGX port level NIX Rx/Tx counters 2019-11-14 18:09:15 -08:00
cgx.h octeontx2-af: Add per CGX port level NIX Rx/Tx counters 2019-11-14 18:09:15 -08:00
common.h octeontx2-af: Add NDC block stats to debugfs. 2019-11-14 18:09:15 -08:00
Makefile octeontx2-af: Dump current resource provisioning status 2019-11-14 18:09:15 -08:00
mbox.c octeontx2-af: Sync hw mbox with bounce buffer. 2019-11-14 18:09:15 -08:00
mbox.h octeontx2-af: Sync hw mbox with bounce buffer. 2019-11-14 18:09:15 -08:00
npc_profile.h octeontx2-af: Update NPC KPU packet parsing profile 2019-11-14 18:09:16 -08:00
npc.h octeontx2-af: Update NPC KPU packet parsing profile 2019-11-14 18:09:16 -08:00
rvu_cgx.c octeontx2-af: Add per CGX port level NIX Rx/Tx counters 2019-11-14 18:09:15 -08:00
rvu_debugfs.c octeontx2-af: Add NPC MCAM entry allocation status to debugfs 2019-11-14 18:09:15 -08:00
rvu_nix.c octeontx2-af: Update NPC KPU packet parsing profile 2019-11-14 18:09:16 -08:00
rvu_npa.c octeontx2-af: Add NPA aura and pool contexts to debugfs 2019-11-14 18:09:15 -08:00
rvu_npc.c octeontx2-af: Update NPC KPU packet parsing profile 2019-11-14 18:09:16 -08:00
rvu_reg.c octeontx2-af: NIX Tx scheduler queue config support 2018-10-22 20:15:37 -07:00
rvu_reg.h octeontx2-af: Add NDC block stats to debugfs. 2019-11-14 18:09:15 -08:00
rvu_struct.h octeontx2-af: Add NDC block stats to debugfs. 2019-11-14 18:09:15 -08:00
rvu.c octeontx2-af: Add macro to generate mbox handlers declarations 2019-11-14 18:09:15 -08:00
rvu.h octeontx2-af: Add macro to generate mbox handlers declarations 2019-11-14 18:09:15 -08:00