diff options
author | Thomas Graf <tgraf@suug.ch> | 2015-02-04 11:00:04 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-02-05 03:38:02 -0500 |
commit | db79a621835ee91d3e10177abd97f48e0a4dcf9b (patch) | |
tree | f851ee08c462a49ea1aad8206987bac93a0aff26 | |
parent | 7af348be47fd2df5d276add2167b5838d48ba044 (diff) |
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>
-rw-r--r-- | drivers/net/vxlan.c | 3 |
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, | |||
1667 | { | 1667 | { |
1668 | struct vxlanhdr_gbp *gbp; | 1668 | struct vxlanhdr_gbp *gbp; |
1669 | 1669 | ||
1670 | if (!md->gbp) | ||
1671 | return; | ||
1672 | |||
1670 | gbp = (struct vxlanhdr_gbp *)vxh; | 1673 | gbp = (struct vxlanhdr_gbp *)vxh; |
1671 | vxh->vx_flags |= htonl(VXLAN_HF_GBP); | 1674 | vxh->vx_flags |= htonl(VXLAN_HF_GBP); |
1672 | 1675 | ||