Hi,
Thanks for replying.
When vlanhwtag is enabled on the fxp physical interface, the packets are
not vlan tagged and, sometimes, not replied:
[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>
[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
Consecutive commands:
[root@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@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@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@thor ~]# grep fe-0/0 /etc/rc.conf
ifconfig_fxp0_name="fe-0/0"
[root@thor ~]# pciconf -lv
fxp0@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, yong...@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
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"