forked from luck/tmp_suning_uos_patched
net/sched: cls_flower: Fix missing addr_type in classify
Since we now use a non zero mask on addr_type, we are matching on its
value (IPV4/IPV6). So before this fix, matching on enc_src_ip/enc_dst_ip
failed in SW/classify path since its value was zero.
This patch sets the proper value of addr_type for encapsulated packets.
Fixes: 970bfcd097
('net/sched: cls_flower: Use mask for addr_type')
Signed-off-by: Paul Blakey <paulb@mellanox.com>
Reviewed-by: Hadar Hen Zion <hadarh@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5701659004
commit
0df0f207aa
|
@ -153,10 +153,14 @@ static int fl_classify(struct sk_buff *skb, const struct tcf_proto *tp,
|
||||||
|
|
||||||
switch (ip_tunnel_info_af(info)) {
|
switch (ip_tunnel_info_af(info)) {
|
||||||
case AF_INET:
|
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.src = key->u.ipv4.src;
|
||||||
skb_key.enc_ipv4.dst = key->u.ipv4.dst;
|
skb_key.enc_ipv4.dst = key->u.ipv4.dst;
|
||||||
break;
|
break;
|
||||||
case AF_INET6:
|
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.src = key->u.ipv6.src;
|
||||||
skb_key.enc_ipv6.dst = key->u.ipv6.dst;
|
skb_key.enc_ipv6.dst = key->u.ipv6.dst;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user