看板 FB_stable 關於我們 聯絡資訊
Hello, While playing with vnet jails I've discovered the following oddity, = which probably is not what's expected to happen : First I'm creating two epair(4) interfaces : [16:51]root@nas:/home/ndenev# ifconfig epair0 create epair0a [16:51]root@nas:/home/ndenev# ifconfig epair1 create epair1a Then I'm creating two vnet jails : [16:51]root@nas:/home/ndenev# jail -c vnet name=3Dtest1 = host.hostname=3Dtest1 path=3D/ persist [16:51]root@nas:/home/ndenev# jail -c vnet name=3Dtest2 = host.hostname=3Dtest2 path=3D/ persist Now push one side of the epairs to each vnet : [16:51]root@nas:/home/ndenev# ifconfig epair0b vnet test1 [16:52]root@nas:/home/ndenev# ifconfig epair1b vnet test2 Rename the interfaces in the vnet jails : [16:52]root@nas:/home/ndenev# jexec test1 ifconfig epair0b name eth0 [16:52]root@nas:/home/ndenev# jexec test2 ifconfig epair1b name eth0 And now I'm destroying the vnets, so all of the interfaces are = "reclaimed" by the host : [16:52]root@nas:/home/ndenev# jail -r test1 [16:52]root@nas:/home/ndenev# jail -r test2 And that's what ifconfig shows after this : [16:52]root@nas:/home/ndenev# ifconfig =20 <... snip lo0 and physical interface ...> epair0a: flags=3D8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 = mtu 1500 ether 02:8c:53:00:03:0a epair1a: flags=3D8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 = mtu 1500 ether 02:b6:49:00:05:0a eth0: flags=3D8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu = 1500 ether 02:8c:53:00:04:0b ether 02:b6:49:00:06:0b Instead of two interfaces, I'm seeing one with to lladdrs, because of = the interface names being the same. Then I'm trying to destroy them : [16:52]root@nas:/home/ndenev# ifconfig eth0 destroy [16:53]root@nas:/home/ndenev# ifconfig=20 <... snip lo0 and physical interface ...> epair1a: flags=3D8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 = mtu 1500 ether 02:b6:49:00:05:0a eth0: flags=3D8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu = 1500 ether 02:b6:49:00:06:0b [16:53]root@nas:/home/ndenev# ifconfig eth0 destroy So in this case there may be not a clean way to address one of the = interfaces specifically (i.e. destroy only the second one)? I've not investigated further, but I'm thinking probably this is just a = "bug" in ifconfig interpreting/parsing the information from the kernel. Maybe a solution is to extend ifconfig to be able print the interface = list along with the ifIndex values and also manage the interfaces by = index? Auto renaming also is also probably a possible solution (i.e. eth0_1 , = eth0_2 ) as these are interfaces coming from destroyed vnet's and are = not likely to be in use. (but still sounds scary :) ) Regards, Nikolay= _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"