diff options
| author | Daniel Borkmann <daniel@iogearbox.net> | 2016-03-09 03:00:02 +0100 |
|---|---|---|
| committer | Michael Bestas <mkbestas@lineageos.org> | 2022-04-19 00:51:37 +0300 |
| commit | 340293f93556eb2b31f4216ccf5b7ec7d145d6d7 (patch) | |
| tree | 4f082843e5dcd43db38a95be5c0c2af5329d15a2 /drivers/net | |
| parent | 86c651d631b89084f7bc5925c73091f8fbb0e630 (diff) | |
ip_tunnel: add support for setting flow label via collect metadata
This patch extends udp_tunnel6_xmit_skb() to pass in the IPv6 flow label
from call sites. Currently, there's no such option and it's always set to
zero when writing ip6_flow_hdr(). Add a label member to ip_tunnel_key, so
that flow-based tunnels via collect metadata frontends can make use of it.
vxlan and geneve will be converted to add flow label support separately.
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Chatur27 <jasonbright2709@gmail.com>
Diffstat (limited to 'drivers/net')
| -rw-r--r-- | drivers/net/geneve.c | 2 | ||||
| -rw-r--r-- | drivers/net/vxlan.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index a4b6a058c203..19854416190e 100644 --- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c @@ -965,7 +965,7 @@ static netdev_tx_t geneve6_xmit_skb(struct sk_buff *skb, struct net_device *dev, ttl = ttl ? : ip6_dst_hoplimit(dst); } err = udp_tunnel6_xmit_skb(dst, gs6->sock->sk, skb, dev, - &fl6.saddr, &fl6.daddr, prio, ttl, + &fl6.saddr, &fl6.daddr, prio, ttl, 0, sport, geneve->dst_port, !udp_csum); return NETDEV_TX_OK; diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 4d44ec5b7cd7..d93e86055d5e 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c @@ -1783,7 +1783,7 @@ static int vxlan6_xmit_skb(struct dst_entry *dst, struct sock *sk, skb_set_inner_protocol(skb, htons(ETH_P_TEB)); udp_tunnel6_xmit_skb(dst, sk, skb, dev, saddr, daddr, prio, - ttl, src_port, dst_port, + ttl, 0, src_port, dst_port, !!(vxflags & VXLAN_F_UDP_ZERO_CSUM6_TX)); return 0; err: |
