VLAN problems
Tom Judge
tom at tomjudge.com
Wed Jan 30 05:01:06 PST 2008
Alexandre Biancalana wrote:
> On 1/29/08, Tom Judge <tom at tomjudge.com> wrote:
>> Alexandre Biancalana wrote:
>>> Hi Tom ! Thanks for your help!
>>>
>>> I had to step back the chance an put the "old" gateway back, the
>>> performance was unacceptable :-(
>>>
>>> Looking closer I see that still have the problem using the old gateway
>>> too, in a small scale because I only use vlan to external links.
>>>
>>> This old gateway is running 6.2-STABLE and have 4 network interfaces:
>>> fxp0, fxp1, sk0 and sk1.
>>>
>>> fxp0, sk0 and sk1 are no parent of any vlans, are connected to
>>> internal networks and work without problems, follow the ifconfig
>>> ouput:
>>>
>>> fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>> options=8<VLAN_MTU>
>>> inet 10.11.0.1 netmask 0xffff0000 broadcast 10.11.255.255
>>> ether 00:02:a5:41:c6:b2
>>> media: Ethernet autoselect (100baseTX <full-duplex>)
>>> status: active
>>> sk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>> options=b<RXCSUM,TXCSUM,VLAN_MTU>
>>> inet 10.2.0.36 netmask 0xffff0000 broadcast 10.2.255.255
>>> ether 00:0a:5e:5c:9e:2e
>>> media: Ethernet autoselect (1000baseTX <full-duplex,flag0,flag1>)
>>> status: active
>>> sk1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>> options=b<RXCSUM,TXCSUM,VLAN_MTU>
>>> inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
>>> ether 00:0a:5e:5c:27:ef
>>> media: Ethernet autoselect (100baseTX <full-duplex>)
>>> status: active
>>>
>>> fxp1 is parent of 7 vlan interfaces: vlan16, vlan20, vlan200, vlan201,
>>> vlan202 and vlan205 that connect my internal network to some external
>>> links, follow the ifconfig output:
>>>
>>> vlan200: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>> inet 10.200.0.1 netmask 0xfffffffc broadcast 10.200.0.3
>>> ether 00:0c:f1:ac:91:09
>>> media: Ethernet autoselect (100baseTX <full-duplex>)
>>> status: active
>>> vlan: 200 parent interface: fxp1
>>> vlan201: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>> inet 10.200.0.5 netmask 0xfffffffc broadcast 10.200.0.7
>>> ether 00:0c:f1:ac:91:09
>>> media: Ethernet autoselect (100baseTX <full-duplex>)
>>> status: active
>>> vlan: 201 parent interface: fxp1
>>> vlan202: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>>> inet 10.200.0.9 netmask 0xfffffffc broadcast 10.200.0.11
>>> ether 00:0c:f1:ac:91:09
>>> media: Ethernet autoselect (100baseTX <full-duplex>)
>>> status: active
>>> vlan: 202 parent interface: fxp1
>>> vlan205: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
>>> inet 10.0.0.9 netmask 0xfffffffc broadcast 10.0.0.11
>>> ether 00:0c:f1:ac:91:09
>>> media: Ethernet autoselect (100baseTX <full-duplex>)
>>> status: active
>>>
>>> Like seen before netstat -niW show output errors in vlan interfaces
>>>
>>> # netstat -niW
>>> Name Mtu Network Address Ipkts Ierrs Opkts
>>> Oerrs Coll
>>> vlan201 1500 <Link#11> 00:0c:f1:ac:91:09 53524 0 52234
>>> 63 0
>>> vlan202 1500 <Link#12> 00:0c:f1:ac:91:09 5907 0 4421
>>> 4 0
>>> vlan205 1500 <Link#15> 00:0c:f1:ac:91:09 9728659 0 9373148
>>> 87025 0
>>> (the vlan205 is the most used and the output error is increasing...)
>>>
>> Taking a quick look through if_vlan.c it seems that the output error
>> counter (ifp->if_oerrors) is only incremented in 3 places:
>>
>> 1) Then padding short frames that are valid with the vlan tag but runts
>> when they have the tag stripped.
>>
>> 2) When inserting the VLAN tag in to the packet when the underlying
>> interface does not support vlan hardware tagging.
>>
>> 3) When IFW_HANDOFF fails to hand the packet off to the parent interface.
>>
>> Do you have any error messages on the console in dmesg? ('cannot pad
>> short frame', 'unable to prepend vlan header' for example).
>
> no :(
Sorry I'm fresh out of ideas now... Unless you could be should of ram
what does netstat -m look like? Also you could look at changing
if_vlan.c to print the error number of the error if IFQ_HANDOFF fails.
Tom
More information about the freebsd-net
mailing list