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;
next prev parent 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.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.