Hi, I have observed the following crash below using the in-kernel packet generator with skb_clone set to a non-zero value.
The problem manifests when using GRE or VXLAN but not when no tunneling is configured. I am using the Ubuntu 2.6.38-8-server kernel. Where the relevant portion of skbuff.c looks like this: 768 int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail, 769 gfp_t gfp_mask) 770 { 771 int i; 772 u8 *data; 773 int size = nhead + (skb_end_pointer(skb) - skb->head) + ntail; 774 long off; 775 bool fastpath; 776 777 BUG_ON(nhead < 0); 778 779 if (skb_shared(skb)) 780 BUG(); 781 782 size = SKB_DATA_ALIGN(size); I am using the following revision of the OVS master branch commit 279320b8276011df3667478de6750d5a40d0c6eb Author: Tyler Coumbes <coum...@gmail.com> Date: Mon Nov 14 09:08:03 2011 -0800 rhel: Add ability to enable bridge compatibility mode in /etc/sysconfig/open With the following patches from the mailing list applied commit 2588b90b7a10b6450bfc1d30a1149f1b58774212 Author: Justin Pettit <jpet...@nicira.com> Date: Tue Oct 18 17:01:58 2011 -0700 [RFC v2] vxlan: Add support for VXLAN-over-IPsec. commit a971be698dc179803784e726feb2b253abec3592 Author: Ben Pfaff <b...@nicira.com> Date: Tue Oct 18 17:01:57 2011 -0700 [RFC v2] Implement draft VXLAN L2-over-L3 tunneling protocol. --- crash log --- [ 621.746623] ------------[ cut here ]------------ [ 621.748027] kernel BUG at /build/buildd/linux-2.6.38/net/core/skbuff.c:780! [ 621.791069] invalid opcode: 0000 [#1] SMP [ 621.834351] last sysfs file: /sys/devices/pci0000:00/0000:00:03.0/0000:02:00.0/net/eth3/carrier [ 621.923975] CPU 0 [ 621.924567] Modules linked in: pktgen netconsole configfs ipmi_devintf ipmi_si ipmi_msghandler openvswitch_mod ip6table_filter ip6_tables btrfs libcrc32c ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables kvm_intel bridge stp kvm vesafb deflate zlib_deflate ctr twofish_generic twofish_x86_64 twofish_common camellia serpent blowfish cast5 des_generic aesni_intel cryptd aes_x86_64 aes_generic xcbc rmd160 sha512_generic sha256_generic sha1_generic crypto_null af_key joydev psmouse ixgbe ahci libahci usbhid igb e1000e hid i7core_edac ghes serio_raw hed edac_core dca mdio xfs exportfs shpchp mptsas mptscsih mptbase scsi_transport_sas [ 622.470544] [ 622.521074] Pid: 2082, comm: kpktgend_0 Not tainted 2.6.38-8-server #42-Ubuntu Quanta QSSC-98J_C2 /QSSC-98J_C2 [ 622.627753] RIP: 0010:[<ffffffff814d850e>] [<ffffffff814d850e>] pskb_expand_head+0x29e/0x2b0 [ 622.735904] RSP: 0018:ffff88040fe85ab0 EFLAGS: 00010202 [ 622.791295] RAX: 0000000000000002 RBX: ffff880410509600 RCX: 0000000000000020 [ 622.847066] RDX: 0000000000000000 RSI: 0000000000000040 RDI: ffff88041582f800 [ 622.902029] RBP: ffff88040fe85b00 R08: 0000000000000000 R09: 00000000a60b2c22 [ 622.956455] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000040 [ 623.009861] R13: 0000000000000100 R14: 0000000000000000 R15: ffff8804161d6110 [ 623.062033] FS: 0000000000000000(0000) GS:ffff8800bf200000(0000) knlGS:0000000000000000 [ 623.163174] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 623.214353] CR2: 00007f8a5e8438e0 CR3: 0000000001a03000 CR4: 00000000000006f0 [ 623.265831] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 623.316234] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 623.365129] Process kpktgend_0 (pid: 2082, threadinfo ffff88040fe84000, task ffff880415c444a0) [ 623.461998] Stack: [ 623.509308] ffff88040fe85ac0 00ffffff8105f702 ffff880416a20000 0000000010509600 [ 623.604621] ffff880415e11500 ffff880410509600 ffff880415e11500 ffff88041dc5fcc0 [ 623.699719] 0000000000000000 ffff8804161d6110 ffff88040fe85bd0 ffffffffa0496dc9 [ 623.794975] Call Trace: [ 623.840650] [<ffffffffa0496dc9>] tnl_send+0x649/0xc80 [openvswitch_mod] [ 623.887345] [<ffffffff8115469c>] ? __slab_alloc+0xbc/0x390 [ 623.932963] [<ffffffff81038c79>] ? default_spin_lock_flags+0x9/0x10 [ 623.978985] [<ffffffff814d673d>] ? skb_queue_tail+0x4d/0x60 [ 624.024204] [<ffffffffa0497e6e>] vport_send+0x1e/0x60 [openvswitch_mod] [ 624.069126] [<ffffffffa048e173>] do_output+0x23/0x40 [openvswitch_mod] [ 624.113323] [<ffffffffa048e85e>] do_execute_actions+0x56e/0x810 [openvswitch_mod] [ 624.198921] [<ffffffffa048f751>] ? queue_userspace_packet+0x321/0x340 [openvswitch_mod] [ 624.287175] [<ffffffff815d7cce>] ? common_interrupt+0xe/0x13 [ 624.332881] [<ffffffffa0492ff2>] ? flow_extract+0x202/0xb80 [openvswitch_mod] [ 624.425541] [<ffffffffa0499a30>] ? internal_dev_xmit+0x0/0x30 [openvswitch_mod] [ 624.520802] [<ffffffffa048eb6c>] execute_actions+0x6c/0xc0 [openvswitch_mod] [ 624.570075] [<ffffffffa0492974>] ? flow_used+0x74/0xb0 [openvswitch_mod] [ 624.619052] [<ffffffffa0491541>] dp_process_received_packet+0x71/0x150 [openvswitch_mod] [ 624.718285] [<ffffffffa04d65a6>] ? spin+0xb6/0x200 [pktgen] [ 624.769008] [<ffffffffa0497e47>] vport_receive+0x67/0x70 [openvswitch_mod] [ 624.819568] [<ffffffffa0499a53>] internal_dev_xmit+0x23/0x30 [openvswitch_mod] [ 624.920491] [<ffffffffa04d8a4a>] pktgen_xmit+0x12a/0x3a0 [pktgen] [ 624.971535] [<ffffffffa04d8e12>] pktgen_thread_worker+0x152/0x430 [pktgen] [ 625.021907] [<ffffffff81056131>] ? finish_task_switch+0x41/0xe0 [ 625.037324] br3: no IPv6 routers present [ 625.119558] [<ffffffff81087940>] ? autoremove_wake_function+0x0/0x40 [ 625.168269] [<ffffffff81087940>] ? autoremove_wake_function+0x0/0x40 [ 625.216467] [<ffffffffa04d8cc0>] ? pktgen_thread_worker+0x0/0x430 [pktgen] [ 625.264370] [<ffffffff810871f6>] kthread+0x96/0xa0 [ 625.311788] [<ffffffff8100cde4>] kernel_thread_helper+0x4/0x10 [ 625.359373] [<ffffffff81087160>] ? kthread+0x0/0xa0 [ 625.406603] [<ffffffff8100cde0>] ? kernel_thread_helper+0x0/0x10 [ 625.453778] Code: 01 e9 e7 fe ff ff 0f 1f 80 00 00 00 00 48 8b bb d8 00 00 00 e8 a4 d4 c7 ff eb b1 48 8b 40 10 8b 48 08 f0 ff 40 08 e9 64 ff ff ff <0f> 0b 0f 0b 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 [ 625.599468] RIP [<ffffffff814d850e>] pskb_expand_head+0x29e/0x2b0 [ 625.646942] RSP <ffff88040fe85ab0> [ 625.757575] ---[ end trace 17f1ece3d541e4d0 ]--- [ 625.803494] Kernel panic - not syncing: Fatal exception in interrupt [ 625.850041] Pid: 2082, comm: kpktgend_0 Tainted: G D 2.6.38-8-server #42-Ubuntu [ 625.940989] Call Trace: [ 625.984474] [<ffffffff815d4a0a>] ? panic+0x91/0x19c [ 626.027856] [<ffffffff815d8c8a>] ? oops_end+0xea/0xf0 [ 626.070646] [<ffffffff8101007b>] ? die+0x5b/0x90 [ 626.112624] [<ffffffff815d8334>] ? do_trap+0xc4/0x170 [ 626.153462] [<ffffffff8100d395>] ? do_invalid_op+0x95/0xb0 [ 626.193668] [<ffffffff814d850e>] ? pskb_expand_head+0x29e/0x2b0 [ 626.233655] [<ffffffffa0294245>] ? ixgbe_xmit_frame_ring+0x2f5/0x400 [ixgbe] [ 626.273980] [<ffffffff815d7cce>] ? common_interrupt+0xe/0x13 [ 626.313200] [<ffffffff8100cc5b>] ? invalid_op+0x1b/0x20 [ 626.351475] [<ffffffff814d850e>] ? pskb_expand_head+0x29e/0x2b0 [ 626.389919] [<ffffffffa0496dc9>] ? tnl_send+0x649/0xc80 [openvswitch_mod] [ 626.428602] [<ffffffff8115469c>] ? __slab_alloc+0xbc/0x390 [ 626.466776] [<ffffffff81038c79>] ? default_spin_lock_flags+0x9/0x10 [ 626.504653] [<ffffffff814d673d>] ? skb_queue_tail+0x4d/0x60 [ 626.543343] [<ffffffffa0497e6e>] ? vport_send+0x1e/0x60 [openvswitch_mod] [ 626.582452] [<ffffffffa048e173>] ? do_output+0x23/0x40 [openvswitch_mod] [ 626.621405] [<ffffffffa048e85e>] ? do_execute_actions+0x56e/0x810 [openvswitch_mod] [ 626.698721] [<ffffffffa048f751>] ? queue_userspace_packet+0x321/0x340 [openvswitch_mod] [ 626.779475] [<ffffffff815d7cce>] ? common_interrupt+0xe/0x13 [ 626.820180] [<ffffffffa0492ff2>] ? flow_extract+0x202/0xb80 [openvswitch_mod] [ 626.900729] [<ffffffffa0499a30>] ? internal_dev_xmit+0x0/0x30 [openvswitch_mod] [ 626.983496] [<ffffffffa048eb6c>] ? execute_actions+0x6c/0xc0 [openvswitch_mod] [ 627.068278] [<ffffffffa0492974>] ? flow_used+0x74/0xb0 [openvswitch_mod] [ 627.111957] [<ffffffffa0491541>] ? dp_process_received_packet+0x71/0x150 [openvswitch_mod] [ 627.199850] [<ffffffffa04d65a6>] ? spin+0xb6/0x200 [pktgen] [ 627.245457] [<ffffffffa0497e47>] ? vport_receive+0x67/0x70 [openvswitch_mod] [ 627.292142] [<ffffffffa0499a53>] ? internal_dev_xmit+0x23/0x30 [openvswitch_mod] [ 627.385725] [<ffffffffa04d8a4a>] ? pktgen_xmit+0x12a/0x3a0 [pktgen] [ 627.434722] [<ffffffffa04d8e12>] ? pktgen_thread_worker+0x152/0x430 [pktgen] [ 627.483683] [<ffffffff81056131>] ? finish_task_switch+0x41/0xe0 [ 627.532296] [<ffffffff81087940>] ? autoremove_wake_function+0x0/0x40 [ 627.581288] [<ffffffff81087940>] ? autoremove_wake_function+0x0/0x40 [ 627.629341] [<ffffffffa04d8cc0>] ? pktgen_thread_worker+0x0/0x430 [pktgen] [ 627.677524] [<ffffffff810871f6>] ? kthread+0x96/0xa0 [ 627.725063] [<ffffffff8100cde4>] ? kernel_thread_helper+0x4/0x10 [ 627.772788] [<ffffffff81087160>] ? kthread+0x0/0xa0 [ 627.820006] [<ffffffff8100cde0>] ? kernel_thread_helper+0x0/0x10 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev