summaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
authorSimon Horman <simon.horman@netronome.com>2017-10-02 10:41:16 +0200
committerDavid S. Miller <davem@davemloft.net>2017-10-02 11:06:07 -0700
commita38402bc50709aac76796a955a15152a76e3fd4e (patch)
treeeeb66e8e40f0b732f7f91ee887d2f4e09283e1a9 /net/sched
parent32f16369e59fcc505c5ed93a6a8cad3d5636b463 (diff)
downloadop-kernel-dev-a38402bc50709aac76796a955a15152a76e3fd4e.zip
op-kernel-dev-a38402bc50709aac76796a955a15152a76e3fd4e.tar.gz
flow_dissector: dissect tunnel info
Move dissection of tunnel info from the flower classifier to the flow dissector where all other dissection occurs. This should not have any behavioural affect on other users of the flow dissector. Signed-off-by: Simon Horman <simon.horman@netronome.com> Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched')
-rw-r--r--net/sched/cls_flower.c25
1 files changed, 0 insertions, 25 deletions
diff --git a/net/sched/cls_flower.c b/net/sched/cls_flower.c
index d230cb4..db831ac 100644
--- a/net/sched/cls_flower.c
+++ b/net/sched/cls_flower.c
@@ -152,37 +152,12 @@ static int fl_classify(struct sk_buff *skb, const struct tcf_proto *tp,
struct cls_fl_filter *f;
struct fl_flow_key skb_key;
struct fl_flow_key skb_mkey;
- struct ip_tunnel_info *info;
if (!atomic_read(&head->ht.nelems))
return -1;
fl_clear_masked_range(&skb_key, &head->mask);
- info = skb_tunnel_info(skb);
- if (info) {
- struct ip_tunnel_key *key = &info->key;
-
- switch (ip_tunnel_info_af(info)) {
- case AF_INET:
- skb_key.enc_control.addr_type =
- FLOW_DISSECTOR_KEY_IPV4_ADDRS;
- skb_key.enc_ipv4.src = key->u.ipv4.src;
- skb_key.enc_ipv4.dst = key->u.ipv4.dst;
- break;
- case AF_INET6:
- skb_key.enc_control.addr_type =
- FLOW_DISSECTOR_KEY_IPV6_ADDRS;
- skb_key.enc_ipv6.src = key->u.ipv6.src;
- skb_key.enc_ipv6.dst = key->u.ipv6.dst;
- break;
- }
-
- skb_key.enc_key_id.keyid = tunnel_id_to_key32(key->tun_id);
- skb_key.enc_tp.src = key->tp_src;
- skb_key.enc_tp.dst = key->tp_dst;
- }
-
skb_key.indev_ifindex = skb->skb_iif;
/* skb_flow_dissect() does not set n_proto in case an unknown protocol,
* so do it rather here.
OpenPOWER on IntegriCloud