[ovs-dev] [PATCH] ofproto-dpif-xlate: Terminate native tunnels only on ports with IP addresses.

Mike Pattrick mkp at redhat.com
Wed Nov 17 14:22:15 UTC 2021


Looks good to me.

Acked-by: Mike Pattrick <mkp at redhat.com>


On Mon, Nov 15, 2021 at 1:08 PM Ilya Maximets <i.maximets at ovn.org> wrote:
>
> On 11/15/21 18:28, Mike Pattrick wrote:
> > Hello Ilya,
> >
> > For some reason, the included test fails for me when I try to run it.
> > The diff is:
> >
> > ./tunnel-push-pop.at:751: tail -2 stdout
> > --- -    2021-11-15 12:09:05.838890065 -0500
> > +++ /root/ovs/tests/testsuite.dir/at-groups/782/stdout    2021-11-15
> > 12:09:05.836652743 -0500
> > @@ -1,3 +1,3 @@
> > -Megaflow: recirc_id=0,eth,in_port=2,dl_type=0x0000
> > -Datapath actions: 3
> > +Megaflow: recirc_id=0,eth,in_port=1,dl_type=0x0000
> > +Datapath actions: 5
> >
> > I see that it passed github CI, so I'm unsure why it's failing for me.
> >
> > -M
>
> Good catch.  Thanks!
>
> I suppose, you're building with higher instruction set enabled,
> e.g. sse4.2 or something like this (We definitely need to add
> a job like this to GHA).  This may affect the order in which ports
> are added and hence the port numbers.  I shouldn't add ports this
> way.  add_of_ports should be used instead, it will set ofport_request
> and will use names that will be translated into datapath port
> numbers.  Could you try this:
>
> diff --git a/tests/tunnel-push-pop.at b/tests/tunnel-push-pop.at
> index ed72ff986..1c9f6cad1 100644
> --- a/tests/tunnel-push-pop.at
> +++ b/tests/tunnel-push-pop.at
> @@ -737,26 +737,25 @@ AT_CHECK([
>  dnl Creating a separate bridge that is completely unrelated to a tunnel
>  dnl configuration.  Ports in this bridge cannot be tunnel endpoints.
>  AT_CHECK([ovs-vsctl add-br br-non-tunnel dnl
> -          -- set bridge br-non-tunnel datapath_type=dummy fail-mode=secure dnl
> -          -- add-port br-non-tunnel port0 -- set Interface port0 type=dummy dnl
> -          -- add-port br-non-tunnel port1 -- set Interface port1 type=dummy])
> +          -- set bridge br-non-tunnel datapath_type=dummy fail-mode=secure])
> +add_of_ports br-non-tunnel 7 8
>  AT_CHECK([ovs-ofctl del-flows br-non-tunnel])
> -AT_CHECK([ovs-ofctl add-flow br-non-tunnel in_port=port0,action=port1])
> -AT_CHECK([ovs-ofctl add-flow br-non-tunnel in_port=port1,action=port0])
> +AT_CHECK([ovs-ofctl add-flow br-non-tunnel in_port=p7,action=p8])
> +AT_CHECK([ovs-ofctl add-flow br-non-tunnel in_port=p8,action=p7])
>
>  dnl Checking that tunnel configuration doesn't impact flow translation
>  dnl on this bridge (Megaflow should contain a bare minimum of fields
>  dnl according to installed OF rules).
> -AT_CHECK([ovs-appctl ofproto/trace br-non-tunnel in_port=port0], [0], [stdout])
> +AT_CHECK([ovs-appctl ofproto/trace br-non-tunnel in_port=p7], [0], [stdout])
>  AT_CHECK([tail -2 stdout], [0], [dnl
> -Megaflow: recirc_id=0,eth,in_port=2,dl_type=0x0000
> -Datapath actions: 3
> +Megaflow: recirc_id=0,eth,in_port=7,dl_type=0x0000
> +Datapath actions: 8
>  ])
>
> -AT_CHECK([ovs-appctl ofproto/trace br-non-tunnel in_port=port1], [0], [stdout])
> +AT_CHECK([ovs-appctl ofproto/trace br-non-tunnel in_port=p8], [0], [stdout])
>  AT_CHECK([tail -2 stdout], [0], [dnl
> -Megaflow: recirc_id=0,eth,in_port=1,dl_type=0x0000
> -Datapath actions: 5
> +Megaflow: recirc_id=0,eth,in_port=8,dl_type=0x0000
> +Datapath actions: 7
>  ])
>
>  OVS_VSWITCHD_STOP
> ---
> ?
>
> Bets regards, Ilya Maximets.
>



More information about the dev mailing list