From: Sowmini Varadhan <sowmini.varadhan@oracle.com>
To: linux-kselftest@vger.kernel.org, netdev@vger.kernel.org,
sowmini.varadhan@oracle.com
Cc: daniel@iogearbox.net, willemb@google.com, davem@davemloft.net,
shuah@kernel.org
Subject: [PATCH net-next 0/2] tools: psock_tpacket bug fixes
Date: Tue, 3 Jan 2017 15:27:37 -0800 [thread overview]
Message-ID: <cover.1483482971.git.sowmini.varadhan@oracle.com> (raw)
This patchset includes fixes to psock_tpacket for false-negatives
sporadically reported by the test when it was run concurrently with
other heavy network traffic (e.g., over an ssh session, as opposed
to running the test from the console of the test machine). The
test sometimes failed with errors reporting more recvd packets than
expected (e.g., "walk_v0_rx: received 201 out of 100 pkts") or
the reception of non-IP packets (e.g., ARP packets).
There are 2 problems with the test:
1. set_sockfilter() has many bugs (e.g. it will allow TCP packets
that may happen to match on the length field and happen to have
the 'a' or 'b' at the location tested by the filter). In addition,
it is very hard to read, making these bugs harder to find.
2. There is a race-window between packet_create() and packet_do_bind()
in which packets from any interface (e.g., eth0) will get queued
for Rx on the test socket. These packets should not be counted
toward the test.
Patch 1 fixes the first issue by cleaing up set_sockfilter() and
hardening it to make sure that it only permits UDP/IPv4 packets.
Patch 2 fixes the second issue by checking the Rx ifindex passed up
with the tpacket rx frame and making sure that packets counted
toward the test are those received on lo.
Sowmini Varadhan (2):
tools: tighten conditions checked in sock_setfilter
tools: psock_tpacket: verify that packet was received on lo before
counting it
tools/testing/selftests/net/psock_lib.h | 28 ++++++++++++++++++++------
tools/testing/selftests/net/psock_tpacket.c | 25 +++++++++++++++++++----
2 files changed, 41 insertions(+), 12 deletions(-)
next reply other threads:[~2017-01-03 23:28 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-03 23:27 Sowmini Varadhan [this message]
2017-01-03 23:27 ` [PATCH net-next 1/2] tools: psock_lib: tighten conditions checked in sock_setfilter Sowmini Varadhan
2017-01-04 14:27 ` Willem de Bruijn
2017-01-03 23:27 ` [PATCH net-next 2/2] tools: psock_tpacket: verify that packet was received on lo before counting it Sowmini Varadhan
2017-01-04 14:30 ` Willem de Bruijn
2017-01-04 14:44 ` Sowmini Varadhan
2017-01-04 15:03 ` Willem de Bruijn
2017-01-04 15:13 ` Sowmini Varadhan
2017-01-04 16:07 ` Willem de Bruijn
2017-01-04 16:12 ` Sowmini Varadhan
2017-01-04 16:24 ` Willem de Bruijn
2017-01-04 16:27 ` Sowmini Varadhan
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=cover.1483482971.git.sowmini.varadhan@oracle.com \
--to=sowmini.varadhan@oracle.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=linux-kselftest@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=shuah@kernel.org \
--cc=willemb@google.com \
/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).