(Netgraph problem) Inner tag and outer tag swapped

Younger Wang Younger.Wang at packetfront.com
Fri Aug 8 16:27:19 UTC 2008


Hi,

I expect to see [Ether header][tag 4000][tag 201][payload] in hub_QinQ,
but in fact it was [ether header][tag 201][tag 4000][payload].

I inserted the hub because I wanted to sniffer in the segment. It should
not cause any problem, should it?

The system I run is based on vimage_7-20080228.tgz
(http://imunes.tel.fer.hr/virtnet/), on FreeBSD Release 7, with ng_vlan
module modified to support changing ethertype. My modification was made
for release 7 however. Yes, the difference between vimage source and
release 7 could be the cause. I will check it during the weekend. 

Big thanks!

BR
Younger Wang

-----Original Message-----
From: Julian Elischer [mailto:julian at elischer.org] 
Sent: Friday, August 08, 2008 5:12 PM
To: Younger Wang
Subject: Re: (Netgraph problem) Inner tag and outer tag swapped

Younger Wang wrote:
> Hi,
> 
>  
> 
> fxp0 is connected to a trunk port. Frames tagged with VID=201 arrives
at
> fxp0 from a switch trunk port, I expect it will be captured at
hub_QinQ,
> with outer tag = 4000, and inner tag = 201. But in fact, it was
received
> with the outer and inner tags reversed.

is this what you think is on the wire?


[ether header][tag 201][tag 4000][payload]

> 
>  
> 
> But if I inject the same frame on hub_c4000, the frame is received at
> hub_QinQ as expected (inner tag = 201, outer tag = 4000). I am really
> confused. Has anyone seen the same problem? Big thanks.
> 
>  
> 
> Here is my netgraph setup:
> 
>  
> 
> ngctl mkpeer fxp0: hub lower physical
> 
> ngctl name fxp0:lower hub_c4000

looking at your config.. I see:


[hub]
   down0
    |
   downstream
[vlan]
   vlan4000
    |
   up
[hub]        <--- why do you need this?
   physical
    |
   lower
[ether]


what version of FreeBSD?
some changes were made in vlan handling in the late6/7 timeframe.


> 
>  
> 
> ngctl mkpeer hub_c4000: vlan up vlan4000
> 
> ngctl name hub_c4000:up vlan_QinQ
> 
>  
> 
> ngctl mkpeer vlan_QinQ: hub downstream down0
> 
> ngctl name vlan_QinQ:downstream hub_QinQ
> 
>  
> 
> ngctl msg vlan_QinQ: addfilter { vlan=4000 hook="vlan4000" }
> 
>  
> 
> BR
> 
> Younger Wang
> 
>  
> 
>  
> 
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"



More information about the freebsd-net mailing list