Hello

On 2007-02-26 Marco d'Itri wrote:
> On Feb 26, Loïc Minier <[EMAIL PROTECTED]> wrote:
> 
> >  Hence, I'm reassigning to udev; @Marco: do you confirm this looks like
> >  an udev bug and it should not attempt to rename VLAN interfaces?  Or
> Please show the complete /etc/udev/rules.d/z25_persistent-net.rules
> and the output of udevinfo -a -p /sys/class/net/eth0.101 .
It's below.

> The DRIVERS=="?*" statement in the rules file is supposed to prevent
> renaming the vlan subinterfaces and indeed it used to do so when I first
> added it.
Here the normal eth0 rule seems to match as the VLAN interface indeed has the
same MAC as eth0.

bye,

-christian-



# grep -v ^# /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    netmask   255.255.255.0
    network   192.168.42.0
    gateway   192.168.42.1
    address   192.168.42.109
    broadcast 192.168.42.255

iface eth0.42 inet static
    netmask   255.255.255.0
    network   10.0.0.0
    address   10.0.0.109
    broadcast 10.0.0.255




# cat /etc/udev/rules.d/z25_persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_aliases
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line
# and always set the INTERFACE_OLD.

# PCI device 11ab:4320 (skge)
ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="00:11:2f:d6:28:55", 
NAME="eth0", ENV{INTERFACE_OLD}="$kernel"

# UNKNOWN ieee1394 device (/class/net/eth1)
ACTION=="add", SUBSYSTEM=="net", SYSFS{address}=="00:02:3c:00:31:04:1c:a2", 
NAME="eth1", ENV{INTERFACE_OLD}="$kernel"

# Firewire device 00e0180000a86b8d (ohci1394)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:e0:18:00:00:a8:6b:8d", 
NAME="eth1"




# ifup eth0.42
WARNING:  Could not open /proc/net/vlan/config.  Maybe you need to load the 
8021q module, or maybe you are not using PROCFS??
Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
Added VLAN with VID == 42 to IF -:eth0:-
SIOCSIFADDR: No such device
eth0.42: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBRDADDR: No such device
eth0.42: ERROR while getting interface flags: No such device
eth0.42: ERROR while getting interface flags: No such device
Failed to bring up eth0.42.


udevinfo -a -p /sys/class/net/eth0

Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/class/net/eth0':
    KERNEL=="eth0"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{weight}=="64"
    ATTR{tx_queue_len}=="1000"
    ATTR{flags}=="0x1003"
    ATTR{mtu}=="1500"
    ATTR{operstate}=="up"
    ATTR{dormant}=="0"
    ATTR{carrier}=="1"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{address}=="00:11:2f:d6:28:55"
    ATTR{link_mode}=="0"
    ATTR{type}=="1"
    ATTR{features}=="0x1023"
    ATTR{ifindex}=="2"
    ATTR{iflink}=="2"
    ATTR{addr_len}=="6"

  looking at parent device '/devices/pci0000:00/0000:00:0a.0':
    KERNELS=="0000:00:0a.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="skge"
    ATTRS{broken_parity_status}=="0"
    ATTRS{enable}=="1"
    ATTRS{modalias}=="pci:v000011ABd00004320sv00001043sd0000811Abc02sc00i00"
    ATTRS{local_cpus}=="ffffffff"
    ATTRS{irq}=="17"
    ATTRS{class}=="0x020000"
    ATTRS{subsystem_device}=="0x811a"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{device}=="0x4320"
    ATTRS{vendor}=="0x11ab"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""


# ip link
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:11:2f:d6:28:55 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
    link/ieee1394 00:02:3c:00:31:04:1c:a2 brd ff:ff:ff:ff:ff:ff:ff:ff
4: sit0: <NOARP> mtu 1480 qdisc noop 
    link/sit 0.0.0.0 brd 0.0.0.0
5: [EMAIL PROTECTED]: <BROADCAST,MULTICAST> mtu 1500 qdisc noop 
    link/ether 00:11:2f:d6:28:55 brd ff:ff:ff:ff:ff:ff


# udevinfo -a -p /sys/class/net/eth0.42_rename

Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.

  looking at device '/class/net/eth0.42_rename':
    KERNEL=="eth0.42_rename"
    SUBSYSTEM=="net"
    DRIVER==""
    ATTR{weight}=="0"
    ATTR{tx_queue_len}=="0"
    ATTR{flags}=="0x1002"
    ATTR{mtu}=="1500"
    ATTR{operstate}=="down"
    ATTR{broadcast}=="ff:ff:ff:ff:ff:ff"
    ATTR{address}=="00:11:2f:d6:28:55"
    ATTR{link_mode}=="0"
    ATTR{type}=="1"
    ATTR{features}=="0x0"
    ATTR{ifindex}=="5"
    ATTR{iflink}=="2"
    ATTR{addr_len}=="6"





Reply via email to