Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Feb 2011 22:42:00 GMT
From:      Andrei <andrei@ivorde.ro>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   misc/155134: Vlan hwtagging on fxp under 7.4-PRERELEASE doesn't work
Message-ID:  <201102282242.p1SMg0aO080549@red.freebsd.org>
Resent-Message-ID: <201102282250.p1SMo2a8056237@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         155134
>Category:       misc
>Synopsis:       Vlan hwtagging on fxp under 7.4-PRERELEASE doesn't work
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb 28 22:50:02 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Andrei
>Release:        7.4-PRERELEASE
>Organization:
Ivorde
>Environment:
FreeBSD thor.amsel.nl 7.4-PRERELEASE FreeBSD 7.4-PRERELEASE #0: Tue Feb  1 16:45:33 UTC 2011     root@thor.amsel.nl:/usr/obj/usr/src/sys/Thor  i386

>Description:
Hello,

FreeBSD 7.4 Prerelease (built Feb 1st) fxp driver does not take advantage of vlanhwtag capability. When this is enabled on the parent interface, vlan traffic does not get .1q encapsulated:

[root@thor ~]# grep fe-0/0 /etc/rc.conf
ifconfig_fxp0_name="fe-0/0"

1) vlanhwtag on fxp driver disabled. .1q encapsulation done by kernel.
[root@thor ~]# ifconfig fe-0/0
fe-0/0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=210b<RXCSUM,TXCSUM,VLAN_MTU,TSO4,WOL_MAGIC>
	ether 00:02:b3:9f:ef:86
	inet 192.168.1.16 netmask 0xffffff00 broadcast 192.168.1.255
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
[root@thor ~]# ifconfig vlan10
vlan10: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 00:02:b3:9f:ef:86
	inet 192.168.3.2 netmask 0xffffff00 broadcast 192.168.3.255
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
	vlan: 10 parent interface: fe-0/0


[root@thor ~]# ping -i 0.1 192.168.2.21       
PING 192.168.2.21 (192.168.2.21): 56 data bytes
...................................
--- 192.168.3.1 ping statistics ---
72 packets transmitted, 66 packets received, 8.3% packet loss
round-trip min/avg/max/stddev = 0.225/0.336/1.221/0.194 ms

[root@thor ~]# tcpdump -nni fe-0/0 -s0 -ve
tcpdump: listening on fe-0/0, link-type EN10MB (Ethernet), capture size 65535 bytes


23:24:10.147776 00:02:b3:9f:ef:86 > 00:02:a5:8f:56:69, ethertype 802.1Q (0x8100), length 102: vlan 10, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 10042, offset 0, flags [none], proto ICMP (1), length 84) 192.168.3.2 > 192.168.3.1: ICMP echo request, id 26407, seq 4, length 64

23:24:11.157751 00:02:b3:9f:ef:86 > 00:02:a5:8f:56:69, ethertype 802.1Q (0x8100), length 102: vlan 10, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 10052, offset 0, flags [none], proto ICMP (1), length 84) 192.168.3.2 > 192.168.3.1: ICMP echo request, id 26407, seq 5, length 64

(no reply for the first 6 packets it seems, but probably unrelated)

2) vlanhwtag on fxp ENABLED
[root@thor ~]# ifconfig fe-0/0 vlanhwtag
[root@thor ~]# ifconfig fe-0/0
fe-0/0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=211b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,TSO4,WOL_MAGIC>
	ether 00:02:b3:9f:ef:86
	inet 192.168.1.16 netmask 0xffffff00 broadcast 192.168.1.255
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active


[root@thor ~]# ping -c 3 192.168.3.1
PING 192.168.3.1 (192.168.3.1): 56 data bytes
64 bytes from 192.168.3.1: icmp_seq=0 ttl=64 time=0.986 ms
64 bytes from 192.168.3.1: icmp_seq=1 ttl=64 time=0.314 ms
64 bytes from 192.168.3.1: icmp_seq=2 ttl=64 time=0.308 ms

--- 192.168.3.1 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.308/0.536/0.986/0.318 ms


[root@thor ~]# tcpdump -nni fe-0/0 -s0 -ve
tcpdump: listening on fe-0/0, link-type EN10MB (Ethernet), capture size 65535 bytes
23:31:25.941013 00:02:b3:9f:ef:86 > 00:02:a5:8f:56:69, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 10941, offset 0, flags [none], proto ICMP (1), length 84) 192.168.3.2 > 192.168.3.1: ICMP echo request, id 63272, seq 0, length 64
23:31:25.941899 00:02:a5:8f:56:69 > 00:02:b3:9f:ef:86, ethertype 802.1Q (0x8100), length 102: vlan 10, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 36494, offset 0, flags [none], proto ICMP (1), length 84) 192.168.3.1 > 192.168.3.2: ICMP echo reply, id 63272, seq 0, length 64
23:31:26.944466 00:02:b3:9f:ef:86 > 00:02:a5:8f:56:69, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 10945, offset 0, flags [none], proto ICMP (1), length 84) 192.168.3.2 > 192.168.3.1: ICMP echo request, id 63272, seq 1, length 64
23:31:26.944683 00:02:a5:8f:56:69 > 00:02:b3:9f:ef:86, ethertype 802.1Q (0x8100), length 102: vlan 10, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 19971, offset 0, flags [none], proto ICMP (1), length 84) 192.168.3.1 > 192.168.3.2: ICMP echo reply, id 63272, seq 1, length 64
23:31:27.954488 00:02:b3:9f:ef:86 > 00:02:a5:8f:56:69, ethertype IPv4 (0x0800), length 98: (tos 0x0, ttl 64, id 10948, offset 0, flags [none], proto ICMP (1), length 84) 192.168.3.2 > 192.168.3.1: ICMP echo request, id 63272, seq 2, length 64
23:31:27.954698 00:02:a5:8f:56:69 > 00:02:b3:9f:ef:86, ethertype 802.1Q (0x8100), length 102: vlan 10, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 46950, offset 0, flags [none], proto ICMP (1), length 84) 192.168.3.1 > 192.168.3.2: ICMP echo reply, id 63272, seq 2, length 64


So when vlanhwtag is enabled, the frames are not being encapsulated with vlan header. The frame header contains ipv4 proto.

I've searched existing PRs for this and found nothing.
>How-To-Repeat:
Using vlans over fxp interfaces with vlanhwtag option enabled.
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201102282242.p1SMg0aO080549>