lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 5 May 2014 17:12:52 +0200 From: Jesper Dangaard Brouer <brouer@...hat.com> To: John Fastabend <john.r.fastabend@...el.com> Cc: Zhouyi Zhou <zhouzhouyi@...il.com>, davem@...emloft.net, steffen.klassert@...unet.com, fan.du@...driver.com, dborkman@...hat.com, minipli@...glemail.com, tgraf@...g.ch, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, Zhouyi Zhou <yizhouzhou@....ac.cn>, brouer@...hat.com Subject: Re: [PATCH] netdev: pktgen xmit packet through vlan interface On Fri, 02 May 2014 07:00:00 -0700 John Fastabend <john.r.fastabend@...el.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@...il.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@....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 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists