[ovs-discuss] problem of patch port and 'in_port' action

Ben Pfaff blp at nicira.com
Tue Sep 17 16:41:01 UTC 2013


On Tue, Sep 17, 2013 at 12:11:37PM +0800, Peter wrote:
> Hello,
> 
> I encounter a problem of patch port and 'in_port' action: ovs-vswitchd hangs when any packet received from patch port 
> and matches a flow with 'in_port' action. Is it a bug? Or I missing anything? My ovs version is 1.12.90, compiled with
> recent git source code (commit: 31d738062df326aca4), however, I've not test other versions yet.
> 
> To replicate:
> 
> 1, Create a test netns and devices
> 
> sudo ip netns add n1
> sudo ip netns add n2
> sudo ip l add type veth
> sudo ip l add type veth
> sudo ip l set dev veth0 up
> sudo ip l set dev veth1 up netns n1
> sudo ip l set dev veth2 up
> sudo ip l set dev veth3 up netns n2
> 
> 2, Add ip addresses and routes
> 
> sudo ip netns exec n1 ip a add 10.0.1.2/24 dev veth1 brd 10.0.1.255
> sudo ip netns exec n1 ip r add 10.0.0.0/8 dev veth1
> sudo ip netns exec n2 ip a add 10.0.2.2/24 dev veth3 brd 10.0.2.255
> sudo ip netns exec n2 ip r add 10.0.0.0/8 dev veth3
> 
> 3, Create two bridges and connected with path port, and connect test devices
> 
> sudo ovs-vsctl add-br br-test
> sudo ovs-vsctl add-br br-loop
> sudo ovs-vsctl add-port br-test patch_t_l -- set Interface patch_t_l type=patch options:peer=patch_l_t
> sudo ovs-vsctl add-port br-loop patch_l_t -- set Interface patch_l_t type=patch options:peer=patch_t_l
> sudo ovs-vsctl add-port br-test veth0 -- set Port veth0 tag=1
> sudo ovs-vsctl add-port br-test veth2 -- set Port veth2 tag=2
> 
> 4, Add flows
> 
> sudo ovs-ofctl add-flow br-loop priority=3,in_port=1,arp,nw_dst=10.0.1.2,actions=mod_vlan_vid:1,in_port
> sudo ovs-ofctl add-flow br-loop priority=3,in_port=1,ip,nw_dst=10.0.1.2,actions=mod_vlan_vid:1,in_port
> sudo ovs-ofctl add-flow br-loop priority=3,in_port=1,arp,nw_dst=10.0.2.2,actions=mod_vlan_vid:2,in_port
> sudo ovs-ofctl add-flow br-loop priority=3,in_port=1,ip,nw_dst=10.0.2.2,actions=mod_vlan_vid:2,in_port
> 
> 5, send test packets
> sudo ip netns exec n1 ping 10.0.2.2
> 
> Now, the ovs-vswitchd seems hang, and I strace the process, get a lot
> futex calls, have to restart vswitch to recovery.

Can you provide a backtrace (via GDB)?



More information about the discuss mailing list