From: ebiederm@xmission.com (Eric W. Biederman)
To: Ani Sinha <ani@aristanetworks.com>
Cc: Michael Richardson <mcr@sandelman.ca>,
netdev@vger.kernel.org, tcpdump-workers@lists.tcpdump.org,
Francesco Ruggeri <fruggeri@aristanetworks.com>
Subject: Re: [tcpdump-workers] vlan tagged packets and libpcap breakage
Date: Thu, 15 Nov 2012 22:51:22 -0800 [thread overview]
Message-ID: <87mwyi9h1x.fsf@xmission.com> (raw)
In-Reply-To: <CAOxq_8PsXb-oUy85Eji7GSAbUZD_Bds8skmGNP4BWSewQWx8PA@mail.gmail.com> (Ani Sinha's message of "Wed, 31 Oct 2012 14:50:27 -0700")
Ani Sinha <ani@aristanetworks.com> writes:
> cc'ing netdev.
>
>
> On Wed, Oct 31, 2012 at 2:01 PM, Michael Richardson <mcr@sandelman.ca> wrote:
>>
>> Thanks for this email.
>>
>>>>>>> "Ani" == Ani Sinha <ani@aristanetworks.com> writes:
>> Ani> remove "inline" from vlan_core.c functions
>> Ani> Signed-off-by: David S. Miller <davem@davemloft.net>
>>
>> Ani> As a result of this patch, with or without HW acceleration support in
>> Ani> the kernel driver, the vlan tag information is pulled out from the
>> Ani> packet and is inserted in the skb metadata. Thereafter, the vlan tag
>> Ani> information for a 802.1q packet can be obtained my applications
>> Ani> running in the user space by using the auxdata and cmsg
>> Ani> structure.
>>
>> Do you think that the existance of this behaviour could be exposed in
>> sysctl, /proc/net or /sys equivalent (we still don't have /sys/net...)?
>> As a read only file that had a 0/1 in it?
>
> yes, we definitely need a run time check. Whether this could be in the
> form of a socket option or a /proc entry I don't know.
I don't see any need to add any kernel code to allow checking if vlan
tags are stripped. Vlan headers are stripped on all kernel interfaces
today. Vlan headers have been stripped on all but a handful of software
interfaces for 6+ years. For all kernels if the vlan header is stripped
it is reported in the auxdata, upon packet reception. Careful code
should also look for TP_STATUS_VLAN_VALID which allows for
distinguishing a striped vlan header of 0 from no vlan header.
The safe assumption then is that testing for vlan headers and vlan
values in bpf filters is not possible without the new bpf extentions.
It is possible to test for the presence of support of the new vlan bpf
extensions by attempting to load a filter that uses them. As only valid
filters can be loaded, old kernels that do not support filtering of vlan
tags will fail to load the a test filter with uses them.
For old kernels that do not support the new extensions it is possible to
generate code that looks at the ethernet header and sees if the
ethertype is 0x8100 and then does things with it, but that will only
work on a small handful of software only interfaces.
Eric
next prev parent reply other threads:[~2012-11-16 6:51 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAOxq_8Nd8VP3MaNBfUt9v82nmGDpxZz5_5QMdsruET1tjwuQPw@mail.gmail.com>
[not found] ` <3246.1351717319@obiwan.sandelman.ca>
2012-10-31 21:50 ` [tcpdump-workers] vlan tagged packets and libpcap breakage Ani Sinha
2012-10-31 22:20 ` Guy Harris
2012-10-31 22:35 ` Ani Sinha
2012-11-01 0:50 ` [tcpdump-workers] " Guy Harris
2012-11-01 1:22 ` Ani Sinha
2012-12-06 21:20 ` Ani Sinha
2012-11-02 16:13 ` Bill Fenner
2012-11-13 22:41 ` Ani Sinha
2012-11-13 22:42 ` [tcpdump-workers] " Ani Sinha
2012-11-14 18:58 ` Michael Richardson
2012-10-31 22:42 ` [tcpdump-workers] " Michael Richardson
2012-12-12 21:53 ` Ani Sinha
2012-12-12 22:16 ` Ani Sinha
2012-12-13 8:35 ` [tcpdump-workers] " Daniel Borkmann
2012-12-13 17:34 ` Ani Sinha
2012-12-13 21:49 ` Daniel Borkmann
2012-12-13 22:07 ` Ani Sinha
2012-12-17 9:50 ` David Laight
2012-12-17 10:35 ` Guy Harris
2012-12-17 11:08 ` Daniel Borkmann
2012-12-17 19:49 ` [tcpdump-workers] " Ani Sinha
2012-11-16 6:51 ` Eric W. Biederman [this message]
2012-11-17 22:14 ` Michael Richardson
2012-11-17 23:16 ` Daniel Borkmann
2012-11-17 23:37 ` Eric W. Biederman
2012-11-17 23:33 ` Eric W. Biederman
2012-12-06 21:22 ` Ani Sinha
2012-12-06 22:19 ` Eric W. Biederman
2012-12-06 22:40 ` Ani Sinha
2012-12-07 0:55 ` Ani Sinha
2012-12-07 1:03 ` [tcpdump-workers] " Eric W. Biederman
2012-12-07 1:28 ` Ani Sinha
2012-12-07 1:31 ` Ani Sinha
2012-12-07 1:41 ` Eric W. Biederman
2012-12-07 1:59 ` Michael Richardson
2012-12-11 0:11 ` [tcpdump-workers] " Ani Sinha
2012-12-11 22:36 ` Ani Sinha
2012-12-11 23:04 ` Eric Dumazet
2012-12-12 0:46 ` Ani Sinha
2012-12-12 0:50 ` [tcpdump-workers] " Ani Sinha
2012-12-11 23:12 ` Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87mwyi9h1x.fsf@xmission.com \
--to=ebiederm@xmission.com \
--cc=ani@aristanetworks.com \
--cc=fruggeri@aristanetworks.com \
--cc=mcr@sandelman.ca \
--cc=netdev@vger.kernel.org \
--cc=tcpdump-workers@lists.tcpdump.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.