net, sched: add skb_at_tc_ingress helper
authorDaniel Borkmann <daniel@iogearbox.net>
Thu, 7 Jan 2016 14:50:22 +0000 (15:50 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 10 Jan 2016 22:54:28 +0000 (17:54 -0500)
Add a skb_at_tc_ingress() as this will be needed elsewhere as well and
can hide the ugly ifdef.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sch_generic.h
net/sched/cls_bpf.c

index b2a8e6338576d3e91f0906297e6b34e7db0eade3..636a362a0e03574f0564d2f0a7b7a5fecfc1e3bd 100644 (file)
@@ -407,6 +407,15 @@ bool tcf_destroy(struct tcf_proto *tp, bool force);
 void tcf_destroy_chain(struct tcf_proto __rcu **fl);
 int skb_do_redirect(struct sk_buff *);
 
+static inline bool skb_at_tc_ingress(const struct sk_buff *skb)
+{
+#ifdef CONFIG_NET_CLS_ACT
+       return G_TC_AT(skb->tc_verd) & AT_INGRESS;
+#else
+       return false;
+#endif
+}
+
 /* Reset all TX qdiscs greater then index of a device.  */
 static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i)
 {
index 5faaa5425f7b72293fdd80e1b27405fcf479e207..b3c8bb4aeef5ce82d0675769dd61d8152fd16c5e 100644 (file)
@@ -79,12 +79,8 @@ static int cls_bpf_classify(struct sk_buff *skb, const struct tcf_proto *tp,
                            struct tcf_result *res)
 {
        struct cls_bpf_head *head = rcu_dereference_bh(tp->root);
+       bool at_ingress = skb_at_tc_ingress(skb);
        struct cls_bpf_prog *prog;
-#ifdef CONFIG_NET_CLS_ACT
-       bool at_ingress = G_TC_AT(skb->tc_verd) & AT_INGRESS;
-#else
-       bool at_ingress = false;
-#endif
        int ret = -1;
 
        if (unlikely(!skb_mac_header_was_set(skb)))