summaryrefslogtreecommitdiff
path: root/drivers/net/vxlan.c
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2012-12-07 17:02:47 +0000
committerGrant Likely <grant.likely@secretlab.ca>2012-12-07 17:02:47 +0000
commit7730cba2a50332c194f50a58b86359ea39a82bd1 (patch)
tree64c8d7228da1454c02288068e57a9c61f8b0acd0 /drivers/net/vxlan.c
parentc20151dff8a6d503c0d0cc4387c33a618cdabcb7 (diff)
parentb69f0859dc8e633c5d8c06845811588fe17e68b3 (diff)
downloadolio-linux-3.10-7730cba2a50332c194f50a58b86359ea39a82bd1.tar.xz
olio-linux-3.10-7730cba2a50332c194f50a58b86359ea39a82bd1.zip
Merge tag 'v3.7-rc8' into spi/next
Linux 3.7-rc8
Diffstat (limited to 'drivers/net/vxlan.c')
-rw-r--r--drivers/net/vxlan.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c
index 7b4adde93c0..8b5c6191707 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -1,5 +1,5 @@
/*
- * VXLAN: Virtual eXtensiable Local Area Network
+ * VXLAN: Virtual eXtensible Local Area Network
*
* Copyright (c) 2012 Vyatta Inc.
*
@@ -50,8 +50,8 @@
#define VXLAN_N_VID (1u << 24)
#define VXLAN_VID_MASK (VXLAN_N_VID - 1)
-/* VLAN + IP header + UDP + VXLAN */
-#define VXLAN_HEADROOM (4 + 20 + 8 + 8)
+/* IP header + UDP + VXLAN + Ethernet header */
+#define VXLAN_HEADROOM (20 + 8 + 8 + 14)
#define VXLAN_FLAGS 0x08000000 /* struct vxlanhdr.vx_flags required value. */
@@ -1102,6 +1102,10 @@ static int vxlan_newlink(struct net *net, struct net_device *dev,
if (!tb[IFLA_MTU])
dev->mtu = lowerdev->mtu - VXLAN_HEADROOM;
+
+ /* update header length based on lower device */
+ dev->hard_header_len = lowerdev->hard_header_len +
+ VXLAN_HEADROOM;
}
if (data[IFLA_VXLAN_TOS])