misc/155134: Vlan hwtagging on fxp under 7.4-PRERELEASE doesn't work

Andrei Manescu - Ivorde andrei.manescu at ivorde.ro
Tue Mar 1 22:55:26 UTC 2011


Hi,

Thanks for replying.

When vlanhwtag is enabled on the fxp physical interface, the packets are 
not vlan tagged and, sometimes, not replied:

[root at 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>

[root at 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

Consecutive commands:
[root at thor ~]# ping -c 1 192.168.3.1                    --> NO REPLY
PING 192.168.3.1 (192.168.3.1): 56 data bytes

--- 192.168.3.1 ping statistics ---
1 packets transmitted, 0 packets received, 100.0% packet loss
[root at thor ~]# ping -c 1 192.168.3.1                    --> REPLY
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.398 ms

--- 192.168.3.1 ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.398/0.398/0.398/0.000 ms

tcpdump of the above echo requests. Only the reply is tagged:
[root at thor ~]# tcpdump -nni fe-0/0 -e
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on fe-0/0, link-type EN10MB (Ethernet), capture size 96 bytes
23:10:28.667909 00:02:b3:9f:ef:86 > 00:02:a5:8f:56:69, ethertype IPv4 
(0x0800), length 98: 192.168.3.2 > 192.168.3.1: ICMP echo request, id 
17620, seq 0, length 64
23:10:44.196339 00:02:b3:9f:ef:86 > 00:02:a5:8f:56:69, ethertype IPv4 
(0x0800), length 98: 192.168.3.2 > 192.168.3.1: ICMP echo request, id 
24788, seq 0, length 64
23:10:44.196616 00:02:a5:8f:56:69 > 00:02:b3:9f:ef:86, ethertype 802.1Q 
(0x8100), length 102: vlan 10, p 0, ethertype IPv4, 192.168.3.1 > 
192.168.3.2: ICMP echo reply, id 24788, seq 0, length 64

The tcpdump clearly shows that for the first two packets (echo 
requests), the ethertype is 0x0800 and it doesn't contain the vlan tag.

Now, if I disable the vlanhwtag on the physical interface, all gets back 
to normal.

The physical interface is a supported 82550 chip.

[root at thor ~]# grep fe-0/0 /etc/rc.conf
ifconfig_fxp0_name="fe-0/0"
[root at thor ~]# pciconf -lv
fxp0 at pci0:1:1:0:    class=0x020000 card=0x10408086 chip=0x12298086 
rev=0x0c hdr=0x00
     vendor     = 'Intel Corporation'
     device     = '82550/1/7/8/9 EtherExpress PRO/100(B) Ethernet Adapter'
     class      = network
     subclass   = ethernet

Am I really off topic ?

P.S.: I also attached a capture with one echo request and an echo reply. 
The req leaving the FreeBSD box in question is not encapsulated, but the 
reply is coming in (with the vlan tag).
P.S.S.: At the other end, there is a pFsense 2.0-RC1 (FreeBSD 8.1) 
firewall with vlans configured on an fxp0 interface also.


Thanks,
Andrei.



On 03/01/2011 07:19 PM, yongari at FreeBSD.org wrote:
> Synopsis: Vlan hwtagging on fxp under 7.4-PRERELEASE doesn't work
>
> State-Changed-From-To: open->feedback
> State-Changed-By: yongari
> State-Changed-When: Tue Mar 1 18:16:26 UTC 2011
> State-Changed-Why:
> I'm pretty sure TSO and VLAN hardware tagging worked without
> problems when I firstly implemented that hardware features. AFAIK
> FreeBSD is the only OS that takes advantage of these features and
> Intel's public data sheet does not (intentionally) mention VLAN
> hardware tag insertion/strip feature of controller. The TSO and
> VLAN hardware tagging is supported on i82550 and i82551
> controllers.
>
>  From your description of the issue and tcpdump output I don't see
> any problems. For instance, I see ping for 192.168.3.1 worked and I
> also see VLAN encapsulation(ether type 0x8100) header in the
> tcpdump. If VLAN hardware tagging does not work, you wouldn't get
> any response from 192.168.30.1. So what is your problem?
>
>
> Responsible-Changed-From-To: freebsd-bugs->yongari
> Responsible-Changed-By: yongari
> Responsible-Changed-When: Tue Mar 1 18:16:26 UTC 2011
> Responsible-Changed-Why:
> Grab.
>
> http://www.freebsd.org/cgi/query-pr.cgi?pr=155134



More information about the freebsd-bugs mailing list