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
| ||
|
Date: Wed, 25 May 2011 11:49:17 -0700 From: Ben Greear <greearb@...delatech.com> To: David Miller <davem@...emloft.net> CC: netdev@...r.kernel.org Subject: Re: VLAN test cases in 2.6.38.7 On 05/24/2011 08:33 PM, Ben Greear wrote: > On 05/24/2011 07:47 PM, David Miller wrote: >> From: Ben Greear<greearb@...delatech.com> >> Date: Tue, 24 May 2011 15:52:52 -0700 >> >>> Either my ubridge code is broken, or 2.6.38.7+ doesn't send >>> tp_vlan_tci >>> properly. All I ever see is zero for that field. >> >> You need to put the af_packet socket into TPACKET_V2 format. > > Actually, that doesn't seem needed. I just needed to give more > space to the cmsg buffer to account for the cmsg struct overhead. > (And I had a bunch of other bugs, but that was the only one > that directly affected the tci field.) > > I think that TPACKET_V2 stuff might be only for reading > memmapped messages or something like that? > > It looks like for any flexible user-space code, we are just going > to have to use recvmesg instead of recvfrom, and add the extra checks > for cmesg data. I'll post code when I get it working better so > the next person to try this might have an easier time :P Updated code is here: http://www.candelatech.com/~greearb/misc/ubridge.tar.gz Some testing results: kernel 2.6.38.7, plus back-port of: network: Allow af_packet to transmit +4 bytes for VLAN packets. MTU: 1500 NIC: igb (3.0.19) Test-cases: 0: Ensure receipt of tags when bridging ether devices with an un-used VLAN on one device. Uses recvmsg (aux-data) 1: Ensure receipt of tags when bridging ether devices with an un-used VLAN on one device. Uses recvfrom (no aux-data) 2: Ensure receipt of tags when bridging ether devices without any VLANs configured. Uses recvmsg (aux-data) 3: Ensure receipt of tags when bridging ether devices without any VLANs configured. Uses recvfrom (no aux-data) 4: Ensure receipt of tags when bridging ether devices with bridged VLAN on one device. Uses recvmsg (aux-data) 5: Ensure receipt of tags when bridging ether devices with bridged VLAN on one device. Uses recvfrom (no aux-data) Generator (LANforge): MTU 1500 udp connection on eth with 1024 byte pdu, 56kbps udp connection on eth with 4000 byte pdu, 56kbps udp connection on vlan 7 with 1024 byte pdu, 56kbps udp connection on vlan 7 with 4000 byte pdu, 56kbps test-case 0: Passes test-case 1: Fails on VLANs (expected, recvfrom doesn't get aux-data to re-build VLAN hdr) test-case 2: Passes test-case 3: Passes test-case 4: Passes test-case 5: Fails on VLANs (expected, recvfrom doesn't get aux-data to re-build VLAN hdr) Thanks, Ben > > I think we will need to add the has-vlan-tci flag to the cmesg > data, and probably also remove that masking of the CFI bit. > > I've no idea about socket filters, but maybe someone else can > deal with that :) > > Thanks, > Ben > > -- Ben Greear <greearb@...delatech.com> Candela Technologies Inc http://www.candelatech.com -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists