netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Richardson <mcr@sandelman.ca>
To: tcpdump-workers@lists.tcpdump.org,
	ebiederm@xmission.com (Eric W. Biederman)
Cc: Ani Sinha <ani@aristanetworks.com>,
	netdev@vger.kernel.org,
	Francesco Ruggeri <fruggeri@aristanetworks.com>
Subject: Re: [tcpdump-workers] vlan tagged packets and libpcap breakage
Date: Sat, 17 Nov 2012 17:14:48 -0500	[thread overview]
Message-ID: <12918.1353190488@obiwan.sandelman.ca> (raw)
In-Reply-To: <87mwyi9h1x.fsf@xmission.com>

[-- Attachment #1: Type: text/plain, Size: 3011 bytes --]


Thank you for this reply.

>>>>> "Eric" == Eric W Biederman <ebiederm@xmission.com> writes:
    Eric> I don't see any need to add any kernel code to allow checking
    Eric> if vlan tags are stripped.  Vlan headers are stripped on all
    Eric> kernel interfaces today.  Vlan headers have been stripped on
    Eric> all but a handful of software interfaces for 6+ years.  For
    Eric> all kernels if the vlan header is stripped it is reported in
    Eric> the auxdata, upon packet reception.  Careful code should also
    Eric> look for TP_STATUS_VLAN_VALID which allows for distinguishing
    Eric> a striped vlan header of 0 from no vlan header.

I can regularly see vlan tags on raw dumps from the untagged ("eth0")
today, running 3.2 (debian stable):

obiwan-[~] mcr 4848 %sudo tcpdump -i eth0 -n -p -e | grep -i vlan
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
17:05:15.404909 38:60:77:38:e6:47 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 46: vlan 3800, p 0, ethertype ARP, Request who-has 172.30.42.1 tell 172.30.42.11, length 28

So, I'm curious about the statement that vlan tags have been stripped
for some time, because I don't see them stripped today.  My desktop has
an Intel 82579V NIC in it...


    Eric> For old kernels that do not support the new extensions it is
    Eric> possible to generate code that looks at the ethernet header
    Eric> and sees if the ethertype is 0x8100 and then does things with
    Eric> it, but that will only work on a small handful of software
    Eric> only interfaces.

at tcpdump.org, our concern is to release code that works on both new,
and what for kernel.org folks would be considered "ancient" systems,
such as Centos5/RHEL5 machines which are regularly still in production
in the field (sadly...), but often need the latest diagnostics.

What I hear you saying is that our existing code will work on older
kernels, and that once we have new code to use the VLAN tag extensions,
we should simply attempt to load it, and either it loads, or we get an 
error, and we go back to the code we had before.   That's great news.

The major concern is that if the 802.1q header is gone, although we can
retrieve it somehow (I'm not sure how the AUXDATA is presented on the
MMAP PF_PACKET interface...) we will have to reconstruct it in order to
save it properly to a savefile.  Many entities, including most major
Network Telescopes (http://en.wikipedia.org/wiki/Network_telescope) use
libpcap (and often tcpdump itself) to capture packets on probe points,
and having good performance matters here... 

-- 
]       He who is tired of Weird Al is tired of life!           |  firewalls  [
]   Michael Richardson, Sandelman Software Works, Ottawa, ON    |net architect[
] mcr@sandelman.ottawa.on.ca http://www.sandelman.ottawa.on.ca/ |device driver[
   Kyoto Plus: watch the video <http://www.youtube.com/watch?v=kzx1ycLXQSE>
	               then sign the petition. 


[-- Attachment #2: Type: application/pgp-signature, Size: 307 bytes --]

  reply	other threads:[~2012-11-17 22:15 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
2012-11-17 22:14       ` Michael Richardson [this message]
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=12918.1353190488@obiwan.sandelman.ca \
    --to=mcr@sandelman.ca \
    --cc=ani@aristanetworks.com \
    --cc=ebiederm@xmission.com \
    --cc=fruggeri@aristanetworks.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).