X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fiavf%2Fiavf_generic_flow.h;h=4794d1fb80b60c68a344e3e76eab1bddccedff92;hb=7483341ae5533c5d5fa080a5d229e6f2daf03ea5;hp=f7bdd094e1ff25727bf29920812f65d91cb37f32;hpb=f91c7b2da11b82fea8396110676a37247b6f6a0d;p=dpdk.git diff --git a/drivers/net/iavf/iavf_generic_flow.h b/drivers/net/iavf/iavf_generic_flow.h index f7bdd094e1..4794d1fb80 100644 --- a/drivers/net/iavf/iavf_generic_flow.h +++ b/drivers/net/iavf/iavf_generic_flow.h @@ -61,6 +61,7 @@ #define IAVF_PFCP_S_FIELD (1ULL << 44) #define IAVF_PFCP_SEID (1ULL << 43) #define IAVF_ECPRI_PC_RTC_ID (1ULL << 42) +#define IAVF_IP_PKID (1ULL << 41) /* input set */ @@ -84,6 +85,8 @@ (IAVF_PROT_IPV4_OUTER | IAVF_IP_PROTO) #define IAVF_INSET_IPV4_TTL \ (IAVF_PROT_IPV4_OUTER | IAVF_IP_TTL) +#define IAVF_INSET_IPV4_ID \ + (IAVF_PROT_IPV4_OUTER | IAVF_IP_PKID) #define IAVF_INSET_IPV6_SRC \ (IAVF_PROT_IPV6_OUTER | IAVF_IP_SRC) #define IAVF_INSET_IPV6_DST \ @@ -94,6 +97,8 @@ (IAVF_PROT_IPV6_OUTER | IAVF_IP_TTL) #define IAVF_INSET_IPV6_TC \ (IAVF_PROT_IPV6_OUTER | IAVF_IP_TOS) +#define IAVF_INSET_IPV6_ID \ + (IAVF_PROT_IPV6_OUTER | IAVF_IP_PKID) #define IAVF_INSET_TUN_IPV4_SRC \ (IAVF_PROT_IPV4_INNER | IAVF_IP_SRC) @@ -105,6 +110,16 @@ (IAVF_PROT_IPV4_INNER | IAVF_IP_PROTO) #define IAVF_INSET_TUN_IPV4_TTL \ (IAVF_PROT_IPV4_INNER | IAVF_IP_TTL) +#define IAVF_INSET_TUN_IPV6_SRC \ + (IAVF_PROT_IPV6_INNER | IAVF_IP_SRC) +#define IAVF_INSET_TUN_IPV6_DST \ + (IAVF_PROT_IPV6_INNER | IAVF_IP_DST) +#define IAVF_INSET_TUN_IPV6_NEXT_HDR \ + (IAVF_PROT_IPV6_INNER | IAVF_IP_PROTO) +#define IAVF_INSET_TUN_IPV6_HOP_LIMIT \ + (IAVF_PROT_IPV6_INNER | IAVF_IP_TTL) +#define IAVF_INSET_TUN_IPV6_TC \ + (IAVF_PROT_IPV6_INNER | IAVF_IP_TOS) #define IAVF_INSET_TCP_SRC_PORT \ (IAVF_PROT_TCP_OUTER | IAVF_SPORT) @@ -193,6 +208,9 @@ extern enum rte_flow_item_type iavf_pattern_eth_qinq_ipv4_icmp[]; extern enum rte_flow_item_type iavf_pattern_eth_ipv6[]; extern enum rte_flow_item_type iavf_pattern_eth_vlan_ipv6[]; extern enum rte_flow_item_type iavf_pattern_eth_qinq_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_frag_ext[]; +extern enum rte_flow_item_type iavf_pattern_eth_vlan_ipv6_frag_ext[]; +extern enum rte_flow_item_type iavf_pattern_eth_qinq_ipv6_frag_ext[]; extern enum rte_flow_item_type iavf_pattern_eth_ipv6_udp[]; extern enum rte_flow_item_type iavf_pattern_eth_vlan_ipv6_udp[]; extern enum rte_flow_item_type iavf_pattern_eth_qinq_ipv6_udp[]; @@ -226,6 +244,94 @@ 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 GRE IPv4 UDP GTPU IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv4_tcp[]; + +/* IPv4 GRE IPv4 UDP GTPU IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv6_tcp[]; + +/* IPv4 GRE IPv6 UDP GTPU IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv4_tcp[]; + +/* IPv4 GRE IPv6 UDP GTPU IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv6_tcp[]; + +/* IPv6 GRE IPv4 UDP GTPU IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv4_tcp[]; + +/* IPv6 GRE IPv4 UDP GTPU IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv6_tcp[]; + +/* IPv6 GRE IPv6 UDP GTPU IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv4_tcp[]; + +/* IPv6 GRE IPv6 UDP GTPU IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv6_tcp[]; + +/* IPv4 GRE IPv4 UDP GTPU EH IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv4_tcp[]; + +/* IPv4 GRE IPv4 UDP GTPU EH IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv6_tcp[]; + +/* IPv4 GRE IPv6 UDP GTPU EH IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv4_tcp[]; + +/* IPv4 GRE IPv6 UDP GTPU EH IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv6_tcp[]; + +/* IPv6 GRE IPv4 UDP GTPU EH IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv4_tcp[]; + +/* IPv6 GRE IPv4 UDP GTPU EH IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv6_tcp[]; + +/* IPv6 GRE IPv6 UDP GTPU EH IPv4 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv4_tcp[]; + +/* IPv6 GRE IPv6 UDP GTPU EH IPv6 */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv6_tcp[]; + /* 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[]; @@ -290,6 +396,20 @@ extern enum rte_flow_item_type iavf_pattern_eth_ipv6_pfcp[]; extern enum rte_flow_item_type iavf_pattern_eth_ecpri[]; extern enum rte_flow_item_type iavf_pattern_eth_ipv4_ecpri[]; +/* GRE */ +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv4_gre_ipv6_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_tcp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv4_udp[]; +extern enum rte_flow_item_type iavf_pattern_eth_ipv6_gre_ipv6_udp[]; + extern const struct rte_flow_ops iavf_flow_ops; /* pattern structure */