[8021Q]: transfer dev_id from real device
authorUrsula Braun <braunu@de.ibm.com>
Tue, 9 Oct 2007 03:28:47 +0000 (20:28 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:54:56 +0000 (16:54 -0700)
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>
net/8021q/vlan.c

index f2bee234d361ae7ef0b957ea5398393333eefbb0..3fe4fc86055faa4765701c3e36f88fed043cfaeb 100644 (file)
@@ -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))