summaryrefslogtreecommitdiffstats
path: root/net/sched/cls_route.c
diff options
context:
space:
mode:
authorPedro Tammela <pctammela@mojatatu.com>2022-12-06 10:55:13 -0300
committerDavid S. Miller <davem@davemloft.net>2022-12-09 09:18:07 +0000
commit9f3101dca3a7c69027c65770ac28803768efefa5 (patch)
treec0260cb8a962dbc3ec94000c349417719eb1da2e /net/sched/cls_route.c
parent871cf386dd16705b1e08942efd02c58801293d01 (diff)
downloadlinux-stable-9f3101dca3a7c69027c65770ac28803768efefa5.tar.gz
linux-stable-9f3101dca3a7c69027c65770ac28803768efefa5.tar.bz2
linux-stable-9f3101dca3a7c69027c65770ac28803768efefa5.zip
net/sched: avoid indirect classify functions on retpoline kernels
Expose the necessary tc classifier functions and wire up cls_api to use direct calls in retpoline kernels. Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> Reviewed-by: Jamal Hadi Salim <jhs@mojatatu.com> Reviewed-by: Victor Nogueira <victor@mojatatu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/cls_route.c')
-rw-r--r--net/sched/cls_route.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c
index 9e43b929d4ca..d0c53724d3e8 100644
--- a/net/sched/cls_route.c
+++ b/net/sched/cls_route.c
@@ -17,6 +17,7 @@
#include <net/netlink.h>
#include <net/act_api.h>
#include <net/pkt_cls.h>
+#include <net/tc_wrapper.h>
/*
* 1. For now we assume that route tags < 256.
@@ -121,8 +122,9 @@ static inline int route4_hash_wild(void)
return 0; \
}
-static int route4_classify(struct sk_buff *skb, const struct tcf_proto *tp,
- struct tcf_result *res)
+TC_INDIRECT_SCOPE int route4_classify(struct sk_buff *skb,
+ const struct tcf_proto *tp,
+ struct tcf_result *res)
{
struct route4_head *head = rcu_dereference_bh(tp->root);
struct dst_entry *dst;