Quickly creating VLANs?

Ivan Voras ivoras at fer.hr
Sat Jun 16 01:25:56 UTC 2007


Hi

I have a problem I can demonstrate and reproduce with the following script:

----
#!/bin/sh

ifconfig vlan600 destroy
ifconfig vlan600 create
ifconfig vlan600 vlan 600 vlandev fxp1
ifconfig vlan600 inet 10.20.0.1 netmask 255.255.255.0

ifconfig vlan601 destroy
ifconfig vlan601 create
ifconfig vlan601 vlan 601 vlandev fxp1
ifconfig vlan601 inet 10.21.0.5/29
----

The addresses don't matter. The problem is that the IP address is "lost"
- it's not assigned to the vlan devices:

# ifconfig vlan600
vlan600: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        ether 00:07:e9:d4:2b:39
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 600 parent interface: fxp1
# ifconfig vlan601
vlan601: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        ether 00:07:e9:d4:2b:39
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 601 parent interface: fxp1

If I insert "sleep 1" before IP gets assigned, it works, so it seems
like there's a timing issue.

The machine already has about 100 vlan devices, so it may happen only
when there are lots of then. Leaving "sleep 1" is not an option since
the entire thing would take 100 s to complete.

I can reproduce this 100% on two different machines running 6.2-RELEASE,
also with different NICs. Does someone else feel this effect?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20070616/f7dd262b/signature.pgp


More information about the freebsd-net mailing list