lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Thu, 14 Apr 2016 17:17:34 +0200
From:	Peter PalĂșch <Peter.Paluch@....uniza.sk>
To:	netdev@...r.kernel.org
Subject: [RFC] VLAN aux info for AF_PACKET available only with ETH_P_ALL

Greetings,

When using AF_PACKET sockets with PACKET_AUXDATA socket option to access 
the VLAN TCI information of received frames, I have noticed that the 
VLAN information in struct tpacket_auxdata, namely,

- tp_vlan_tci
- tp_vlan_tpid
- TP_STATUS_VLAN_VALID and TP_STATUS_VLAN_TPID_VALID flags

is filled in only when the socket is bound to htons (ETH_P_ALL). If the 
socket is bound to any specific protocol, the VLAN information fields in 
struct tpacket_auxdata are set to 0 even if the datagram of the specific 
protocol was received in an 802.1Q-tagged frame.

As the VLAN tag is being stripped off the frame soon in the receive 
path, using PACKET_AUXDATA is the only way for an application over an 
AF_PACKET socket to know what VLAN did a particular frame arrive in; 
yet, the current behavior forces the application to listen to all 
received traffic to get the actual VLAN info.

Is this behavior intentional, or is this lack of VLAN info a bug? I am 
running vanilla Linux kernel v4.4.6.

Thanks!

Best regards,
Peter

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ