X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fcnxk%2Fcnxk_flow.c;h=06301b9ecb073b305699c86b9dd7f3f224ba0ebe;hb=6baa15684c5a2ea3f4d7a6f4cfc7f30d86a51fea;hp=ff962c141d6f521170cb4afaec84a250e2e36646;hpb=75902770ae2d8dc6be2f5aec15f4a7e2dead9847;p=dpdk.git diff --git a/drivers/net/cnxk/cnxk_flow.c b/drivers/net/cnxk/cnxk_flow.c index ff962c141d..06301b9ecb 100644 --- a/drivers/net/cnxk/cnxk_flow.c +++ b/drivers/net/cnxk/cnxk_flow.c @@ -14,6 +14,9 @@ const struct cnxk_rte_flow_term_info term[] = { sizeof(struct rte_flow_item_ipv4)}, [RTE_FLOW_ITEM_TYPE_IPV6] = {ROC_NPC_ITEM_TYPE_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] = { ROC_NPC_ITEM_TYPE_ARP_ETH_IPV4, sizeof(struct rte_flow_item_arp_eth_ipv4)}, @@ -207,6 +210,7 @@ cnxk_map_actions(struct rte_eth_dev *eth_dev, const struct rte_flow_attr *attr, case RTE_FLOW_ACTION_TYPE_SECURITY: in_actions[i].type = ROC_NPC_ACTION_TYPE_SEC; + in_actions[i].conf = actions->conf; break; case RTE_FLOW_ACTION_TYPE_OF_POP_VLAN: in_actions[i].type = ROC_NPC_ACTION_TYPE_VLAN_STRIP; @@ -299,7 +303,14 @@ cnxk_flow_validate(struct rte_eth_dev *eth_dev, return rc; } - return roc_npc_flow_parse(npc, &in_attr, in_pattern, in_actions, &flow); + rc = roc_npc_flow_parse(npc, &in_attr, in_pattern, in_actions, &flow); + + if (rc) { + rte_flow_error_set(error, 0, rc, NULL, + "Flow validation failed"); + return rc; + } + return 0; } struct roc_npc_flow *