[ovs-dev] [PATCH ovs-2.8] lib/tc: reject offloading of non-Ethernet packets

Louis Peens louis.peens at netronome.com
Mon Sep 10 18:37:40 UTC 2018


When a packet is marked with the special ethtype of OFP_DL_TYPE_NOT_ETH_TYPE
it got wrongly installed into tc datapath as a match on a packet with that
ethtype. This prevents that from happening.

Signed-off-by: Louis Peens <louis.peens at netronome.com>
Reviewed-by: Pieter Jansen van Vuuren <pieter.jansenvanvuuren at netronome.com>
Reviewed-by: Simon Horman <horms+renesas at verge.net.au>
---
 lib/netdev-tc-offloads.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/lib/netdev-tc-offloads.c b/lib/netdev-tc-offloads.c
index 8504c93..a694651 100644
--- a/lib/netdev-tc-offloads.c
+++ b/lib/netdev-tc-offloads.c
@@ -648,6 +648,10 @@ test_key_and_mask(struct match *match)
                         "offloading attribute icmp_code isn't supported");
             return EOPNOTSUPP;
         }
+    } else if (key->dl_type == htons(OFP_DL_TYPE_NOT_ETH_TYPE)) {
+        VLOG_DBG_RL(&rl,
+                    "offloading of non-ethernet packets isn't supported");
+        return EOPNOTSUPP;
     }
     if (is_ip_any(key) && key->nw_proto == IPPROTO_TCP && mask->tcp_flags) {
         if (mask->tcp_flags) {
-- 
2.7.4



More information about the dev mailing list