* Fwd: pktgen with vlan packets [not found] <BANLkTinybQHjqXe-0SOU4wHTJg0M=QX=ow@mail.gmail.com> @ 2011-05-20 15:03 ` Lynch, Jonathan 2011-05-20 15:20 ` Eric Dumazet 0 siblings, 1 reply; 4+ messages in thread From: Lynch, Jonathan @ 2011-05-20 15:03 UTC (permalink / raw) To: netdev [-- Attachment #1: Type: text/plain, Size: 918 bytes --] Hi, Im running 2.6.35 kernel with an Intel 82599 NIC. I want to send packets using pktgen via a number of vlan interfaces (1 physical interface) created via vconfig but I get an OOPs when I try and send via the vlan interface. See attached log file for the oops. Im not using the pgset "vlan_id 77" params because I want to send packets with more than 1 VLAN tag to one interface. (If it was possible to send packets with different vlan tags over the one interface with pktgen I would use it) my config is as follows: ifconfig eth4 up modprobe 8021q vconfig add eth4 256 ifconfig eth4.256 up My pktgen config is the exact same as ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/examples/pktgen.conf-1-1 except that instead of eth1, I have eth4.256. Any ideas as to how I can send packets with multiple VLAN tags over the same interface with pktgen? Regards Jonathan [-- Attachment #2: log.txt --] [-- Type: text/plain, Size: 5827 bytes --] 1711.681495] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008 [ 1711.689373] IP: [<ffffffff81469014>] pfifo_fast_dequeue+0x54/0xa0 [ 1711.695496] PGD 0 [ 1711.697535] Oops: 0002 [#1] SMP [ 1711.700808] last sysfs file: /sys/devices/virtual/net/eth4.256/type [ 1711.707078] CPU 0 [ 1711.708923] Modules linked in: pktgen 8021q garp stp nls_cp437 cifs ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 ixgbe iptable_filter ip_tables x_tables ioatdma lp dca mdio parport e1000e [ 1711.729308] [ 1711.730806] Pid: 10970, comm: kpktgend_0 Not tainted 2.6.35 #1 Greencity/Greencity [ 1711.738379] RIP: 0010:[<ffffffff81469014>] [<ffffffff81469014>] pfifo_fast_dequeue+0x54/0xa0 [ 1711.746927] RSP: 0018:ffff880001e03e50 EFLAGS: 00010206 [ 1711.752242] RAX: ffff880134b0c000 RBX: ffff880233e39a00 RCX: 0000000000000001 [ 1711.759380] RDX: ffff880233e39b00 RSI: 0000000000000001 RDI: ffff880233e39a00 [ 1711.766534] RBP: ffff880001e03e50 R08: ffff880134b0c000 R09: ffff880233e39b20 [ 1711.773687] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880134e1dfd8 [ 1711.780839] R13: ffff880233e39a9c R14: 000000010002288b R15: ffff880134e1dfd8 [ 1711.787991] FS: 0000000000000000(0000) GS:ffff880001e00000(0000) knlGS:0000000000000000 [ 1711.796112] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 1711.801874] CR2: 0000000000000008 CR3: 0000000001a2a000 CR4: 00000000000006f0 [ 1711.809026] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 1711.816179] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 1711.823331] Process kpktgend_0 (pid: 10970, threadinfo ffff880134e1c000, task ffff8801332ead60) [ 1711.832058] Stack: [ 1711.834089] ffff880001e03e90 ffffffff81469fe3 ffff880001e03ec0 ffffffff814503f2 [ 1711.841391] <0> 0000000000000000 ffff880233e39a9c 0000000000016240 ffff880233e39a00 [ 1711.849181] <0> ffff880001e03ec0 ffffffff8144e6e8 0000000000000010 0000000000000001 [ 1711.857175] Call Trace: [ 1711.859640] <IRQ> [ 1711.861778] [<ffffffff81469fe3>] __qdisc_run+0x43/0x130 [ 1711.867111] [<ffffffff814503f2>] ? net_rx_action+0x192/0x230 [ 1711.872876] [<ffffffff8144e6e8>] net_tx_action+0x118/0x190 [ 1711.878469] [<ffffffff8105ea35>] __do_softirq+0xb5/0x1f0 [ 1711.883890] [<ffffffff810b4308>] ? handle_IRQ_event+0x48/0x160 [ 1711.889828] [<ffffffff8100addc>] call_softirq+0x1c/0x30 [ 1711.895159] [<ffffffff8100c905>] do_softirq+0x65/0xa0 [ 1711.900315] [<ffffffff8105e8fd>] irq_exit+0x7d/0x90 [ 1711.905298] [<ffffffff8100be60>] do_IRQ+0x70/0xf0 [ 1711.910109] [<ffffffff8154ea13>] ret_from_intr+0x0/0x11 [ 1711.915438] <EOI> [ 1711.917577] [<ffffffff810319a0>] ? __ticket_spin_unlock+0x0/0x10 [ 1711.923690] [<ffffffffa00f7dca>] ? pktgen_thread_worker+0x14a/0x840 [pktgen] [ 1711.930845] [<ffffffff81075700>] ? autoremove_wake_function+0x0/0x40 [ 1711.937305] [<ffffffff81075700>] ? autoremove_wake_function+0x0/0x40 [ 1711.943764] [<ffffffffa00f7c80>] ? pktgen_thread_worker+0x0/0x840 [pktgen] [ 1711.950743] [<ffffffff810751ce>] kthread+0x8e/0xa0 [ 1711.955640] [<ffffffff8100ace4>] kernel_thread_helper+0x4/0x10 [ 1711.961578] [<ffffffff81075140>] ? kthread+0x0/0xa0 [ 1711.966561] [<ffffffff8100ace0>] ? kernel_thread_helper+0x0/0x10 [ 1711.972671] Code: 40 08 4d 8d 48 08 49 39 c1 74 5c 48 85 c0 74 2d 41 83 68 18 01 4c 8b 40 08 4c 8b 10 48 c7 40 08 00 00 00 00 48 c7 00 00 00 00 00 <4d> 89 42 08 4d 89 10 44 8b 40 28 44 29 87 b0 00 00 00 48 8d 34 [ 1711.992874] RIP [<ffffffff81469014>] pfifo_fast_dequeue+0x54/0xa0 [ 1711.999094] RSP <ffff880001e03e50> [ 1712.002600] CR2: 0000000000000008 [ 1712.006230] ---[ end trace 3bdc909dc99f9fd5 ]--- [ 1712.010907] Kernel panic - not syncing: Fatal exception in interrupt [ 1712.017317] Pid: 10970, comm: kpktgend_0 Tainted: G D 2.6.35 #1 [ 1712.024077] Call Trace: [ 1712.026579] <IRQ> [<ffffffff8154b7f4>] panic+0x8b/0x10c [ 1712.032095] [<ffffffff8154f9ca>] oops_end+0xea/0xf0 [ 1712.037118] [<ffffffff81038693>] no_context+0xf3/0x260 [ 1712.042405] [<ffffffffa00bda04>] ? ixgbe_xmit_frame+0xaf4/0x1060 [ixgbe] [ 1712.049248] [<ffffffff81038915>] __bad_area_nosemaphore+0x115/0x1d0 [ 1712.055664] [<ffffffff81290810>] ? swiotlb_map_page+0x0/0xf0 [ 1712.061470] [<ffffffff810389de>] bad_area_nosemaphore+0xe/0x10 [ 1712.067446] [<ffffffff815520ef>] do_page_fault+0x26f/0x310 [ 1712.073078] [<ffffffff8154ecf5>] page_fault+0x25/0x30 [ 1712.078274] [<ffffffff81469014>] ? pfifo_fast_dequeue+0x54/0xa0 [ 1712.084340] [<ffffffff81469fe3>] __qdisc_run+0x43/0x130 [ 1712.089707] [<ffffffff814503f2>] ? net_rx_action+0x192/0x230 [ 1712.095514] [<ffffffff8144e6e8>] net_tx_action+0x118/0x190 [ 1712.101147] [<ffffffff8105ea35>] __do_softirq+0xb5/0x1f0 [ 1712.106602] [<ffffffff810b4308>] ? handle_IRQ_event+0x48/0x160 [ 1712.112581] [<ffffffff8100addc>] call_softirq+0x1c/0x30 [ 1712.117949] [<ffffffff8100c905>] do_softirq+0x65/0xa0 [ 1712.123147] [<ffffffff8105e8fd>] irq_exit+0x7d/0x90 [ 1712.128166] [<ffffffff8100be60>] do_IRQ+0x70/0xf0 [ 1712.133017] [<ffffffff8154ea13>] ret_from_intr+0x0/0x11 [ 1712.138383] <EOI> [<ffffffff810319a0>] ? __ticket_spin_unlock+0x0/0x10 [ 1712.145202] [<ffffffffa00f7dca>] ? pktgen_thread_worker+0x14a/0x840 [pktgen] [ 1712.152397] [<ffffffff81075700>] ? autoremove_wake_function+0x0/0x40 [ 1712.158893] [<ffffffff81075700>] ? autoremove_wake_function+0x0/0x40 [ 1712.165394] [<ffffffffa00f7c80>] ? pktgen_thread_worker+0x0/0x840 [pktgen] [ 1712.172413] [<ffffffff810751ce>] kthread+0x8e/0xa0 [ 1712.177346] [<ffffffff8100ace4>] kernel_thread_helper+0x4/0x10 [ 1712.183327] [<ffffffff81075140>] ? kthread+0x0/0xa0 [ 1712.188346] [<ffffffff8100ace0>] ? kernel_thread_helper+0x0/0x10 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fwd: pktgen with vlan packets 2011-05-20 15:03 ` Fwd: pktgen with vlan packets Lynch, Jonathan @ 2011-05-20 15:20 ` Eric Dumazet 2011-05-20 16:30 ` Lynch, Jonathan 0 siblings, 1 reply; 4+ messages in thread From: Eric Dumazet @ 2011-05-20 15:20 UTC (permalink / raw) To: Lynch, Jonathan; +Cc: netdev Le vendredi 20 mai 2011 à 16:03 +0100, Lynch, Jonathan a écrit : > Hi, > > Im running 2.6.35 kernel with an Intel 82599 NIC. > I want to send packets using pktgen via a number of vlan interfaces (1 > physical interface) created via vconfig but I get an OOPs when I try > and send via the vlan interface. See attached log file for the oops. > Im not using the pgset "vlan_id 77" params because I want to send > packets with more than 1 VLAN tag to one interface. (If it was > possible to send packets with different vlan tags over the one > interface with pktgen I would use it) > > my config is as follows: > ifconfig eth4 up > modprobe 8021q > vconfig add eth4 256 > ifconfig eth4.256 up > > My pktgen config is the exact same as > ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/examples/pktgen.conf-1-1 > except that instead of eth1, I have eth4.256. > > Any ideas as to how I can send packets with multiple VLAN tags over > the same interface with pktgen? I am afraid you cant yet. About the crash, you can either : 1) delete qdisc on eth4 ifconfig eth4 txqueuelen 0 tc qdisc add dev eth0 root sfq tc qdisc del dev eth0 root 2) use clone_skb 0 only (Or else, same skb can be queued several time on eth4 qdisc) -> crash ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fwd: pktgen with vlan packets 2011-05-20 15:20 ` Eric Dumazet @ 2011-05-20 16:30 ` Lynch, Jonathan 2011-05-20 16:43 ` Eric Dumazet 0 siblings, 1 reply; 4+ messages in thread From: Lynch, Jonathan @ 2011-05-20 16:30 UTC (permalink / raw) To: Eric Dumazet; +Cc: netdev [-- Attachment #1: Type: text/plain, Size: 1863 bytes --] Hi Eric, Thanks for your quick response. I tried your suggestion for number 1 and I got the following oops - see log2 attached - i ran tc qdisc before testing to confirm there is no qdisc for eth4. Then I tried suggestion 2, it works and sends packets over multiple VLAN interfaces using multiple threads. (When I combine suggestion 1 and 2 it crashes when I try sending to more than 1 VLAN interface) thanks again Jonathan On 20 May 2011 16:20, Eric Dumazet <eric.dumazet@gmail.com> wrote: > Le vendredi 20 mai 2011 à 16:03 +0100, Lynch, Jonathan a écrit : >> Hi, >> >> Im running 2.6.35 kernel with an Intel 82599 NIC. >> I want to send packets using pktgen via a number of vlan interfaces (1 >> physical interface) created via vconfig but I get an OOPs when I try >> and send via the vlan interface. See attached log file for the oops. >> Im not using the pgset "vlan_id 77" params because I want to send >> packets with more than 1 VLAN tag to one interface. (If it was >> possible to send packets with different vlan tags over the one >> interface with pktgen I would use it) >> >> my config is as follows: >> ifconfig eth4 up >> modprobe 8021q >> vconfig add eth4 256 >> ifconfig eth4.256 up >> >> My pktgen config is the exact same as >> ftp://robur.slu.se/pub/Linux/net-development/pktgen-testing/examples/pktgen.conf-1-1 >> except that instead of eth1, I have eth4.256. >> >> Any ideas as to how I can send packets with multiple VLAN tags over >> the same interface with pktgen? > > I am afraid you cant yet. > > About the crash, you can either : > > 1) delete qdisc on eth4 > > ifconfig eth4 txqueuelen 0 > tc qdisc add dev eth0 root sfq > tc qdisc del dev eth0 root > > 2) use clone_skb 0 only > > (Or else, same skb can be queued several time on eth4 qdisc) -> crash > > > > [-- Attachment #2: log2.txt --] [-- Type: text/plain, Size: 5292 bytes --] [ 4798.925030] Virtual device eth4 asks to queue packet! [ 4798.930130] BUG: unable to handle kernel paging request at 00000000000374be [ 4798.937151] IP: [<ffffffff81455f2e>] dst_release+0xe/0x30 [ 4798.942593] PGD 0 [ 4798.944636] Oops: 0002 [#1] SMP [ 4798.947918] last sysfs file: /sys/devices/virtual/net/eth4.256/type [ 4798.954202] CPU 0 [ 4798.956051] Modules linked in: pktgen 8021q garp stp sch_sfq nls_cp437 cifs ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 ixgbe iptable_filter ip_tables x_tables ioatdma dca lp mdio parport e1000e [ 4798.977215] [ 4798.978717] Pid: 10764, comm: kpktgend_0 Not tainted 2.6.35 #1 Greencity/Greencity [ 4798.986307] RIP: 0010:[<ffffffff81455f2e>] [<ffffffff81455f2e>] dst_release+0xe/0x30 [ 4798.994179] RSP: 0018:ffff880137f9dc90 EFLAGS: 00010202 [ 4798.999508] RAX: 00000000ffffffff RBX: ffff880137efa900 RCX: ffff880134e61000 [ 4799.006677] RDX: ffff880134e61000 RSI: ffff880133432e80 RDI: 00000000000373fe [ 4799.013847] RBP: ffff880137f9dc90 R08: 0000000000000000 R09: 0000000000000000 [ 4799.021016] R10: 0000000000000042 R11: 0000000000000000 R12: 0000000000000000 [ 4799.028185] R13: ffff880132ecc000 R14: ffff880137efaa00 R15: ffff880132ecc000 [ 4799.035355] FS: 0000000000000000(0000) GS:ffff880001e00000(0000) knlGS:0000000000000000 [ 4799.043495] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 4799.049272] CR2: 00000000000374be CR3: 0000000001a2a000 CR4: 00000000000006f0 [ 4799.056441] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 4799.063610] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 4799.070778] Process kpktgend_0 (pid: 10764, threadinfo ffff880137f9c000, task ffff880132f016b0) [ 4799.079526] Stack: [ 4799.081563] ffff880137f9dcf0 ffffffff8144ea17 0000000000000010 ffff880137f9dd00 [ 4799.088884] <0> ffffffffa00acf20 ffff880134e61000 ffffffffffffff75 ffff880137efaa00 [ 4799.096691] <0> 0000000000000000 ffff880132ecc000 ffff880134e61000 ffff88023578c040 [ 4799.104710] Call Trace: [ 4799.107187] [<ffffffff8144ea17>] dev_hard_start_xmit+0x177/0x460 [ 4799.113316] [<ffffffff81450ec6>] dev_queue_xmit+0x476/0x590 [ 4799.119011] [<ffffffff8154b8b1>] ? printk+0x3c/0x43 [ 4799.124010] [<ffffffffa00d3690>] ? vlan_dev_hwaccel_hard_start_xmit+0x0/0xb0 [8021q] [ 4799.131891] [<ffffffffa00d3714>] vlan_dev_hwaccel_hard_start_xmit+0x84/0xb0 [8021q] [ 4799.139685] [<ffffffffa014c2a5>] pktgen_xmit+0x815/0x11f0 [pktgen] [ 4799.145988] [<ffffffff8154ea0e>] ? common_interrupt+0xe/0x13 [ 4799.151767] [<ffffffffa014cdf0>] pktgen_thread_worker+0x170/0x840 [pktgen] [ 4799.158766] [<ffffffff81075700>] ? autoremove_wake_function+0x0/0x40 [ 4799.165242] [<ffffffff81075700>] ? autoremove_wake_function+0x0/0x40 [ 4799.171716] [<ffffffffa014cc80>] ? pktgen_thread_worker+0x0/0x840 [pktgen] [ 4799.178713] [<ffffffff810751ce>] kthread+0x8e/0xa0 [ 4799.183624] [<ffffffff8100ace4>] kernel_thread_helper+0x4/0x10 [ 4799.189577] [<ffffffff81075140>] ? kthread+0x0/0xa0 [ 4799.194573] [<ffffffff8100ace0>] ? kernel_thread_helper+0x0/0x10 [ 4799.200697] Code: 48 c7 05 da f5 63 00 00 00 00 00 e8 8d 87 0f 00 48 89 1d f6 c5 82 00 eb 88 0f 1f 40 00 55 48 85 ff 48 89 e5 74 12 b8 ff ff ff ff <f0> 0f c1 87 c0 00 00 00 83 e8 01 78 02 c9 c3 be 14 01 00 00 48 [ 4799.220963] RIP [<ffffffff81455f2e>] dst_release+0xe/0x30 [ 4799.226502] RSP <ffff880137f9dc90> [ 4799.230018] CR2: 00000000000374be [ 4799.233704] ---[ end trace 9243f25e7d0c2084 ]--- [ 4799.238391] Kernel panic - not syncing: Fatal exception in interrupt [ 4799.244823] Pid: 10764, comm: kpktgend_0 Tainted: G D 2.6.35 #1 [ 4799.251602] Call Trace: [ 4799.254119] [<ffffffff8154b7f4>] panic+0x8b/0x10c [ 4799.258980] [<ffffffff8154f9ca>] oops_end+0xea/0xf0 [ 4799.264023] [<ffffffff81038693>] no_context+0xf3/0x260 [ 4799.269321] [<ffffffff81038915>] __bad_area_nosemaphore+0x115/0x1d0 [ 4799.275754] [<ffffffff810389de>] bad_area_nosemaphore+0xe/0x10 [ 4799.281752] [<ffffffff815520ef>] do_page_fault+0x26f/0x310 [ 4799.287397] [<ffffffff8154ecf5>] page_fault+0x25/0x30 [ 4799.292611] [<ffffffff81455f2e>] ? dst_release+0xe/0x30 [ 4799.297995] [<ffffffff8144ea17>] dev_hard_start_xmit+0x177/0x460 [ 4799.304167] [<ffffffff81450ec6>] dev_queue_xmit+0x476/0x590 [ 4799.309900] [<ffffffff8154b8b1>] ? printk+0x3c/0x43 [ 4799.314943] [<ffffffffa00d3690>] ? vlan_dev_hwaccel_hard_start_xmit+0x0/0xb0 [8021q] [ 4799.322880] [<ffffffffa00d3714>] vlan_dev_hwaccel_hard_start_xmit+0x84/0xb0 [8021q] [ 4799.330721] [<ffffffffa014c2a5>] pktgen_xmit+0x815/0x11f0 [pktgen] [ 4799.337064] [<ffffffff8154ea0e>] ? common_interrupt+0xe/0x13 [ 4799.342889] [<ffffffffa014cdf0>] pktgen_thread_worker+0x170/0x840 [pktgen] [ 4799.349927] [<ffffffff81075700>] ? autoremove_wake_function+0x0/0x40 [ 4799.356448] [<ffffffff81075700>] ? autoremove_wake_function+0x0/0x40 [ 4799.362970] [<ffffffffa014cc80>] ? pktgen_thread_worker+0x0/0x840 [pktgen] [ 4799.370006] [<ffffffff810751ce>] kthread+0x8e/0xa0 [ 4799.374960] [<ffffffff8100ace4>] kernel_thread_helper+0x4/0x10 [ 4799.380959] [<ffffffff81075140>] ? kthread+0x0/0xa0 [ 4799.385995] [<ffffffff8100ace0>] ? kernel_thread_helper+0x0/0x10 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Fwd: pktgen with vlan packets 2011-05-20 16:30 ` Lynch, Jonathan @ 2011-05-20 16:43 ` Eric Dumazet 0 siblings, 0 replies; 4+ messages in thread From: Eric Dumazet @ 2011-05-20 16:43 UTC (permalink / raw) To: Lynch, Jonathan; +Cc: netdev Le vendredi 20 mai 2011 à 17:30 +0100, Lynch, Jonathan a écrit : > Hi Eric, > > Thanks for your quick response. > > I tried your suggestion for number 1 and I got the following oops - > see log2 attached > - i ran tc qdisc before testing to confirm there is no qdisc for eth4. > > Then I tried suggestion 2, it works and sends packets over multiple > VLAN interfaces using multiple threads. > (When I combine suggestion 1 and 2 it crashes when I try sending to > more than 1 VLAN interface) Well, yes, I guess there is nothing we can do about the crash issue, since pktgen is doing some hacks and we are not going to add additional tests in xmit fast path. pktgen should directly work with the lowerdev. [ going through vlan stack is an addtional overhead anyway ] To send packets to several vlans, you would need to add a pktgen patch. [to accept a range of vlan_id, or a list of vlan_id] Or just use "flag VID_RND" ? (It'll chose a random id in [0..4095]) ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-05-20 16:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <BANLkTinybQHjqXe-0SOU4wHTJg0M=QX=ow@mail.gmail.com>
2011-05-20 15:03 ` Fwd: pktgen with vlan packets Lynch, Jonathan
2011-05-20 15:20 ` Eric Dumazet
2011-05-20 16:30 ` Lynch, Jonathan
2011-05-20 16:43 ` Eric Dumazet
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox