From: Matthew Hall <mhall@mhcomputing.net>
To: "Wiles, Keith" <keith.wiles@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] 2.3 Roadmap
Date: Tue, 1 Dec 2015 21:42:24 -0500 [thread overview]
Message-ID: <20151202024224.GA779@mhcomputing.net> (raw)
In-Reply-To: <2D75B028-2F4E-43BA-B229-BB4BF2FD5F86@intel.com>
On Wed, Dec 02, 2015 at 01:38:07AM +0000, Wiles, Keith wrote:
> In Pktgen I used tap interface to wireshark and that worked very nicely the
> only problem is it was slow :-(
>
> Having a tap PMD would be nice to be able to remove that code from Pktgen.
All these approaches we discussed so far have a serious architectural issue.
The entire point of BPF / libpcap was to prevent crossing unnecessary system
boundaries with an arbitrarily, unsustainably large volume of unfiltered
packets which will be tossed out anyways thereafter as they are irrelevant to
a particular debugging objective.
In the past it was the kernel -> user boundary.
In our case it is the Data Plane -> Management Plane boundary.
If we don't use something similar to libpcap offline mode (which I am using
presently in my code) or preferably the user-space bpfjit (which I am working
up to using eventually), it's going to be more or less impossible for this to
work properly and not blow stuff up with anything close to wirespeed traffic
going through the links being monitored. Especially with 10, 40, 100, ad
nauseam, gigabit links.
With the classic BPF / libpcap, it's absolutely possible to get it to work,
without causing a big performance problem, or causing a huge packet dump
meltdown, or any other issues in the process. We need to find a way to achieve
the same objective in our new environment as well.
One possible option, if some kernel guys could assist with figuring out the
trick, would be if we could capture the BPF ioctl / syscall / whatever it
secretly does on the TAP or KNI interface, when it passes the capture filter
to the kernel, and steal the filter for use in pcap offline or userspace
bpfjit inside of DPDK. Then supply only the packets meeting the filter back
onto said interface.
Matthew.
next prev parent reply other threads:[~2015-12-02 2:42 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-30 20:50 O'Driscoll, Tim
2015-11-30 21:50 ` Thomas Monjalon
2015-11-30 22:19 ` Dave Neary
2015-12-01 11:57 ` O'Driscoll, Tim
2015-11-30 22:30 ` Hobywan Kenoby
2015-12-01 11:52 ` O'Driscoll, Tim
2015-11-30 22:53 ` Kyle Larose
2015-12-01 1:16 ` Stephen Hemminger
2015-12-01 10:03 ` Bruce Richardson
2015-12-01 11:26 ` Yoshinobu Inoue
2015-12-01 11:58 ` Bruce Richardson
2015-12-01 13:42 ` Matthew Hall
2015-12-01 14:45 ` Kyle Larose
2015-12-01 19:28 ` Matthew Hall
2015-12-02 0:53 ` Yoshinobu Inoue
2015-12-01 14:27 ` Panu Matilainen
2015-12-01 14:48 ` Vincent JARDIN
2015-12-01 14:58 ` Panu Matilainen
2015-12-01 15:16 ` Christian Ehrhardt
2015-12-01 15:19 ` Bruce Richardson
2015-12-01 15:31 ` Aaron Conole
2015-12-01 15:54 ` Richardson, Bruce
2015-12-02 1:38 ` Wiles, Keith
2015-12-02 2:42 ` Matthew Hall [this message]
2015-12-01 19:32 ` Matthew Hall
2015-12-02 11:24 ` Neil Horman
2015-12-01 12:59 ` Matthew Hall
2015-12-01 13:16 ` O'Driscoll, Tim
2015-12-01 13:44 ` Matthew Hall
2015-12-01 13:57 ` Bruce Richardson
2015-12-01 19:49 ` Matthew Hall
2015-12-02 12:35 ` Bruce Richardson
2015-12-02 15:47 ` Matthew Hall
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=20151202024224.GA779@mhcomputing.net \
--to=mhall@mhcomputing.net \
--cc=dev@dpdk.org \
--cc=keith.wiles@intel.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).