|
Description
|
I found a problem during the Clearview project development, that a "dladm
create-vlan" operation will mysteriously cause an interface to be plumbed.
After some investigation, I found that the problem is related to interaction
of a VLAN minor node creation and the ip_rcm rcm module, and this problem
also exists in Nevada: that an interface will be plumbed when you tries to
snoop a VLAN.
Below are the steps to reproduce the problem:
# ifconfig bge1
ifconfig: status: SIOCGLIFFLAGS: bge1: no such interface
# touch /etc/hostname.bge1
# snoop -d bge1001
Using device bge1001 (promiscuous mode)
^C
# ifconfig bge1
bge1: flags=201000802<BROADCAST,MULTICAST,IPv4,CoS> mtu 1500 index 5
inet 0.0.0.0 netmask 0
ether 0:3:ba:50:bd:ea
I believe this is a bug in the ip_rcm module, that when it handles a minor
node creating event, it should exclude the ones for VLANs (just like it
excludes those for pseudo devices today), but it become a problem only when
the stack instance project tries to create the style-1 minor node for VLAN interfaces.
Not sure the current cat/subcat is correct. Feel free to change it.
This is not strictly a VLAN problem. For instance, suppose a
physical IP interface is plumbed after boot, and an /etc/hostname.<if>
file exists. If this plumb operation causes the driver to attach,
then a sysevent will be generated, and in turn the ip_rcm code will
think a DR event has happened, and configure the IP interface
according to the /etc/hostname.<if> file. This will conflict with
the administrators configuration and cause significant headaches.
|