Patch "vxlan: fix missing options_len update on RX with collect metadata" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
vxlan: fix missing options_len update on RX with collect metadata
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
vxlan-fix-missing-options_len-update-on-rx-with-collect-metadata.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Sat Apr 16 10:02:53 PDT 2016
From: Daniel Borkmann <[email protected]>
Date: Wed, 2 Mar 2016 02:32:08 +0100
Subject: vxlan: fix missing options_len update on RX with collect metadata
From: Daniel Borkmann <[email protected]>
[ Upstream commit 4024fcf70556311521e7b6cf79fa50e16f31013a ]
When signalling to metadata consumers that the metadata_dst entry carries additional GBP extension data for vxlan (TUNNEL_VXLAN_OPT), the dst's vxlan_metadata information is populated, but options_len is left to zero. F.e. in ovs, ovs_flow_key_extract() checks for options_len before extracting the data through ip_tunnel_info_opts_get().
Geneve uses ip_tunnel_info_opts_set() helper in receive path, which sets options_len internally, vxlan however uses ip_tunnel_info_opts(), so when filling vxlan_metadata, we do need to update options_len.
--- drivers/net/vxlan.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/net/vxlan.c +3 -1
@@ -1306,8 +1306,10 @@ static int vxlan_udp_encap_recv(struct s gbp = (struct vxlanhdr_gbp *)vxh; md->gbp =ntohs (gbp->policy_id); -if (tun_dst) +if (tun_dst) { tun_dst->u.tun_info.key.tun_flags |=TUNNEL_VXLAN_OPT ; + tun_dst->u.tun_info.options_len =sizeof (*md); + }if (gbp->dont_learn) md->gbp |=VXLAN_GBP_DONT_LEARN ;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/tun-bpf-fix-suspicious-rcu-usage-in-tun_-attach-detach-_filter.patch queue-4.4/vxlan-fix-missing-options_len-update-on-rx-with-collect-metadata.patch queue-4.4/mld-igmp-fix-reserved-tailroom-calculation.patch