drivers/net/ethernet/marvell/octeontx2/af/npc_profile.h

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/marvell/octeontx2/af/npc_profile.h

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/marvell/octeontx2/af/npc_profile.h
Extension
.h
Size
260114 bytes
Lines
16774
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef NPC_PROFILE_H
#define NPC_PROFILE_H

#define NPC_KPU_PROFILE_VER	0x0000000100070000
#define NPC_KPU_VER_MAJ(ver)	((u16)(((ver) >> 32) & 0xFFFF))
#define NPC_KPU_VER_MIN(ver)	((u16)(((ver) >> 16) & 0xFFFF))
#define NPC_KPU_VER_PATCH(ver)	((u16)((ver) & 0xFFFF))

#define NPC_IH_W		0x8000
#define NPC_IH_UTAG		0x2000

#define NPC_ETYPE_IP		0x0800
#define NPC_ETYPE_IP6		0x86dd
#define NPC_ETYPE_ARP		0x0806
#define NPC_ETYPE_RARP		0x8035
#define NPC_ETYPE_NGIO		0x8842
#define NPC_ETYPE_MPLSU		0x8847
#define NPC_ETYPE_MPLSM		0x8848
#define NPC_ETYPE_ETAG		0x893f
#define NPC_ETYPE_CTAG		0x8100
#define NPC_ETYPE_SBTAG		0x88a8
#define NPC_ETYPE_ITAG		0x88e7
#define NPC_ETYPE_PTP		0x88f7
#define NPC_ETYPE_FCOE		0x8906
#define NPC_ETYPE_QINQ		0x9100
#define NPC_ETYPE_QINQ2		0x9200
#define NPC_ETYPE_TRANS_ETH_BR	0x6558
#define NPC_ETYPE_PPP		0x880b
#define NPC_ETYPE_NSH		0x894f
#define NPC_ETYPE_DSA		0xdada
#define NPC_ETYPE_PPPOE		0x8864
#define NPC_ETYPE_ERSPA		0x88be
#define NPC_ETYPE_FP		0x8903

#define NPC_PPP_IP		0x0021
#define NPC_PPP_IP6		0x0057

#define NPC_IPNH_HOP		0
#define NPC_IPNH_ICMP		1
#define NPC_IPNH_IGMP		2
#define NPC_IPNH_IP		4
#define NPC_IPNH_TCP		6
#define NPC_IPNH_UDP		17
#define NPC_IPNH_IP6		41
#define NPC_IPNH_ROUT		43
#define NPC_IPNH_FRAG		44
#define NPC_IPNH_GRE		47
#define NPC_IPNH_ESP		50
#define NPC_IPNH_AH		51
#define NPC_IPNH_ICMP6		58
#define NPC_IPNH_NONH		59
#define NPC_IPNH_DEST		60
#define NPC_IPNH_SCTP		132
#define NPC_IPNH_MOBILITY	135
#define NPC_IPNH_MPLS		137
#define NPC_IPNH_HOSTID		139
#define NPC_IPNH_SHIM6		140
#define NPC_IPNH_CUSTOM		253

#define NPC_IP6_ROUTE_TYPE	4

#define NPC_UDP_PORT_PTP_E	319
#define NPC_UDP_PORT_PTP_G	320
#define NPC_UDP_PORT_GTPC	2123
#define NPC_UDP_PORT_GTPU	2152
#define NPC_UDP_PORT_VXLAN	4789
#define NPC_UDP_PORT_VXLANGPE	4790
#define NPC_UDP_PORT_GENEVE	6081
#define NPC_UDP_PORT_MPLS	6635
#define NPC_UDP_PORT_ESP	4500
#define NPC_UDP_PORT_ROCEV2     4791

#define NPC_VXLANGPE_NP_IP	0x1
#define NPC_VXLANGPE_NP_IP6	0x2
#define NPC_VXLANGPE_NP_ETH	0x3
#define NPC_VXLANGPE_NP_NSH	0x4
#define NPC_VXLANGPE_NP_MPLS	0x5
#define NPC_VXLANGPE_NP_GBP	0x6
#define NPC_VXLANGPE_NP_VBNG	0x7

#define NPC_NSH_NP_IP		0x1
#define NPC_NSH_NP_IP6		0x2
#define NPC_NSH_NP_ETH		0x3
#define NPC_NSH_NP_NSH		0x4
#define NPC_NSH_NP_MPLS		0x5

#define NPC_TCP_PORT_HTTP	80
#define NPC_TCP_PORT_HTTPS	443
#define NPC_TCP_PORT_PPTP	1723

Annotation

Implementation Notes