>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     [email protected]:/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:
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "[email protected]"

Reply via email to