From: Jesper Dangaard Brouer <brouer@redhat.com>
To: John Fastabend <john.r.fastabend@intel.com>
Cc: Zhouyi Zhou <zhouzhouyi@gmail.com>,
davem@davemloft.net, steffen.klassert@secunet.com,
fan.du@windriver.com, dborkman@redhat.com,
minipli@googlemail.com, tgraf@suug.ch, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, Zhouyi Zhou <yizhouzhou@ict.ac.cn>,
brouer@redhat.com
Subject: Re: [PATCH] netdev: pktgen xmit packet through vlan interface
Date: Mon, 5 May 2014 17:12:52 +0200 [thread overview]
Message-ID: <20140505171252.49773a5a@redhat.com> (raw)
In-Reply-To: <5363A4E0.2000403@intel.com>
On Fri, 02 May 2014 07:00:00 -0700
John Fastabend <john.r.fastabend@intel.com> wrote:
> On 5/2/2014 6:19 AM, Jesper Dangaard Brouer wrote:
> > On Fri, 2 May 2014 15:18:12 +0800
> > Zhouyi Zhou <zhouzhouyi@gmail.com> wrote:
> >
> >> As http://www.spinics.net/lists/netdev/msg165015.html
> >> pktgen generates shared packet through vlan interface will cause
> >> oops because of duplicate entering tc queue.
> >>
> >> Try to solve this problem by means of packet clone instead of sharing.
> >
> > I really don't like adding this stuff to the fast path of pktgen.
> >
> > Why would you use pktgen on a VLAN?
>
> Its a good way to test qdiscs. When you run pktgen over the VLAN
> you exercise the lower devices qdisc.
I do (personally) need a faster way/tool to exercise the qdisc path.
I'm currently using trafgen, but it is not fast enough for my 10G
testing.
Perhaps we could add a pktgen option, that explicitly enable
transmitting on qdisc path. And when adding a VLAN device, auto enable
that mode?
> Although I never submitted a patch like this because I figured it
> was a corner case and we would want to keep the hotpath clean.
I'm worried about the overhead of skb_clone() on for every pktgen
pkt_dev->clone_skb counter... does it "invalidate" using the pktgen
CLONE_SKB counter (kind-of confusing pktgen uses "clone_skb" for its
counter).
> > Why don't you use the "vlan_id" feature available in pktgen, and send
> > in the lower real device?
Guess, we can use it for testing/stressing the qdisc code path.
> >> Signed-off-by: Zhouyi Zhou <yizhouzhou@ict.ac.cn>
> >> ---
> >> net/core/pktgen.c | 20 +++++++++++++++++---
> >> 1 files changed, 17 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/net/core/pktgen.c b/net/core/pktgen.c
[...]
> >> @@ -3347,8 +3348,18 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev)
> >> pkt_dev->last_ok = 0;
> >> goto unlock;
> >> }
> >> - atomic_inc(&(pkt_dev->skb->users));
> >> - ret = (*xmit)(pkt_dev->skb, odev);
> >> +
> >> + if (pkt_dev->clone_skb && is_vlan_dev(odev)) {
> >> + nskb = skb_clone(pkt_dev->skb, GFP_ATOMIC);
> >> + ret = -ENOMEM;
> >> + if (nskb)
> >> + ret = (*xmit)(nskb, odev);
> >> + else
> >> + nskb = ERR_PTR(ret);
> >> + } else {
> >> + atomic_inc(&(pkt_dev->skb->users));
> >> + ret = (*xmit)(pkt_dev->skb, odev);
> >> + }
--
Best regards,
Jesper Dangaard Brouer
MSc.CS, Sr. Network Kernel Developer at Red Hat
Author of http://www.iptv-analyzer.org
LinkedIn: http://www.linkedin.com/in/brouer
next prev parent reply other threads:[~2014-05-05 15:13 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-02 7:18 [PATCH] netdev: pktgen xmit packet through vlan interface Zhouyi Zhou
2014-05-02 13:19 ` Jesper Dangaard Brouer
2014-05-02 14:00 ` John Fastabend
2014-05-02 14:55 ` Zhouyi Zhou
2014-05-05 15:12 ` Jesper Dangaard Brouer [this message]
2014-05-05 16:24 ` Ben Greear
2014-05-06 1:51 ` Zhouyi Zhou
2014-05-02 16:18 ` Sergei Shtylyov
2014-05-03 0:58 ` Zhouyi Zhou
2014-05-05 15:43 ` Jiri Pirko
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=20140505171252.49773a5a@redhat.com \
--to=brouer@redhat.com \
--cc=davem@davemloft.net \
--cc=dborkman@redhat.com \
--cc=fan.du@windriver.com \
--cc=john.r.fastabend@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=minipli@googlemail.com \
--cc=netdev@vger.kernel.org \
--cc=steffen.klassert@secunet.com \
--cc=tgraf@suug.ch \
--cc=yizhouzhou@ict.ac.cn \
--cc=zhouzhouyi@gmail.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 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.