Do not allow using eth and udp header types if non-extended pedit kABI
is being used. Other protocol parsers already have this check.

Signed-off-by: Amir Vadai <a...@vadai.me>
---
 tc/p_eth.c | 3 +++
 tc/p_udp.c | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/tc/p_eth.c b/tc/p_eth.c
index ad3e28f80eb6..2d2f96ca2f0f 100644
--- a/tc/p_eth.c
+++ b/tc/p_eth.c
@@ -34,6 +34,9 @@ parse_eth(int *argc_p, char ***argv_p,
        if (argc < 2)
                return -1;
 
+       if (!sel->extended)
+               return -1;
+
        tkey->htype = TCA_PEDIT_KEY_EX_HDR_TYPE_ETH;
 
        if (strcmp(*argv, "type") == 0) {
diff --git a/tc/p_udp.c b/tc/p_udp.c
index a56a1b519254..3916d9586040 100644
--- a/tc/p_udp.c
+++ b/tc/p_udp.c
@@ -34,6 +34,9 @@ parse_udp(int *argc_p, char ***argv_p,
        if (argc < 2)
                return -1;
 
+       if (!sel->extended)
+               return -1;
+
        tkey->htype = TCA_PEDIT_KEY_EX_HDR_TYPE_UDP;
 
        if (strcmp(*argv, "sport") == 0) {
-- 
2.12.2

Reply via email to