summaryrefslogtreecommitdiffstats
path: root/drivers/net/vxlan.c
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2015-02-04 17:00:04 +0100
committerDavid S. Miller <davem@davemloft.net>2015-02-05 09:38:02 +0100
commitdb79a621835ee91d3e10177abd97f48e0a4dcf9b (patch)
treef851ee08c462a49ea1aad8206987bac93a0aff26 /drivers/net/vxlan.c
parentnet: ep93xx_eth: Delete unnecessary checks before the function call "kfree" (diff)
downloadlinux-db79a621835ee91d3e10177abd97f48e0a4dcf9b.tar.xz
linux-db79a621835ee91d3e10177abd97f48e0a4dcf9b.zip
vxlan: Only set has-GBP bit in header if any other bits would be set
This allows for a VXLAN-GBP socket to talk to a Linux VXLAN socket by not setting any of the bits. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--drivers/net/vxlan.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index c184717e8b28..d08072c10aa9 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -1667,6 +1667,9 @@ static void vxlan_build_gbp_hdr(struct vxlanhdr *vxh, u32 vxflags,
{
struct vxlanhdr_gbp *gbp;
+ if (!md->gbp)
+ return;
+
gbp = (struct vxlanhdr_gbp *)vxh;
vxh->vx_flags |= htonl(VXLAN_HF_GBP);