Renamed interfaces / VLANs brokenness

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey all,

We're seeing a case where interface renaming, eg:

ip link set eth1 name ethbroken
ip link set eth4 name eth1
ip link set ethbroken name eth4

which we are using to work around a broken NIC is confusing 802.1q VLAN
support.

This is on a router that normally has 14 VLAN interfaces.  We had an
issue with eth1, so we decided to swap the name with eth4 as above and
move the cable (temporarily until we replace the NIC).

To test the broken interface, I set up a test VLAN, 99, on the now eth4
interface.  After some testing, I noticed that eth1 VLAN 139 (the last
vlan on eth1) stopped working for some reason.  When I did a tcpdump -n
-i eth1.139, I see this in the kernel logs:

eth1.139: dev_set_promiscuity(master, 1)
device eth4 entered promiscuous mode
device eth1.139 entered promiscuous mode
eth1.139: dev_set_promiscuity(master, -1)
device eth4 left promiscuous mode
device eth1.139 left promiscuous mode

Note the "eth4" master interface!  However, when I pick another VLAN
(138), I see this:

eth1.138: dev_set_promiscuity(master, 1)
device eth1 entered promiscuous mode
device eth1.138 entered promiscuous mode
eth1.138: dev_set_promiscuity(master, -1)
device eth1 left promiscuous mode
device eth1.138 left promiscuous mode

Somehow the master interface for VLAN 139 (the last one set up on eth1
amongst 13 others) seems to have become confused with the eth4 interface
and the test VLAN that I set up, even though they are two different
interfaces and two different VLAN numbers.  I'm not sure if this has to
do with interface renaming or just some other problem as we haven't set
up different VLANs on different interfaces before.

VLANs were created with "vconfig add eth1 139; ifconfig eth1.139 up"-type
commands.  This is on 2.4.27-rc1, which needs an update, but I see no
VLAN-related changes in 2.4.27 or 2.4.28 that could affect this.

Contents of /proc/net/vlan/config:

VLAN Dev name    | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth4.99        | 99  | eth4
eth1.139       | 139  | eth4
eth1.10        | 10  | eth1
eth1.20        | 20  | eth1
eth1.30        | 30  | eth1
eth1.70        | 70  | eth1
eth1.98        | 98  | eth1
eth1.100       | 100  | eth1
eth1.112       | 112  | eth1
eth1.113       | 113  | eth1
eth1.115       | 115  | eth1
eth1.116       | 116  | eth1
eth1.118       | 118  | eth1
eth1.132       | 132  | eth1
eth1.133       | 133  | eth1
eth1.138       | 138  | eth1
eth1.139       | 139  | eth1

Contents of /proc/net/vlan/eth1.139:

eth1.139  VID: 139       REORDER_HDR: 1  dev->priv_flags: 1
         total frames received:      1369529
          total bytes received:     63011672
      Broadcast/Multicast Rcvd:       997973

      total frames transmitted:            0
       total bytes transmitted:            0
            total headroom inc:            0
           total encap on xmit:            0
Device: eth1
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
EGRESSS priority Mappings: 


Note how this file says eth1, but config says eth4!

I did up/down the test VLAN (eth4.99) a few times, but never touched
eth1.139.  After the renaming, eth1 is an e1000 and eth4 is a tg3.
Any ideas?

Thanks,

Simon-
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux