X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fiavf%2Fiavf_generic_flow.h;h=0ccf5901b47c4cbb489a202cad7a7dd27721d613;hb=92c87229a9b096a53a5a9763bfee0198d20a91ea;hp=978d0716b79753a7b567e75c3763357b5337ebe9;hpb=ada64daa1a5b5745263b4f265f5b927194219e74;p=dpdk.git diff --git a/drivers/net/iavf/iavf_generic_flow.h b/drivers/net/iavf/iavf_generic_flow.h index 978d0716b7..0ccf5901b4 100644 --- a/drivers/net/iavf/iavf_generic_flow.h +++ b/drivers/net/iavf/iavf_generic_flow.h @@ -34,6 +34,7 @@ #define IAVF_PROT_AH (1ULL << 23) #define IAVF_PROT_L2TPV3OIP (1ULL << 24) #define IAVF_PROT_PFCP (1ULL << 25) +#define IAVF_PROT_ECPRI (1ULL << 26) /* field */ @@ -59,6 +60,7 @@ #define IAVF_L2TPV3OIP_SESSION_ID (1ULL << 45) #define IAVF_PFCP_S_FIELD (1ULL << 44) #define IAVF_PFCP_SEID (1ULL << 43) +#define IAVF_ECPRI_PC_RTC_ID (1ULL << 42) /* input set */ @@ -135,7 +137,8 @@ (IAVF_PROT_PFCP | IAVF_PFCP_S_FIELD) #define IAVF_INSET_PFCP_SEID \ (IAVF_PROT_PFCP | IAVF_PFCP_S_FIELD | IAVF_PFCP_SEID) - +#define IAVF_INSET_ECPRI \ + (IAVF_PROT_ECPRI | IAVF_ECPRI_PC_RTC_ID) /* empty pattern */ extern enum rte_flow_item_type iavf_pattern_empty[]; @@ -182,15 +185,68 @@ extern enum rte_flow_item_type iavf_pattern_eth_ipv6_icmp6[]; extern enum rte_flow_item_type iavf_pattern_eth_vlan_ipv6_icmp6[]; extern enum rte_flow_item_type iavf_pattern_eth_qinq_ipv6_icmp6[]; -/* GTPU */ +/* IPv4 GTPC */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpc[]; + +/* IPv4 GTPU (EH) */ extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu[]; -extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv4[]; extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh[]; + +/* IPv6 GTPC */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpc[]; + +/* IPv6 GTPU (EH) */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh[]; + +/* IPv4 GTPU IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv4_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv4_icmp[]; + +/* IPv4 GTPU IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv6_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_ipv6_icmp[]; + +/* IPv6 GTPU IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_ipv4_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_ipv4_icmp[]; + +/* IPv6 GTPU IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_ipv6_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_ipv6_icmp[]; + +/* IPv4 GTPU EH IPv4 */ extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv4[]; extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv4_udp[]; extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv4_tcp[]; extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv4_icmp[]; +/* IPv4 GTPU EH IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv6_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gtpu_eh_ipv6_icmp[]; + +/* IPv6 GTPU EH IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh_ipv4_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh_ipv4_icmp[]; + +/* IPv6 GTPU EH IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh_ipv6_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gtpu_eh_ipv6_icmp[]; + /* ESP */ extern enum rte_flow_item_type iavf_pattern_eth_ipv4_esp[]; extern enum rte_flow_item_type iavf_pattern_eth_ipv4_udp_esp[]; @@ -209,6 +265,9 @@ extern enum rte_flow_item_type iavf_pattern_eth_ipv6_l2tpv3[]; extern enum rte_flow_item_type iavf_pattern_eth_ipv4_pfcp[]; extern enum rte_flow_item_type iavf_pattern_eth_ipv6_pfcp[]; +/* ECPRI */ +extern enum rte_flow_item_type iavf_pattern_eth_ecpri[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_ecpri[]; extern const struct rte_flow_ops iavf_flow_ops;