X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fnet%2Fenic%2Fenic_flow.c;h=cdfdc904a652cc00eb0ed9a814696e7559146268;hb=56175f74eaa565cdfde931d83be1db9faaa81667;hp=cebca7d55a99655b9198126f870757130505bc67;hpb=04e8ec74192ae4bc537e4854410551255bf85cf5;p=dpdk.git diff --git a/drivers/net/enic/enic_flow.c b/drivers/net/enic/enic_flow.c index cebca7d55a..cdfdc904a6 100644 --- a/drivers/net/enic/enic_flow.c +++ b/drivers/net/enic/enic_flow.c @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include #include #include @@ -1208,7 +1208,8 @@ enic_copy_action_v2(struct enic *enic, const struct rte_flow_action_mark *mark = (const struct rte_flow_action_mark *) actions->conf; - + if (enic->use_noscatter_vec_rx_handler) + return ENOTSUP; if (overlap & MARK) return ENOTSUP; overlap |= MARK; @@ -1228,6 +1229,8 @@ enic_copy_action_v2(struct enic *enic, break; } case RTE_FLOW_ACTION_TYPE_FLAG: { + if (enic->use_noscatter_vec_rx_handler) + return ENOTSUP; if (overlap & MARK) return ENOTSUP; overlap |= MARK; @@ -1389,7 +1392,7 @@ enic_dump_filter(const struct filter_v2 *filt) if (gp->mask_flags & FILTER_GENERIC_1_IPV6) sprintf(ip6, "%s ", - (gp->val_flags & FILTER_GENERIC_1_IPV4) + (gp->val_flags & FILTER_GENERIC_1_IPV6) ? "ip6(y)" : "ip6(n)"); else sprintf(ip6, "%s ", "ip6(x)"); @@ -1595,6 +1598,8 @@ enic_flow_parse(struct rte_eth_dev *dev, return -rte_errno; } enic_filter->type = enic->flow_filter_mode; + if (enic->adv_filters) + enic_filter->type = FILTER_DPDK_1; ret = enic_copy_filter(pattern, enic_filter_cap, enic, enic_filter, error); return ret;