X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fethdev%2Frte_flow.c;h=a93f68abbc1634fa90654917cc92bd47cfddce1c;hb=a75ab6e519431fcd00ba435fdb7de8dac516e081;hp=14294017edc7c6a2fa8ab9e3351f76fb30ab5741;hpb=dc4d860e8a89e8c037d60466eb93b515af9cd0b2;p=dpdk.git diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c index 14294017ed..a93f68abbc 100644 --- a/lib/ethdev/rte_flow.c +++ b/lib/ethdev/rte_flow.c @@ -54,11 +54,13 @@ rte_flow_conv_copy(void *buf, const void *data, const size_t size, /** * Allow PMD private flow item */ - size_t sz = type >= 0 ? desc[type].size : sizeof(void *); + bool rte_type = type >= 0; + + size_t sz = rte_type ? desc[type].size : sizeof(void *); if (buf == NULL || data == NULL) return 0; rte_memcpy(buf, data, (size > sz ? sz : size)); - if (desc[type].desc_fn) + if (rte_type && desc[type].desc_fn) sz += desc[type].desc_fn(size > 0 ? buf : NULL, data); return sz; } @@ -156,6 +158,8 @@ static const struct rte_flow_desc_data rte_flow_desc_item[] = { MK_FLOW_ITEM(REPRESENTED_PORT, sizeof(struct rte_flow_item_ethdev)), MK_FLOW_ITEM_FN(FLEX, sizeof(struct rte_flow_item_flex), rte_flow_item_flex_conv), + MK_FLOW_ITEM(L2TPV2, sizeof(struct rte_flow_item_l2tpv2)), + MK_FLOW_ITEM(PPP, sizeof(struct rte_flow_item_ppp)), }; /** Generate flow_action[] entry. */ @@ -280,12 +284,12 @@ rte_flow_dynf_metadata_register(void) if (flag < 0) goto error; rte_flow_dynf_metadata_offs = offset; - rte_flow_dynf_metadata_mask = (1ULL << flag); + rte_flow_dynf_metadata_mask = RTE_BIT64(flag); return 0; error: rte_flow_dynf_metadata_offs = -1; - rte_flow_dynf_metadata_mask = 0ULL; + rte_flow_dynf_metadata_mask = UINT64_C(0); return -rte_errno; }