Package: vlan
Version: 1.9-3
Severity: normal
Tags: patch

I'm not sure if I should file a bug against udev or against vlan.  Since I
have a work-around for vlan, I figured I'd start here.

I have the following: /etc/udev/rules.d/70-persistent-net.rules:
ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="xx:xx:xx:xx:xx:xx", 
NAME="epub"
ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="xx:xx:xx:xx:xx:xy", 
NAME="eth0"

During boot, eth0 is renamed to epub, and eth1 is renamed to eth0.  In my
/etc/network/interfaces, I have:

auto eth0
iface eth0 inet static
        address 172.20.0.1
        network 172.20.0.0
        netmask 255.255.255.0
        broadcast 172.20.0.255

auto eth0.3
iface eth0.3 inet static
        address 10.0.3.1
        network 10.0.3.0
        netmask 255.255.255.0
        broadcast 10.0.3.255

auto eth0.8
iface eth0.8 inet static
        address 192.168.8.1
        network 192.168.8.0
        netmask 255.255.255.0
        broadcast 192.168.8.255


The stock /etc/network/if-pre-up.d/vlan fails to work, since the vlan
interface names are mysteriously _not_ named correctly after:

    vconfig add $IF_VLAN_RAW_DEVICE $VLANID

Something is appending _temp to the names, so I had to go extract the name
and manually rename the interface:

    VLANIFACE="$IF_VLAN_RAW_DEVICE.$VLANID"
    VLANIFACEBAD=$(grep ^"${VLANIFACE}"_ /proc/net/vlan/config | head -n 1 | 
cut -d" " -f1)
    ip link set down dev $VLANIFACEBAD
    ifrename -c /dev/null -i $VLANIFACEBAD -n $VLANIFACE
    ip link set up dev $VLANIFACE

Attached is the patch for my work-around.  Clearly, this isn't the right
answer, but I've been at a loss for what's causing it.

Thanks,

-Kees

-- 
Kees Cook                                            @debian.org
--- vlan.dpkg-new	2009-03-03 12:04:20.000000000 -0800
+++ vlan.kees	2009-03-03 13:03:41.000000000 -0800
@@ -53,6 +53,13 @@
     fi
     ip link set up dev $IF_VLAN_RAW_DEVICE
     vconfig add $IF_VLAN_RAW_DEVICE $VLANID
+
+    VLANIFACE="$IF_VLAN_RAW_DEVICE.$VLANID"
+    VLANIFACEBAD=$(grep ^"${VLANIFACE}"_ /proc/net/vlan/config | head -n 1 | cut -d" " -f1)
+    ip link set down dev $VLANIFACEBAD
+    ifrename -c /dev/null -i $VLANIFACEBAD -n $VLANIFACE
+    ip link set up dev $VLANIFACE
+
 fi
 
 # This is not vlan specific, and should actually go somewhere else.

Reply via email to