[ovs-discuss] OVS misconfiguration issue
Gregory Rose
gvrose8192 at gmail.com
Thu May 3 19:51:36 UTC 2018
On 5/1/2018 10:35 PM, Neelakantam Gaddam wrote:
> Hi All,
>
> The issue here is we are trying to send the packets on the same device
> in a loop. While sending on a device, a spinlock for the tx queue has
> to be acquired in dev_queue_xmit function. This is where we are trying
> to acquire the same lock again, which is leading to the kernel crash.
> This issue becomes worse if internal ports are involved in the
> configuration.
>
> I think, we should avoid these loops in the vport send functions. But
> in case of tunneling, the tunnel send function should take care of
> these checks.
>
> Please share your thoughts on this issue.
Hello Neelakantam,
Please provide the full kernel panic backtrace and I'll have a look at
the problem. I'm rather busy
dealing with some other critical issues but will try to get back to you
next week.
Thanks,
- Greg
>
> On Mon, Apr 30, 2018 at 11:17 AM, Neelakantam Gaddam
> <neelugaddam at gmail.com <mailto:neelugaddam at gmail.com>> wrote:
>
> Hi All,
>
> OVS misconfiguration leading to spinlock recursion in dev_queue_xmit.
>
> We are running ovs-2.8.1 with openvswitch kernel modules on two
> hosts connected back to back. We are running OVS on MIPS64 platform.
>
>
>
> We are using the below configuration.
>
> ovs-vsctl add-br br0
>
> ovs-vsctl add-bond br0 bond0 p1p1 p1p2
>
> ovs-vsctl set port bond0 lacp=active bond_mode=balance-tcp
>
> ifconfig br0 100.0.0.1 up
>
> ovs-vsctl add-port br0 veth0
>
> ovs-vsctl add-port br0 vx0 -- set interface vx0 type=vxlan
> options:local_ip=100.0.0.1 options:remote_ip=100.0.0.2 option:key=flow
>
> ovs-ofctl add-flow br0 "table=0, priority=1, cookie=100,
> tun_id=100, in_port=4, action=output:3"
>
> ovs-ofctl add-flow br0 "table=0, priority=1, cookie=100,
> in_port=3, actions=set_field:100->tun_id output:4"
>
> When this configuration is applied on both hosts, we are seeing
> the below spinlock recursion bug.
>
> [<ffffffff80864cd4>] show_stack+0x6c/0xf8
>
> [<ffffffff80ad1628>] do_raw_spin_lock+0x168/0x170
>
> [<ffffffff80bf7b1c>] dev_queue_xmit+0x43c/0x470
>
> [<ffffffff80c32c08>] ip_finish_output+0x250/0x490
>
> [<ffffffffc0115664>] rpl_iptunnel_xmit+0x134/0x218 [openvswitch]
>
> [<ffffffffc0120f28>] rpl_vxlan_xmit+0x430/0x538 [openvswitch]
>
> [<ffffffffc00f9de0>] do_execute_actions+0x18f8/0x19e8 [openvswitch]
>
> [<ffffffffc00fa2b0>] ovs_execute_actions+0x90/0x208 [openvswitch]
>
> [<ffffffffc0101860>] ovs_dp_process_packet+0xb0/0x1a8 [openvswitch]
>
> [<ffffffffc010c5d8>] ovs_vport_receive+0x78/0x130 [openvswitch]
>
> [<ffffffffc010ce6c>] internal_dev_xmit+0x34/0x98 [openvswitch]
>
> [<ffffffff80bf74d0>] dev_hard_start_xmit+0x2e8/0x4f8
>
> [<ffffffff80c10e48>] sch_direct_xmit+0xf0/0x238
>
> [<ffffffff80bf78b8>] dev_queue_xmit+0x1d8/0x470
>
> [<ffffffff80c5ffe4>] arp_process+0x614/0x628
>
> [<ffffffff80bf0cb0>] __netif_receive_skb_core+0x2e8/0x5d8
>
> [<ffffffff80bf4770>] process_backlog+0xc0/0x1b0
>
> [<ffffffff80bf501c>] net_rx_action+0x154/0x240
>
> [<ffffffff8088d130>] __do_softirq+0x1d0/0x218
>
> [<ffffffff8088d240>] do_softirq+0x68/0x70
>
> [<ffffffff8088d3a0>] local_bh_enable+0xa8/0xb0
>
> [<ffffffff80bf5c88>] netif_rx_ni+0x20/0x30
>
> The packet path traced is : netif_rx->arp->dev_queue_xmit(internal
> port)->vxlan_xmit->dev_queue_xmit(internal port). According to the
> configuration, this packet path is valid. But we should not hit
> the crash.
>
>
> Questions:
>
>
> * Is it a kernel bug or ovs bug ?
> * How OVS handles these kind of misconfigurations especially
> packet loops involved?
>
> Any suggestion or help is greatly appreciated.
>
>
>
> Thanks
>
>
>
> --
> Thanks & Regards
> Neelakantam Gaddam
>
>
>
>
> --
> Thanks & Regards
> Neelakantam Gaddam
>
>
> _______________________________________________
> discuss mailing list
> discuss at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20180503/801e0415/attachment-0001.html>
More information about the discuss
mailing list