Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ice/ice_flow.h
Show First 20 Lines • Show All 81 Lines • ▼ Show 20 Lines | enum ice_flow_seg_hdr { | ||||
ICE_FLOW_SEG_HDR_IPV6 = 0x00000008, | ICE_FLOW_SEG_HDR_IPV6 = 0x00000008, | ||||
ICE_FLOW_SEG_HDR_ARP = 0x00000010, | ICE_FLOW_SEG_HDR_ARP = 0x00000010, | ||||
ICE_FLOW_SEG_HDR_ICMP = 0x00000020, | ICE_FLOW_SEG_HDR_ICMP = 0x00000020, | ||||
ICE_FLOW_SEG_HDR_TCP = 0x00000040, | ICE_FLOW_SEG_HDR_TCP = 0x00000040, | ||||
ICE_FLOW_SEG_HDR_UDP = 0x00000080, | ICE_FLOW_SEG_HDR_UDP = 0x00000080, | ||||
ICE_FLOW_SEG_HDR_SCTP = 0x00000100, | ICE_FLOW_SEG_HDR_SCTP = 0x00000100, | ||||
ICE_FLOW_SEG_HDR_GRE = 0x00000200, | ICE_FLOW_SEG_HDR_GRE = 0x00000200, | ||||
/* The following is an additive bit for ICE_FLOW_SEG_HDR_IPV4 and | /* The following is an additive bit for ICE_FLOW_SEG_HDR_IPV4 and | ||||
* ICE_FLOW_SEG_HDR_IPV6 which include the IPV4 other PTYPEs | * ICE_FLOW_SEG_HDR_IPV6. | ||||
*/ | */ | ||||
ICE_FLOW_SEG_HDR_IPV_OTHER = 0x20000000, | ICE_FLOW_SEG_HDR_IPV_FRAG = 0x40000000, | ||||
ICE_FLOW_SEG_HDR_IPV_OTHER = 0x80000000, | |||||
}; | }; | ||||
enum ice_flow_field { | enum ice_flow_field { | ||||
/* L2 */ | /* L2 */ | ||||
ICE_FLOW_FIELD_IDX_ETH_DA, | ICE_FLOW_FIELD_IDX_ETH_DA, | ||||
ICE_FLOW_FIELD_IDX_ETH_SA, | ICE_FLOW_FIELD_IDX_ETH_SA, | ||||
ICE_FLOW_FIELD_IDX_S_VLAN, | ICE_FLOW_FIELD_IDX_S_VLAN, | ||||
ICE_FLOW_FIELD_IDX_C_VLAN, | ICE_FLOW_FIELD_IDX_C_VLAN, | ||||
▲ Show 20 Lines • Show All 87 Lines • ▼ Show 20 Lines | |||||
enum ice_rss_cfg_hdr_type { | enum ice_rss_cfg_hdr_type { | ||||
ICE_RSS_OUTER_HEADERS, /* take outer headers as inputset. */ | ICE_RSS_OUTER_HEADERS, /* take outer headers as inputset. */ | ||||
ICE_RSS_INNER_HEADERS, /* take inner headers as inputset. */ | ICE_RSS_INNER_HEADERS, /* take inner headers as inputset. */ | ||||
/* take inner headers as inputset for packet with outer ipv4. */ | /* take inner headers as inputset for packet with outer ipv4. */ | ||||
ICE_RSS_INNER_HEADERS_W_OUTER_IPV4, | ICE_RSS_INNER_HEADERS_W_OUTER_IPV4, | ||||
/* take inner headers as inputset for packet with outer ipv6. */ | /* take inner headers as inputset for packet with outer ipv6. */ | ||||
ICE_RSS_INNER_HEADERS_W_OUTER_IPV6, | ICE_RSS_INNER_HEADERS_W_OUTER_IPV6, | ||||
/* take outer headers first then inner headers as inputset */ | /* take outer headers first then inner headers as inputset */ | ||||
/* take inner as inputset for GTPoGRE with outer ipv4 + gre. */ | |||||
ICE_RSS_INNER_HEADERS_W_OUTER_IPV4_GRE, | |||||
/* take inner as inputset for GTPoGRE with outer ipv6 + gre. */ | |||||
ICE_RSS_INNER_HEADERS_W_OUTER_IPV6_GRE, | |||||
ICE_RSS_ANY_HEADERS | ICE_RSS_ANY_HEADERS | ||||
}; | }; | ||||
struct ice_rss_hash_cfg { | struct ice_rss_hash_cfg { | ||||
u32 addl_hdrs; /* protocol header fields */ | u32 addl_hdrs; /* protocol header fields */ | ||||
u64 hash_flds; /* hash bit field (ICE_FLOW_HASH_*) to configure */ | u64 hash_flds; /* hash bit field (ICE_FLOW_HASH_*) to configure */ | ||||
enum ice_rss_cfg_hdr_type hdr_type; /* to specify inner or outer */ | enum ice_rss_cfg_hdr_type hdr_type; /* to specify inner or outer */ | ||||
bool symm; /* symmetric or asymmetric hash */ | bool symm; /* symmetric or asymmetric hash */ | ||||
▲ Show 20 Lines • Show All 145 Lines • Show Last 20 Lines |