summaryrefslogtreecommitdiffstats
path: root/net/8021q
diff options
context:
space:
mode:
authorUrsula Braun <braunu@de.ibm.com>2007-10-08 20:28:47 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2007-10-10 16:54:56 -0700
commit3607c44676583e80122c1fed23f34d003cdd6979 (patch)
treeb31dc2844af7a9f4cd574957fe17f17acb86991d /net/8021q
parent45b17f48eaf5e5ff4202454985557b3240141caa (diff)
downloadlinux-0-day-3607c44676583e80122c1fed23f34d003cdd6979.tar.gz
linux-0-day-3607c44676583e80122c1fed23f34d003cdd6979.tar.xz
[8021Q]: transfer dev_id from real device
A net_device struct provides field dev_id. It is used for unique ipv6 generation in case of shared network cards (as for the OSA network cards of IBM System z). If VLAN devices are built on top of such shared network cards, this dev_id information needs to be transferred to the VLAN device. Signed-off-by: Ursula Braun <braunu@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q')
-rw-r--r--net/8021q/vlan.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index f2bee234d361a..3fe4fc86055fa 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -331,6 +331,9 @@ static int vlan_dev_init(struct net_device *dev)
(1<<__LINK_STATE_DORMANT))) |
(1<<__LINK_STATE_PRESENT);
+ /* ipv6 shared card related stuff */
+ dev->dev_id = real_dev->dev_id;
+
if (is_zero_ether_addr(dev->dev_addr))
memcpy(dev->dev_addr, real_dev->dev_addr, dev->addr_len);
if (is_zero_ether_addr(dev->broadcast))