net: sched: remove NET_CLS_IND config option
authorJiri Pirko <jiri@mellanox.com>
Sat, 15 Jun 2019 09:03:49 +0000 (11:03 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 15 Jun 2019 21:06:13 +0000 (14:06 -0700)
This config option makes only couple of lines optional.
Two small helpers and an int in couple of cls structs.

Remove the config option and always compile this in.
This saves the user from unexpected surprises when he adds
a filter with ingress device match which is silently ignored
in case the config option is not set.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
22 files changed:
arch/mips/configs/malta_defconfig
arch/mips/configs/malta_kvm_defconfig
arch/mips/configs/malta_kvm_guest_defconfig
arch/mips/configs/malta_qemu_32r6_defconfig
arch/mips/configs/maltaaprp_defconfig
arch/mips/configs/maltasmvp_defconfig
arch/mips/configs/maltasmvp_eva_defconfig
arch/mips/configs/maltaup_defconfig
arch/mips/configs/maltaup_xpa_defconfig
arch/mips/configs/rb532_defconfig
arch/powerpc/configs/ppc6xx_defconfig
arch/sh/configs/se7712_defconfig
arch/sh/configs/se7721_defconfig
arch/sh/configs/titan_defconfig
include/net/pkt_cls.h
include/uapi/linux/pkt_cls.h
net/sched/Kconfig
net/sched/cls_flower.c
net/sched/cls_fw.c
net/sched/cls_u32.c
tools/include/uapi/linux/pkt_cls.h
tools/testing/selftests/tc-testing/config

index 0ee5e677662ec91eeb61c4286e6e8a0d799a5a0d..0de92ac1ca64558b462770ace018fafbabc794f0 100644 (file)
@@ -210,7 +210,6 @@ CONFIG_NET_ACT_NAT=m
 CONFIG_NET_ACT_PEDIT=m
 CONFIG_NET_ACT_SIMP=m
 CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_CLS_IND=y
 CONFIG_CFG80211=m
 CONFIG_MAC80211=m
 CONFIG_MAC80211_MESH=y
index 041bffac043be78322ec67952cd844e6794314e2..efc3abace04894da0b4bdc22b403b74c943b9d95 100644 (file)
@@ -215,7 +215,6 @@ CONFIG_NET_ACT_NAT=m
 CONFIG_NET_ACT_PEDIT=m
 CONFIG_NET_ACT_SIMP=m
 CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_CLS_IND=y
 CONFIG_CFG80211=m
 CONFIG_MAC80211=m
 CONFIG_MAC80211_MESH=y
index 511065e621824df3ecb067d919f526bf012d3062..c6ceeca4394d44b00551829398d8e7ffd1f1213f 100644 (file)
@@ -212,7 +212,6 @@ CONFIG_NET_ACT_NAT=m
 CONFIG_NET_ACT_PEDIT=m
 CONFIG_NET_ACT_SIMP=m
 CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_CLS_IND=y
 CONFIG_CFG80211=m
 CONFIG_MAC80211=m
 CONFIG_MAC80211_MESH=y
index 299088043164acfd69882c76bc174749f0b001fb..e6c600dc1814cbae49f4a37a89032ded4ac3a7b0 100644 (file)
@@ -74,7 +74,6 @@ CONFIG_NET_CLS_RSVP=m
 CONFIG_NET_CLS_RSVP6=m
 CONFIG_NET_CLS_ACT=y
 CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_CLS_IND=y
 # CONFIG_WIRELESS is not set
 CONFIG_DEVTMPFS=y
 CONFIG_BLK_DEV_LOOP=y
index 2b4b3a24f6378a0c224b95839bf2a5f44fba1f70..82b44b774553d02e9258142d2fc15ee1f906844c 100644 (file)
@@ -76,7 +76,6 @@ CONFIG_NET_CLS_RSVP=m
 CONFIG_NET_CLS_RSVP6=m
 CONFIG_NET_CLS_ACT=y
 CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_CLS_IND=y
 # CONFIG_WIRELESS is not set
 CONFIG_DEVTMPFS=y
 CONFIG_BLK_DEV_LOOP=y
index 425ddfd7cd78c53e8d0117c2d0bcc23fd444d5a1..4190fc6189a06058a593cfb2be28f7150614eac6 100644 (file)
@@ -77,7 +77,6 @@ CONFIG_NET_CLS_RSVP=m
 CONFIG_NET_CLS_RSVP6=m
 CONFIG_NET_CLS_ACT=y
 CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_CLS_IND=y
 # CONFIG_WIRELESS is not set
 CONFIG_DEVTMPFS=y
 CONFIG_BLK_DEV_LOOP=y
index 8beaa7ba1e52507eebb3c5558a4dbf537d4c2a68..a13c10e910ecc5810cfe1a32d2ed22093a262bb1 100644 (file)
@@ -78,7 +78,6 @@ CONFIG_NET_CLS_RSVP=m
 CONFIG_NET_CLS_RSVP6=m
 CONFIG_NET_CLS_ACT=y
 CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_CLS_IND=y
 # CONFIG_WIRELESS is not set
 CONFIG_DEVTMPFS=y
 CONFIG_BLK_DEV_LOOP=y
index 6e8b95ceb54a89ee710307c6d68b641f639b91e1..b35f1fc690fb05b4579ae1a485afb55ed52d36e8 100644 (file)
@@ -75,7 +75,6 @@ CONFIG_NET_CLS_RSVP=m
 CONFIG_NET_CLS_RSVP6=m
 CONFIG_NET_CLS_ACT=y
 CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_CLS_IND=y
 # CONFIG_WIRELESS is not set
 CONFIG_DEVTMPFS=y
 CONFIG_BLK_DEV_LOOP=y
index 6c026db96ff9300360fc133382bf36ee438ccede..56861aef27560d67e3464f663e919d3bd99261f6 100644 (file)
@@ -212,7 +212,6 @@ CONFIG_NET_ACT_NAT=m
 CONFIG_NET_ACT_PEDIT=m
 CONFIG_NET_ACT_SIMP=m
 CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_CLS_IND=y
 CONFIG_CFG80211=m
 CONFIG_MAC80211=m
 CONFIG_MAC80211_MESH=y
index 50632a3103dd837f715fa44bad5272f2291da8e7..864c70fbe6687ae4496be47dfda3664a09aee3dd 100644 (file)
@@ -103,7 +103,6 @@ CONFIG_GACT_PROB=y
 CONFIG_NET_ACT_MIRRED=m
 CONFIG_NET_ACT_IPT=m
 CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_CLS_IND=y
 CONFIG_HAMRADIO=y
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 CONFIG_MTD=y
index 7c6baf6df139aaa1764e8e2c24d947e47312d762..aa51b9b66fa2ef3f13104f50b0243e04b5f81556 100644 (file)
@@ -301,7 +301,6 @@ CONFIG_NET_ACT_NAT=m
 CONFIG_NET_ACT_PEDIT=m
 CONFIG_NET_ACT_SIMP=m
 CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_CLS_IND=y
 CONFIG_IRDA=m
 CONFIG_IRLAN=m
 CONFIG_IRNET=m
index 5a1097641247893cd0f373d308462b5a8b865ffb..1e116529735f0734e50e40e977309a8fb7454010 100644 (file)
@@ -63,7 +63,6 @@ CONFIG_NET_SCH_NETEM=y
 CONFIG_NET_CLS_TCINDEX=y
 CONFIG_NET_CLS_ROUTE4=y
 CONFIG_NET_CLS_FW=y
-CONFIG_NET_CLS_IND=y
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 CONFIG_MTD=y
 CONFIG_MTD_BLOCK=y
index 9c0ef13bee10d3ac5e53a9503fc77fe4c9925c59..c66e512719ab97de42ca9141c4a99ddc1a72d51c 100644 (file)
@@ -62,7 +62,6 @@ CONFIG_NET_SCH_NETEM=y
 CONFIG_NET_CLS_TCINDEX=y
 CONFIG_NET_CLS_ROUTE4=y
 CONFIG_NET_CLS_FW=y
-CONFIG_NET_CLS_IND=y
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 CONFIG_MTD=y
 CONFIG_MTD_BLOCK=y
index 822fa9e96f743e5b7240410308c8289bf951f43b..171ab05ce4fc36f490d5895ca8f99aafc0fd8f0a 100644 (file)
@@ -142,7 +142,6 @@ CONFIG_GACT_PROB=y
 CONFIG_NET_ACT_MIRRED=m
 CONFIG_NET_ACT_IPT=m
 CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_CLS_IND=y
 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
 CONFIG_FW_LOADER=m
 CONFIG_CONNECTOR=m
index 514e3c80ecc1152474228e0ea53b6037cc18f482..720f2b32fc2f31f1ca0c182afd134540357c7d2d 100644 (file)
@@ -7,6 +7,7 @@
 #include <net/sch_generic.h>
 #include <net/act_api.h>
 #include <net/flow_offload.h>
+#include <net/net_namespace.h>
 
 /* TC action not accessible from user space */
 #define TC_ACT_REINSERT                (TC_ACT_VALUE_MAX + 1)
@@ -576,9 +577,6 @@ static inline int tcf_valid_offset(const struct sk_buff *skb,
                      (ptr <= (ptr + len)));
 }
 
-#ifdef CONFIG_NET_CLS_IND
-#include <net/net_namespace.h>
-
 static inline int
 tcf_change_indev(struct net *net, struct nlattr *indev_tlv,
                 struct netlink_ext_ack *extack)
@@ -605,7 +603,6 @@ tcf_match_indev(struct sk_buff *skb, int ifindex)
                return false;
        return ifindex == skb->skb_iif;
 }
-#endif /* CONFIG_NET_CLS_IND */
 
 int tc_setup_flow_action(struct flow_action *flow_action,
                         const struct tcf_exts *exts);
index a93680fc4bfaed358a1bfb5a2c642b8e6a934959..8cc6b6777b3cfd782850c9dd468bf98669d98638 100644 (file)
@@ -295,7 +295,7 @@ enum {
        TCA_FW_UNSPEC,
        TCA_FW_CLASSID,
        TCA_FW_POLICE,
-       TCA_FW_INDEV, /*  used by CONFIG_NET_CLS_IND */
+       TCA_FW_INDEV,
        TCA_FW_ACT, /* used by CONFIG_NET_CLS_ACT */
        TCA_FW_MASK,
        __TCA_FW_MAX
index d104f7ee26c7634858da94f2b69870f75f487f8c..360fdd3eaa77113e8c10f1c5ea6be64529fc9a64 100644 (file)
@@ -941,14 +941,6 @@ config NET_IFE_SKBTCINDEX
         tristate "Support to encoding decoding skb tcindex on IFE action"
         depends on NET_ACT_IFE
 
-config NET_CLS_IND
-       bool "Incoming device classification"
-       depends on NET_CLS_U32 || NET_CLS_FW
-       ---help---
-         Say Y here to extend the u32 and fw classifier to support
-         classification based on the incoming device. This option is
-         likely to disappear in favour of the metadata ematch.
-
 endif # NET_SCHED
 
 config NET_SCH_FIFO
index c388372df0e2f9f77b1e51dd2eb3c75138186a29..84c7f279855b2b3bc616763ced26597975010f0c 100644 (file)
@@ -1010,7 +1010,7 @@ static int fl_set_key(struct net *net, struct nlattr **tb,
 {
        __be16 ethertype;
        int ret = 0;
-#ifdef CONFIG_NET_CLS_IND
+
        if (tb[TCA_FLOWER_INDEV]) {
                int err = tcf_change_indev(net, tb[TCA_FLOWER_INDEV], extack);
                if (err < 0)
@@ -1018,7 +1018,6 @@ static int fl_set_key(struct net *net, struct nlattr **tb,
                key->indev_ifindex = err;
                mask->indev_ifindex = 0xffffffff;
        }
-#endif
 
        fl_set_key_val(tb, key->eth.dst, TCA_FLOWER_KEY_ETH_DST,
                       mask->eth.dst, TCA_FLOWER_KEY_ETH_DST_MASK,
index 4dab833f66cb64a5443865b4ee424a3b5067e750..c9496c920d6fac544e8fbbe4a40965b47b4d7aad 100644 (file)
@@ -8,9 +8,6 @@
  * Karlis Peisenieks <karlis@mt.lv> : 990415 : fw_walk off by one
  * Karlis Peisenieks <karlis@mt.lv> : 990415 : fw_delete killed all the filter (and kernel).
  * Alex <alex@pilotsoft.com> : 2004xxyy: Added Action extension
- *
- * JHS: We should remove the CONFIG_NET_CLS_IND from here
- * eventually when the meta match extension is made available
  */
 
 #include <linux/module.h>
@@ -37,9 +34,7 @@ struct fw_filter {
        struct fw_filter __rcu  *next;
        u32                     id;
        struct tcf_result       res;
-#ifdef CONFIG_NET_CLS_IND
        int                     ifindex;
-#endif /* CONFIG_NET_CLS_IND */
        struct tcf_exts         exts;
        struct tcf_proto        *tp;
        struct rcu_work         rwork;
@@ -67,10 +62,8 @@ static int fw_classify(struct sk_buff *skb, const struct tcf_proto *tp,
                     f = rcu_dereference_bh(f->next)) {
                        if (f->id == id) {
                                *res = f->res;
-#ifdef CONFIG_NET_CLS_IND
                                if (!tcf_match_indev(skb, f->ifindex))
                                        continue;
-#endif /* CONFIG_NET_CLS_IND */
                                r = tcf_exts_exec(skb, &f->exts, res);
                                if (r < 0)
                                        continue;
@@ -222,7 +215,6 @@ static int fw_set_parms(struct net *net, struct tcf_proto *tp,
                tcf_bind_filter(tp, &f->res, base);
        }
 
-#ifdef CONFIG_NET_CLS_IND
        if (tb[TCA_FW_INDEV]) {
                int ret;
                ret = tcf_change_indev(net, tb[TCA_FW_INDEV], extack);
@@ -230,7 +222,6 @@ static int fw_set_parms(struct net *net, struct tcf_proto *tp,
                        return ret;
                f->ifindex = ret;
        }
-#endif /* CONFIG_NET_CLS_IND */
 
        err = -EINVAL;
        if (tb[TCA_FW_MASK]) {
@@ -276,9 +267,7 @@ static int fw_change(struct net *net, struct sk_buff *in_skb,
 
                fnew->id = f->id;
                fnew->res = f->res;
-#ifdef CONFIG_NET_CLS_IND
                fnew->ifindex = f->ifindex;
-#endif /* CONFIG_NET_CLS_IND */
                fnew->tp = f->tp;
 
                err = tcf_exts_init(&fnew->exts, net, TCA_FW_ACT,
@@ -405,14 +394,12 @@ static int fw_dump(struct net *net, struct tcf_proto *tp, void *fh,
        if (f->res.classid &&
            nla_put_u32(skb, TCA_FW_CLASSID, f->res.classid))
                goto nla_put_failure;
-#ifdef CONFIG_NET_CLS_IND
        if (f->ifindex) {
                struct net_device *dev;
                dev = __dev_get_by_index(net, f->ifindex);
                if (dev && nla_put_string(skb, TCA_FW_INDEV, dev->name))
                        goto nla_put_failure;
        }
-#endif /* CONFIG_NET_CLS_IND */
        if (head->mask != 0xFFFFFFFF &&
            nla_put_u32(skb, TCA_FW_MASK, head->mask))
                goto nla_put_failure;
index c7727de5e073144b8a258a48ab8a5bb50032fbd8..be9e46c77e8be66fc5fbbd1d8ba0c19e7234a4b3 100644 (file)
@@ -20,9 +20,6 @@
  *     pure RSVP doesn't need such a general approach and can use
  *     much simpler (and faster) schemes, sort of cls_rsvp.c.
  *
- *     JHS: We should remove the CONFIG_NET_CLS_IND from here
- *     eventually when the meta match extension is made available
- *
  *     nfmark match added by Catalin(ux aka Dino) BOIE <catab at umbrella.ro>
  */
 
@@ -48,9 +45,7 @@ struct tc_u_knode {
        u32                     handle;
        struct tc_u_hnode __rcu *ht_up;
        struct tcf_exts         exts;
-#ifdef CONFIG_NET_CLS_IND
        int                     ifindex;
-#endif
        u8                      fshift;
        struct tcf_result       res;
        struct tc_u_hnode __rcu *ht_down;
@@ -176,12 +171,10 @@ check_terminal:
                        if (n->sel.flags & TC_U32_TERMINAL) {
 
                                *res = n->res;
-#ifdef CONFIG_NET_CLS_IND
                                if (!tcf_match_indev(skb, n->ifindex)) {
                                        n = rcu_dereference_bh(n->next);
                                        goto next_knode;
                                }
-#endif
 #ifdef CONFIG_CLS_U32_PERF
                                __this_cpu_inc(n->pf->rhit);
 #endif
@@ -761,7 +754,6 @@ static int u32_set_parms(struct net *net, struct tcf_proto *tp,
                tcf_bind_filter(tp, &n->res, base);
        }
 
-#ifdef CONFIG_NET_CLS_IND
        if (tb[TCA_U32_INDEV]) {
                int ret;
                ret = tcf_change_indev(net, tb[TCA_U32_INDEV], extack);
@@ -769,7 +761,6 @@ static int u32_set_parms(struct net *net, struct tcf_proto *tp,
                        return -EINVAL;
                n->ifindex = ret;
        }
-#endif
        return 0;
 }
 
@@ -817,9 +808,7 @@ static struct tc_u_knode *u32_init_knode(struct net *net, struct tcf_proto *tp,
        new->handle = n->handle;
        RCU_INIT_POINTER(new->ht_up, n->ht_up);
 
-#ifdef CONFIG_NET_CLS_IND
        new->ifindex = n->ifindex;
-#endif
        new->fshift = n->fshift;
        new->res = n->res;
        new->flags = n->flags;
@@ -1351,14 +1340,12 @@ static int u32_dump(struct net *net, struct tcf_proto *tp, void *fh,
                if (tcf_exts_dump(skb, &n->exts) < 0)
                        goto nla_put_failure;
 
-#ifdef CONFIG_NET_CLS_IND
                if (n->ifindex) {
                        struct net_device *dev;
                        dev = __dev_get_by_index(net, n->ifindex);
                        if (dev && nla_put_string(skb, TCA_U32_INDEV, dev->name))
                                goto nla_put_failure;
                }
-#endif
 #ifdef CONFIG_CLS_U32_PERF
                gpf = kzalloc(sizeof(struct tc_u32_pcnt) +
                              n->sel.nkeys * sizeof(u64),
@@ -1422,9 +1409,7 @@ static int __init init_u32(void)
 #ifdef CONFIG_CLS_U32_PERF
        pr_info("    Performance counters on\n");
 #endif
-#ifdef CONFIG_NET_CLS_IND
        pr_info("    input device check on\n");
-#endif
 #ifdef CONFIG_NET_CLS_ACT
        pr_info("    Actions configured\n");
 #endif
index 401d0c1e612d3a291688cf6f90e4d2803f7c09dd..12153771396af4c6a7e3cce6154af221d83f1d59 100644 (file)
@@ -257,7 +257,7 @@ enum {
        TCA_FW_UNSPEC,
        TCA_FW_CLASSID,
        TCA_FW_POLICE,
-       TCA_FW_INDEV, /*  used by CONFIG_NET_CLS_IND */
+       TCA_FW_INDEV,
        TCA_FW_ACT, /* used by CONFIG_NET_CLS_ACT */
        TCA_FW_MASK,
        __TCA_FW_MAX
index b235efd553672ba2e95e16efa042c3d3e51ce3b8..1adc4f9bb795c29a688a05b884a4cbe69e4990e3 100644 (file)
@@ -45,5 +45,4 @@ CONFIG_NET_ACT_TUNNEL_KEY=m
 CONFIG_NET_IFE_SKBMARK=m
 CONFIG_NET_IFE_SKBPRIO=m
 CONFIG_NET_IFE_SKBTCINDEX=m
-CONFIG_NET_CLS_IND=y
 CONFIG_NET_SCH_FIFO=y