diff options
author | Ursula Braun <braunu@de.ibm.com> | 2007-10-09 03:28:47 (GMT) |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 23:54:56 (GMT) |
commit | 3607c44676583e80122c1fed23f34d003cdd6979 (patch) | |
tree | b31dc2844af7a9f4cd574957fe17f17acb86991d /net/8021q | |
parent | 45b17f48eaf5e5ff4202454985557b3240141caa (diff) | |
download | linux-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.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index f2bee23..3fe4fc8 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)) |