I tried version 2.0.90 (commit: efa0521ca6a52d5), everything works like a
charm.

Then I checkout commit 31d738062df326aca4, try to replicate it. After
running 'fakeroot debian/rules binary',
I get version 2.0.90 only, packages of version 1.12.90 are not built (I
removed old source code, clone a new
copy from git://openvswitch.org/openvswitch, and noticed that branch-1.12.0
is removed). The old source code
would build two versions (1.12.90 and 2.0.90) at the same time.

I'm afraid I've made a mistake, sorry for that. I'll try several earlier
commits later.


On Wed, Sep 18, 2013 at 12:41 AM, Ben Pfaff <b...@nicira.com> wrote:

> 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)?
>
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to