[ovs-dev] [PATCH 41/62] netdev-offload-dpdk: validate mask check for disable megaflow
Tao YunXiang
taoyunxiang at cmss.chinamobile.com
Mon Dec 28 09:24:59 UTC 2020
From: Rongyin <rongyin at cmss.chinamobile.com>
Code Source From: Self Code
Description:
Validate mask check for disable megaflow
Jira: #[Optional]
市场项目编号(名称):[Optional]
---
lib/netdev-offload-dpdk.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c
index 4c0a5be..ad6302b 100644
--- a/lib/netdev-offload-dpdk.c
+++ b/lib/netdev-offload-dpdk.c
@@ -1789,11 +1789,12 @@ netdev_offload_dpdk_validate_flow(const struct match *match)
goto err;
}
*/
-
+ /* work around
if (masks->metadata || masks->skb_priority ||
masks->pkt_mark || masks->dp_hash) {
goto err;
}
+ */
/* recirc id must be zero. */
/* support recirc now so mark this checker
@@ -1810,12 +1811,15 @@ netdev_offload_dpdk_validate_flow(const struct match *match)
return -1;
}
+ /* support conntrack now so mark this checker
if (masks->ct_state || masks->ct_nw_proto ||
masks->ct_zone || masks->ct_mark ||
!ovs_u128_is_zero(masks->ct_label)) {
goto err;
}
+ */
+ /* not support conj action */
if (masks->conj_id || masks->actset_output) {
goto err;
}
@@ -1825,19 +1829,10 @@ netdev_offload_dpdk_validate_flow(const struct match *match)
goto err;
}
- /* Unsupported L3. */
- if (masks->ipv6_label || masks->ct_nw_src || masks->ct_nw_dst ||
- !is_all_zeros(&masks->ipv6_src, sizeof masks->ipv6_src) ||
- !is_all_zeros(&masks->ipv6_dst, sizeof masks->ipv6_dst) ||
- !is_all_zeros(&masks->ct_ipv6_src, sizeof masks->ct_ipv6_src) ||
- !is_all_zeros(&masks->ct_ipv6_dst, sizeof masks->ct_ipv6_dst) ||
- !is_all_zeros(&masks->nd_target, sizeof masks->nd_target) ||
- !is_all_zeros(&masks->nsh, sizeof masks->nsh) ||
- !is_all_zeros(&masks->arp_sha, sizeof masks->arp_sha) ||
- !is_all_zeros(&masks->arp_tha, sizeof masks->arp_tha)) {
+ if (!is_all_zeros(&masks->nd_target, sizeof masks->nd_target) ||
+ !is_all_zeros(&masks->nsh, sizeof masks->nsh) ){
goto err;
}
-
/* If fragmented, then don't HW accelerate - for now. */
/* move this checker to parse_flow_match
if (match_zero_wc.flow.nw_frag) {
--
1.8.3.1
More information about the dev
mailing list