X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fice_generic_flow.h;h=434d2f425d8e782d594a8212664a193037ee5ccf;hb=2175c4dc62ed8755cfa25ace3beabe869edb3988;hp=ede6ec8242a9b7e15e62d8a00c2a7c1c569472d8;hpb=bc9201388d56a733044e974b858238f8924a616c;p=dpdk.git diff --git a/drivers/net/ice/ice_generic_flow.h b/drivers/net/ice/ice_generic_flow.h index ede6ec8242..434d2f425d 100644 --- a/drivers/net/ice/ice_generic_flow.h +++ b/drivers/net/ice/ice_generic_flow.h @@ -30,6 +30,11 @@ #define ICE_PROT_VXLAN (1ULL << 19) #define ICE_PROT_NVGRE (1ULL << 20) #define ICE_PROT_GTPU (1ULL << 21) +#define ICE_PROT_PPPOE_S (1ULL << 22) +#define ICE_PROT_ESP (1ULL << 23) +#define ICE_PROT_AH (1ULL << 24) +#define ICE_PROT_L2TPV3OIP (1ULL << 25) +#define ICE_PROT_PFCP (1ULL << 26) /* field */ @@ -49,6 +54,13 @@ #define ICE_NVGRE_TNI (1ULL << 50) #define ICE_GTPU_TEID (1ULL << 49) #define ICE_GTPU_QFI (1ULL << 48) +#define ICE_PPPOE_SESSION (1ULL << 47) +#define ICE_PPPOE_PROTO (1ULL << 46) +#define ICE_ESP_SPI (1ULL << 45) +#define ICE_AH_SPI (1ULL << 44) +#define ICE_L2TPV3OIP_SESSION_ID (1ULL << 43) +#define ICE_PFCP_SEID (1ULL << 42) +#define ICE_PFCP_S_FIELD (1ULL << 41) /* input set */ @@ -177,6 +189,20 @@ (ICE_PROT_GTPU | ICE_GTPU_TEID) #define ICE_INSET_GTPU_QFI \ (ICE_PROT_GTPU | ICE_GTPU_QFI) +#define ICE_INSET_PPPOE_SESSION \ + (ICE_PROT_PPPOE_S | ICE_PPPOE_SESSION) +#define ICE_INSET_PPPOE_PROTO \ + (ICE_PROT_PPPOE_S | ICE_PPPOE_PROTO) +#define ICE_INSET_ESP_SPI \ + (ICE_PROT_ESP | ICE_ESP_SPI) +#define ICE_INSET_AH_SPI \ + (ICE_PROT_AH | ICE_AH_SPI) +#define ICE_INSET_L2TPV3OIP_SESSION_ID \ + (ICE_PROT_L2TPV3OIP | ICE_L2TPV3OIP_SESSION_ID) +#define ICE_INSET_PFCP_S_FIELD \ + (ICE_PROT_PFCP | ICE_PFCP_S_FIELD) +#define ICE_INSET_PFCP_SEID \ + (ICE_PROT_PFCP | ICE_PFCP_S_FIELD | ICE_PFCP_SEID) /* empty pattern */ extern enum rte_flow_item_type pattern_empty[]; @@ -335,21 +361,70 @@ extern enum rte_flow_item_type pattern_eth_ipv6_nvgre_eth_ipv6_udp[]; extern enum rte_flow_item_type pattern_eth_ipv6_nvgre_eth_ipv6_sctp[]; extern enum rte_flow_item_type pattern_eth_ipv6_nvgre_eth_ipv6_icmp6[]; -/* GTPU */ +/* IPv4 GTPU (EH) */ extern enum rte_flow_item_type pattern_eth_ipv4_gtpu[]; -extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4[]; extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh[]; + +/* IPv6 GTPU (EH) */ +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh[]; + +/* IPv4 GTPU IPv4 */ +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4[]; +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4_udp[]; +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4_tcp[]; +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv4_icmp[]; + +/* IPv4 GTPU IPv6 */ +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6[]; +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6_udp[]; +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6_tcp[]; +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_ipv6_icmp[]; + +/* IPv6 GTPU IPv4 */ +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4_udp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4_tcp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv4_icmp[]; + +/* IPv6 GTPU IPv6 */ +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6_udp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6_tcp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_ipv6_icmp[]; + +/* IPv4 GTPU EH IPv4 */ extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4[]; extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_udp[]; extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_tcp[]; extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv4_icmp[]; +/* IPv4 GTPU EH IPv6 */ +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6[]; +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6_udp[]; +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6_tcp[]; +extern enum rte_flow_item_type pattern_eth_ipv4_gtpu_eh_ipv6_icmp[]; + +/* IPv6 GTPU EH IPv4 */ +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4_udp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4_tcp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv4_icmp[]; + +/* IPv6 GTPU EH IPv6 */ +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6_udp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6_tcp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_gtpu_eh_ipv6_icmp[]; + /* PPPoE */ extern enum rte_flow_item_type pattern_eth_pppoed[]; extern enum rte_flow_item_type pattern_eth_vlan_pppoed[]; extern enum rte_flow_item_type pattern_eth_qinq_pppoed[]; extern enum rte_flow_item_type pattern_eth_pppoes[]; +extern enum rte_flow_item_type pattern_eth_pppoes_proto[]; extern enum rte_flow_item_type pattern_eth_vlan_pppoes[]; +extern enum rte_flow_item_type pattern_eth_vlan_pppoes_proto[]; extern enum rte_flow_item_type pattern_eth_qinq_pppoes[]; extern enum rte_flow_item_type pattern_eth_pppoes_ipv4[]; extern enum rte_flow_item_type pattern_eth_vlan_pppoes_ipv4[]; @@ -382,6 +457,25 @@ extern enum rte_flow_item_type pattern_eth_pppoes_ipv6_icmp6[]; extern enum rte_flow_item_type pattern_eth_vlan_pppoes_ipv6_icmp6[]; extern enum rte_flow_item_type pattern_eth_qinq_pppoes_ipv6_icmp6[]; +/* ESP */ +extern enum rte_flow_item_type pattern_eth_ipv4_esp[]; +extern enum rte_flow_item_type pattern_eth_ipv4_udp_esp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_esp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_udp_esp[]; + +/* AH */ +extern enum rte_flow_item_type pattern_eth_ipv4_ah[]; +extern enum rte_flow_item_type pattern_eth_ipv6_ah[]; +extern enum rte_flow_item_type pattern_eth_ipv6_udp_ah[]; + +/* L2TP */ +extern enum rte_flow_item_type pattern_eth_ipv4_l2tp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_l2tp[]; + +/* PFCP */ +extern enum rte_flow_item_type pattern_eth_ipv4_pfcp[]; +extern enum rte_flow_item_type pattern_eth_ipv6_pfcp[]; + struct ice_adapter; extern const struct rte_flow_ops ice_flow_ops;