net/cnxk: support IPv6 fragment flow pattern item
Support matching IPv6 fragment extension header with RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT flow pattern item. Signed-off-by: Satheesh Paul <psatheesh@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
This commit is contained in:
parent
b934e65b01
commit
a800675b06
@ -65,6 +65,7 @@ icmp = Y
|
|||||||
ipv4 = Y
|
ipv4 = Y
|
||||||
ipv6 = Y
|
ipv6 = Y
|
||||||
ipv6_ext = Y
|
ipv6_ext = Y
|
||||||
|
ipv6_frag_ext = Y
|
||||||
mark = Y
|
mark = Y
|
||||||
mpls = Y
|
mpls = Y
|
||||||
nvgre = Y
|
nvgre = Y
|
||||||
|
@ -61,6 +61,7 @@ icmp = Y
|
|||||||
ipv4 = Y
|
ipv4 = Y
|
||||||
ipv6 = Y
|
ipv6 = Y
|
||||||
ipv6_ext = Y
|
ipv6_ext = Y
|
||||||
|
ipv6_frag_ext = Y
|
||||||
mark = Y
|
mark = Y
|
||||||
mpls = Y
|
mpls = Y
|
||||||
nvgre = Y
|
nvgre = Y
|
||||||
|
@ -57,6 +57,7 @@ icmp = Y
|
|||||||
ipv4 = Y
|
ipv4 = Y
|
||||||
ipv6 = Y
|
ipv6 = Y
|
||||||
ipv6_ext = Y
|
ipv6_ext = Y
|
||||||
|
ipv6_frag_ext = Y
|
||||||
mark = Y
|
mark = Y
|
||||||
mpls = Y
|
mpls = Y
|
||||||
nvgre = Y
|
nvgre = Y
|
||||||
|
@ -15,6 +15,7 @@ enum roc_npc_item_type {
|
|||||||
ROC_NPC_ITEM_TYPE_E_TAG,
|
ROC_NPC_ITEM_TYPE_E_TAG,
|
||||||
ROC_NPC_ITEM_TYPE_IPV4,
|
ROC_NPC_ITEM_TYPE_IPV4,
|
||||||
ROC_NPC_ITEM_TYPE_IPV6,
|
ROC_NPC_ITEM_TYPE_IPV6,
|
||||||
|
ROC_NPC_ITEM_TYPE_IPV6_FRAG_EXT,
|
||||||
ROC_NPC_ITEM_TYPE_ARP_ETH_IPV4,
|
ROC_NPC_ITEM_TYPE_ARP_ETH_IPV4,
|
||||||
ROC_NPC_ITEM_TYPE_MPLS,
|
ROC_NPC_ITEM_TYPE_MPLS,
|
||||||
ROC_NPC_ITEM_TYPE_ICMP,
|
ROC_NPC_ITEM_TYPE_ICMP,
|
||||||
|
@ -594,6 +594,13 @@ npc_parse_lc(struct npc_parse_state *pst)
|
|||||||
info.len = pst->pattern->size;
|
info.len = pst->pattern->size;
|
||||||
info.hw_hdr_len = 40;
|
info.hw_hdr_len = 40;
|
||||||
break;
|
break;
|
||||||
|
case ROC_NPC_ITEM_TYPE_IPV6_FRAG_EXT:
|
||||||
|
lid = NPC_LID_LC;
|
||||||
|
lt = NPC_LT_LC_IP6_EXT;
|
||||||
|
flags = NPC_F_LC_U_IP6_FRAG;
|
||||||
|
info.len = pst->pattern->size;
|
||||||
|
info.hw_hdr_len = 40;
|
||||||
|
break;
|
||||||
case ROC_NPC_ITEM_TYPE_L3_CUSTOM:
|
case ROC_NPC_ITEM_TYPE_L3_CUSTOM:
|
||||||
lt = NPC_LT_LC_CUSTOM0;
|
lt = NPC_LT_LC_CUSTOM0;
|
||||||
info.len = pst->pattern->size;
|
info.len = pst->pattern->size;
|
||||||
|
@ -14,6 +14,9 @@ const struct cnxk_rte_flow_term_info term[] = {
|
|||||||
sizeof(struct rte_flow_item_ipv4)},
|
sizeof(struct rte_flow_item_ipv4)},
|
||||||
[RTE_FLOW_ITEM_TYPE_IPV6] = {ROC_NPC_ITEM_TYPE_IPV6,
|
[RTE_FLOW_ITEM_TYPE_IPV6] = {ROC_NPC_ITEM_TYPE_IPV6,
|
||||||
sizeof(struct rte_flow_item_ipv6)},
|
sizeof(struct rte_flow_item_ipv6)},
|
||||||
|
[RTE_FLOW_ITEM_TYPE_IPV6_FRAG_EXT] = {
|
||||||
|
ROC_NPC_ITEM_TYPE_IPV6_FRAG_EXT,
|
||||||
|
sizeof(struct rte_flow_item_ipv6_frag_ext)},
|
||||||
[RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4] = {
|
[RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4] = {
|
||||||
ROC_NPC_ITEM_TYPE_ARP_ETH_IPV4,
|
ROC_NPC_ITEM_TYPE_ARP_ETH_IPV4,
|
||||||
sizeof(struct rte_flow_item_arp_eth_ipv4)},
|
sizeof(struct rte_flow_item_arp_eth_ipv4)},
|
||||||
|
Loading…
Reference in New Issue
Block a user