Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Mar 2017 16:15:25 -0400
From:      Vincent Olivier <vincent@up4.com>
To:        FreeBSD virtualization <freebsd-virtualization@freebsd.org>
Subject:   Re: tap on lagg ?
Message-ID:  <EA922A0D-8888-4FD7-85E5-1403A64619BC@up4.com>
In-Reply-To: <58D15063.7010002@omnilan.de>
References:  <11A193E5-555F-4733-B192-49A5FEDCFDEA@up4.com> <66637AFA-D092-4EBB-B998-1BB2B2EE2CB4@up4.com> <1207dbb0-ec86-34fd-9a74-68d70b3b7892@osfux.nl> <41619106-86D6-40EF-B84E-DC98A1B54FCD@up4.com> <bcabffa1-0d86-f6cc-5f4e-fc91de149975@osfux.nl> <03551266-4EFD-4BAA-B200-932B62CCA988@up4.com> <58D1469E.30504@omnilan.de> <22E0CC61-1822-46CC-A43C-4B7A25844098@up4.com> <58D15063.7010002@omnilan.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

So all in all, I added =C2=AB -vlanhwtag -txcsum -txcsum6 =C2=BB on all =
4 igb interfaces. They still all put themselves in promiscuous mode, =
however. But TCPing the host from a VM now works. Please find the =
relevant dmesg and ifconfig output below.

But I=E2=80=99d still appreciate more background information on this. is =
=C2=AB -vlanhwtag =C2=BB still required ? Should I expect a traffic =
slowdown on these interfaces ? Will it bring the CPU to its knees ? Why =
do I still get =C2=AB bridge0: error setting interface capabilities on =
lagg0 =C2=BB ?

Thanks!

Vincent

lagg0: link state changed to UP
igb3: link state changed to UP
igb1: link state changed to UP
igb2: link state changed to UP
bridge0: Ethernet address: 02:f7:d6:01:1a:00
bridge0: link state changed to UP
igb0: promiscuous mode enabled
igb1: promiscuous mode enabled
igb2: promiscuous mode enabled
igb3: promiscuous mode enabled
lagg0: promiscuous mode enabled
tap0: Ethernet address: 00:bd:29:bf:f8:00
bridge0: error setting interface capabilities on lagg0
tap0: promiscuous mode enabled
tap0: link state changed to UP
tap1: Ethernet address: 00:bd:1a:e6:f8:01
bridge0: error setting interface capabilities on lagg0
tap1: promiscuous mode enabled
tap1: link state changed to UP



igb0: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> =
metric 0 mtu 1500
	=
options=3D2403a9<RXCSUM,VLAN_MTU,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTS=
O,RXCSUM_IPV6>
	ether 54:a0:50:88:88:c6
	nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet 1000baseT <full-duplex>
	status: active
igb1: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> =
metric 0 mtu 1500
	=
options=3D2403a9<RXCSUM,VLAN_MTU,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTS=
O,RXCSUM_IPV6>
	ether 54:a0:50:88:88:c6
	nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet 1000baseT <full-duplex>
	status: active
igb2: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> =
metric 0 mtu 1500
	=
options=3D2403a9<RXCSUM,VLAN_MTU,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTS=
O,RXCSUM_IPV6>
	ether 54:a0:50:88:88:c6
	nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet 1000baseT <full-duplex>
	status: active
igb3: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> =
metric 0 mtu 1500
	=
options=3D2403a9<RXCSUM,VLAN_MTU,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTS=
O,RXCSUM_IPV6>
	ether 54:a0:50:88:88:c6
	nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet 1000baseT <full-duplex>
	status: active
cxl0: flags=3D8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	=
options=3Dec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS=
UM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
	ether 00:07:43:37:47:70
	nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet none
	status: no carrier
cxl1: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu =
9000
	=
options=3Dec07bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCS=
UM,TSO4,TSO6,LRO,VLAN_HWTSO,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
	ether 00:07:43:37:47:78
	inet 192.168.11.5 netmask 0xffffff00 broadcast 192.168.11.255=20
	nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet 10Gbase-Twinax <full-duplex>
	status: active
lo0: flags=3D8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=3D600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
	inet6 ::1 prefixlen 128=20
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7=20
	inet 127.0.0.1 netmask 0xff000000=20
	nd6 options=3D21<PERFORMNUD,AUTO_LINKLOCAL>
	groups: lo=20
lagg0: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> =
metric 0 mtu 1500
	=
options=3D2403a9<RXCSUM,VLAN_MTU,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTS=
O,RXCSUM_IPV6>
	ether 54:a0:50:88:88:c6
	inet 192.168.1.23 netmask 0xffffff00 broadcast 192.168.1.255=20
	nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	groups: lagg=20
	laggproto lacp lagghash l2,l3,l4
	laggport: igb0 flags=3D1c<ACTIVE,COLLECTING,DISTRIBUTING>
	laggport: igb1 flags=3D1c<ACTIVE,COLLECTING,DISTRIBUTING>
	laggport: igb2 flags=3D1c<ACTIVE,COLLECTING,DISTRIBUTING>
	laggport: igb3 flags=3D0<>
bridge0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 =
mtu 1500
	description: vm-lan1g
	ether 02:f7:d6:01:1a:00
	nd6 options=3D1<PERFORMNUD>
	groups: bridge=20
	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=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 11 priority 128 path cost 2000000
	member: tap0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 10 priority 128 path cost 2000000
	member: lagg0 flags=3D143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
	        ifmaxaddr 0 port 8 priority 128 path cost 6666
tap0: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> =
metric 0 mtu 1500
	description: vmnet-docker-0-lan1g
	options=3D80000<LINKSTATE>
	ether 00:bd:29:bf:f8:00
	nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	groups: tap=20
	Opened by PID 1417
tap1: flags=3D8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> =
metric 0 mtu 1500
	description: vmnet-unifi-0-lan1g
	options=3D80000<LINKSTATE>
	ether 00:bd:1a:e6:f8:01
	nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: Ethernet autoselect
	status: active
	groups: tap=20
	Opened by PID 1698


> Le 21 mars 2017 =C3=A0 12:10, Harry Schmalzbauer <freebsd@omnilan.de> =
a =C3=A9crit :
>=20
> Bez=C3=BCglich Vincent Olivier's Nachricht vom 21.03.2017 16:51 =
(localtime):
>> Hi, I can confirm that ping works but ssh and (I haven=E2=80=99t =
tried anything else, but I assume you are right) TCP as a whole =
doesn=E2=80=99t work.
>>=20
>> =46rom there, I guess that, since I haven=E2=80=99t changed the MTU =
on the 1G interfaces (only on the 10G ones which are isolated from the =
1G network). this leaves offloading.
>>=20
>> Should I disable it (which ones)? On all the physical interfaces or =
also on the lagg and maybe bridge?
>=20
> You seem to have the following problem:
> if_bridge(4) tries to disable TXCSUM on all members added.
> But you add if_lagg(4), which doesn't pass those requests to it's
> members, but simply ignores the request.
> So you need to manually -txcsum (-txcsum6), e.g. in rc.conf when you =
set
> them "up".
>=20
> Unofrtunately I don't know how offloading is implemented generally, =
nor
> how it works for if_igb(4), so I haven't thought about the reason yet,
> why you need to disable TXCSUM.
> Much more important, does it also affect TSO?
> I can't tell, maybe someone with more knowledge can jump in.
>=20
> -harry
>=20




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EA922A0D-8888-4FD7-85E5-1403A64619BC>