Date: Sun, 11 Dec 2016 18:34:48 +0100 From: Daniel Tihanyi <tetragir@fastmail.fm> To: freebsd-net@freebsd.org Subject: Re: bce vlan stripping limitations Message-ID: <1481477688.1299.6.camel@fastmail.fm> In-Reply-To: <E6036F9F-97CB-4518-B738-9AE087521167@public-internet.co.uk> References: <1C233AAF-E7F3-4FE9-8936-A36F827F4137@public-internet.co.uk> <E6036F9F-97CB-4518-B738-9AE087521167@public-internet.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Hardware VLAN stripping is not really what you need right now, you are looking for VLAN tagging. If a network interface can send and receive tagged packets, it looks something like this: %ifconfig em0 inet em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=4219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM ,TSO4,WOL_MAGIC,VLAN_HWTSO> Despite the network interface not supporting hardware VLAN tagging you can still use VLANs, but it will be done in software. 1. Add the following line to /boot/loader.conf: if_vlan_load="YES" 2. Reboot, or load the kernel module manually: # kldload if_vlan 3. To create the VLAN interface, add the following line to /etc/rc.conf: vlans_bce0="304" ifconfig_bce0_304="up" This interface will be named named bce0.304 4. Add this interface to bridge1, again in /etc/rc.conf: cloned_interfaces="bridge1 tap1" ifconfig_bridge1="addm bce0.304 addm tap1" 5. Reboot, or issue this command: # service netif restart This way every packet coming from the bhyve guest will be tagged with VLAN 304 by the host and also every packet which comes tagged with VLAN 304 will be passed to tap1. Daniel On Sun, 2016-12-11 at 15:27 +0000, Tom Beard via freebsd-net wrote: > Keen observers will have noticed that I pasted the output from the > wrong vlan1. The correct output is below. > > vlan1: flags=8942<BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric > 0 mtu 1500 > ether 84:2b:2b:0b:b3:72 > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > media: Ethernet autoselect (1000baseT <full-duplex>) > status: active > vlan: 304 vlanpcp: 0 parent interface: bce0 > groups: vlan > > > On 11 Dec 2016, at 14:44, Tom Beard via freebsd-net <freebsd-net@fr > > eebsd.org> wrote: > > > > Hi all > > > > I’m having issues with vlan handling on a bce interface on 11.0- > > RELEASE. From what I’ve read, the bce driver supports hardware > > vlan stripping and is indeed doing this. My intent was to create a > > vlan interface bound to the bce interface and bridge this to a tap > > interface to use with a bhyve VM (as below). > > > > Outbound traffic from the VM is correctly bridged from tap1 to > > vlan1 then tagged with vlan 304 and passed out on bce0 > > > > Inbound traffic tagged with vlan 304 on bce0 never makes it to > > vlan0. > > > > From what I can tell this is caused by vlan stripping on the bce0 > > interface and it looks like I can’t disable it leaving me with > > little option but to buy a new network card. > > > > Can anyone validate that I’m correct here and this is a known > > limitation or am I barking up completely the wrong tree? > > > > Thanks > > Tom > > > > bce0: <QLogic NetXtreme II BCM5716 1000Base-T (C0)> mem 0xda000000- > > 0xdbffffff irq 36 at device 0.0 on pci1 > > > > bce0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> > > metric 0 mtu 1500 > > options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE> > > ether 84:2b:2b:0b:b3:72 > > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > > media: Ethernet autoselect (1000baseT <full-duplex>) > > status: active > > > > bridge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric > > 0 mtu 1500 > > ether 02:eb:af:cf:7c:01 > > nd6 options=1<PERFORMNUD> > > groups: bridge > > id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 > > maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200 > > root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0 > > member: tap1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> > > ifmaxaddr 0 port 11 priority 128 path cost 2000000 > > member: vlan1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP> > > ifmaxaddr 0 port 9 priority 128 path cost 55 > > > > vlan1: flags=8102<BROADCAST,PROMISC,MULTICAST> metric 0 mtu 1500 > > ether 00:00:00:00:00:00 > > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > > vlan: 0 vlanpcp: 0 parent interface: <none> > > groups: vlan > > > > tap1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> > > metric 0 mtu 1500 > > options=80000<LINKSTATE> > > ether 00:bd:3a:17:4c:02 > > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> > > media: Ethernet autoselect > > status: active > > groups: tap > > Opened by PID 12880 > > > > _______________________________________________ > > freebsd-net@freebsd.org mailing list > > https://lists.freebsd.org/mailman/listinfo/freebsd-net > > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.o > > rg" > > _______________________________________________ > freebsd-net@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org > "
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1481477688.1299.6.camel>