summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUrsula Braun2007-10-09 05:28:47 +0200
committerDavid S. Miller2007-10-11 01:54:56 +0200
commit3607c44676583e80122c1fed23f34d003cdd6979 (patch)
treeb31dc2844af7a9f4cd574957fe17f17acb86991d
parent[IPSEC]: Move RO-specific output code into xfrm6_mode_ro.c (diff)
downloadkernel-qcow2-linux-3607c44676583e80122c1fed23f34d003cdd6979.tar.gz
kernel-qcow2-linux-3607c44676583e80122c1fed23f34d003cdd6979.tar.xz
kernel-qcow2-linux-3607c44676583e80122c1fed23f34d003cdd6979.zip
[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>
-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 f2bee234d361..3fe4fc86055f 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))