Messages in this thread | | | Date | Mon, 04 Jan 2010 17:29:57 +0100 | From | Patrick McHardy <> | Subject | Re: [PATCH] 1/1 net: packet: Keep 802.1Q VLAN tag in packet on SOCK_DGRAM socket - resend |
| |
Milan Dadok wrote: > Patrick McHardy wrote: > >> Milan Dadok wrote: >>> Keep 802.1Q VLAN tag on non HW vlan accelerated network card received to SOCK_DGRAM socket. > >> So not including the link layer header for SOCK_DGRAM sockets >> seems to be the intended behaviour. > >>From my point of view i have question > Is 802.1Q encapsulation (or another type of encapsulation (IPSec?)) part of link level header or part of data packet? > > Currently pseudo-header contains for OUTGOING packet on physical card (vlan10@eth1) > a) HW accelarated network card > protocol = ethertype IPv4 (0x0800) > tci = vlan number = 10 > and data starts with 4500 0028 > > b) non HW accelerated network card > protocol = ethertype 802.1Q (0x8100) > tci = 0 > and data starts with 4500 0028 > vlan tci and real protocol number (ARP,IPV4,IPV6) of data is lost
As mentioned in the text I quoted, this is apparently what is intended for SOCK_DGRAM packet sockets. The accelerated case is inconsistent and vlan_tci should be cleared I guess.
I agree that sll_protocol should reflect the network protocol in this case however.
> And with more nested vlans it is getting worse > for example > > vlan1010@vlan10@eth1 > > a) HW accelarated network card > protocol = ethertype IPv4 (0x8100) > tci = 10 > and data starts with 4500 0028 > > the 4 bytes of real packet 03f2 0800 is lost too > > b) non HW accelarated network card > 4 words of data packet are lost ... > > I have no problems with received packets, only outgoing packet have problem. > I think that out packet on SOCK_DGRAM sockets MUST BE in same format as in (received) packet on same interface. > Can we agree on this?
Yes, agreed.
| |