NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/52733: vioif(4) does not work with VLANs unless in promiscuous mode



>Number:         52733
>Category:       kern
>Synopsis:       vioif(4) does not work with VLANs unless in promiscuous mode
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Nov 17 19:35:00 +0000 2017
>Originator:     Jared McNeill
>Release:        8.0_BETA
>Organization:
>Environment:
>Description:
The vioif(4) driver does not attempt to program the VLAN filter. As a result, communication is only possible when the interface is in promiscuous mode.
>How-To-Repeat:
Setup two VMs on VirtualBox 5.1.30 on an internal network.

On host A:
 # ifconfig virtio0 up
 # ifconfig vlan0 create
 # ifconfig vlan0 vlan 1 vlanif virtio0
 # ifconfig vlan0 inet 10.0.0.1 netmask 255.255.255.0 up

On host B:
 # ifconfig virtio0 up
 # ifconfig vlan0 create
 # ifconfig vlan0 vlan 1 vlanif virtio0
 # ifconfig vlan0 inet 10.0.0.2 netmask 255.255.255.0 up

Attempt to ping from host A to B will time out:
 # ping 10.0.0.2

Start tcpdump on both sides:
 # tcpdump -i virtio0

Attempt to ping from host A to B will succeed:
 # ping 10.0.0.2

>Fix:
The FreeBSD driver configures a VLAN filter:

https://svnweb.freebsd.org/base/head/sys/dev/virtio/network/if_vtnet.c?view=markup&pathrev=313711#l3396

Not sure if configured VLAN IDs are accessible from the vlan(4) parent interface on NetBSD.



Home | Main Index | Thread Index | Old Index