public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: ebiederm@xmission•com (Eric W. Biederman)
To: ani@aristanetworks•com
Cc: Michael Richardson <mcr@sandelman•ca>,
	tcpdump-workers@lists•tcpdump.org, netdev@vger•kernel.org,
	Francesco Ruggeri <fruggeri@aristanetworks•com>
Subject: Re: [tcpdump-workers] vlan tagged packets and libpcap breakage
Date: Thu, 06 Dec 2012 17:41:01 -0800	[thread overview]
Message-ID: <87y5had4gi.fsf@xmission.com> (raw)
In-Reply-To: <alpine.OSX.2.00.1212061730200.58531@animac.local> (Ani Sinha's message of "Thu, 6 Dec 2012 17:31:29 -0800 (PST)")

Ani Sinha <ani@aristanetworks•com> writes:

>>
>> The patch is whitespace damaged.  And one of your test is using ||
>> instead of &&
>
> OK, using alpine now :-)
>>
>> The test should be && not ||.
>
> aargh! I am retarded! Fixed. Hopefully 3rd time is a charm :-)

Acked-by: "Eric W. Biederman" <ebiederm@xmission•com>

The code looks ok here.  I don't know what format the tcpdump folks
want patches in.  The typically format is an email with [PATCH] in
the subject.

You indentation now comes through clear.

It is a bit odd that you are indenting with spaces instead of tabs
in a file that is indented with tab.  Again libpcap isn't my code so I
don't care but someone else might.

Eric


> ani
>
>
>  pcap-linux.c |   50 +++++++++++++++++++++++++++++++-------------------
>  1 files changed, 31 insertions(+), 19 deletions(-)
>
> diff --git a/pcap-linux.c b/pcap-linux.c
> index a42c3ac..b2c1a08 100644
> --- a/pcap-linux.c
> +++ b/pcap-linux.c
> @@ -133,6 +133,7 @@ static const char rcsid[] _U_ =
>  #include <sys/utsname.h>
>  #include <sys/mman.h>
>  #include <linux/if.h>
> +#include <linux/if_packet.h>
>  #include <netinet/in.h>
>  #include <linux/if_ether.h>
>  #include <net/if_arp.h>
> @@ -1543,7 +1544,13 @@ pcap_read_packet(pcap_t *handle, pcap_handler callback, u_char *userdata)
>  				continue;
>
>  			aux = (struct tpacket_auxdata *)CMSG_DATA(cmsg);
> -			if (aux->tp_vlan_tci == 0)
> +#if defined(TP_STATUS_VLAN_VALID)
> +                        if ((aux->tp_vlan_tci == 0) && !(aux->tp_status & TP_STATUS_VLAN_VALID))
> +#else
> +			if (aux->tp_vlan_tci == 0) /* this is ambigious but without the
> +                                                      TP_STATUS_VLAN_VALID flag, there is
> +                                                      nothing that we can do */
> +#endif
>  				continue;
>
>  			len = packet_len > iov.iov_len ? iov.iov_len : packet_len;
> @@ -3936,7 +3926,12 @@ pcap_read_linux_mmap(pcap_t *handle, int max_packets, pcap_handler callback,
>  		}
>
>  #ifdef HAVE_TPACKET2
> -		if (handle->md.tp_version == TPACKET_V2 && h.h2->tp_vlan_tci &&
> +                if ((handle->md.tp_version == TPACKET_V2) &&
> +#if defined(TP_STATUS_VLAN_VALID)
> +                    (h.h2->tp_vlan_tci || (h.h2->tp_status & TP_STATUS_VLAN_VALID)) &&
> +#else
> +                    h.h2->tp_vlan_tci &&
> +#endif
>  		    handle->md.vlan_offset != -1 &&
>  		    tp_snaplen >= (unsigned int) handle->md.vlan_offset) {
>  			struct vlan_tag *tag;

  reply	other threads:[~2012-12-07  1:41 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
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 [this message]
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=87y5had4gi.fsf@xmission.com \
    --to=ebiederm@xmission$(echo .)com \
    --cc=ani@aristanetworks$(echo .)com \
    --cc=fruggeri@aristanetworks$(echo .)com \
    --cc=mcr@sandelman$(echo .)ca \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=tcpdump-workers@lists$(echo .)tcpdump.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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