[ovs-dev] [PATCH V2 3/3] netdev-tc-offloads: Parse ip related fields only if eth type is ip
Roi Dayan
roid at mellanox.com
Thu Aug 3 13:38:25 UTC 2017
From: Paul Blakey <paulb at mellanox.com>
There is no need to parse ip related fields if eth type is not ip.
Signed-off-by: Paul Blakey <paulb at mellanox.com>
Reviewed-by: Roi Dayan <roid at mellanox.com>
---
lib/netdev-tc-offloads.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/lib/netdev-tc-offloads.c b/lib/netdev-tc-offloads.c
index a490180..e51e638 100644
--- a/lib/netdev-tc-offloads.c
+++ b/lib/netdev-tc-offloads.c
@@ -307,19 +307,19 @@ parse_tc_flower_to_match(struct tc_flower *flower,
match_set_dl_type(match, key->eth_type);
}
- if (key->ip_proto && is_ip_any(&match->flow)) {
- match_set_nw_proto(match, key->ip_proto);
- }
+ if (is_ip_any(&match->flow)) {
+ if (key->ip_proto) {
+ match_set_nw_proto(match, key->ip_proto);
+ }
- match_set_nw_src_masked(match, key->ipv4.ipv4_src, mask->ipv4.ipv4_src);
- match_set_nw_dst_masked(match, key->ipv4.ipv4_dst, mask->ipv4.ipv4_dst);
+ match_set_nw_src_masked(match, key->ipv4.ipv4_src, mask->ipv4.ipv4_src);
+ match_set_nw_dst_masked(match, key->ipv4.ipv4_dst, mask->ipv4.ipv4_dst);
- match_set_ipv6_src_masked(match,
- &key->ipv6.ipv6_src, &mask->ipv6.ipv6_src);
- match_set_ipv6_dst_masked(match,
- &key->ipv6.ipv6_dst, &mask->ipv6.ipv6_dst);
+ match_set_ipv6_src_masked(match,
+ &key->ipv6.ipv6_src, &mask->ipv6.ipv6_src);
+ match_set_ipv6_dst_masked(match,
+ &key->ipv6.ipv6_dst, &mask->ipv6.ipv6_dst);
- if (is_ip_any(&match->flow)) {
if (key->ip_proto == IPPROTO_TCP) {
match_set_tp_dst_masked(match, key->tcp_dst, mask->tcp_dst);
match_set_tp_src_masked(match, key->tcp_src, mask->tcp_src);
--
2.7.4
More information about the dev
mailing list