[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