[ovs-dev] [PATCH] ovn-controller: Fix match crieria for dynamic mac binding flows

Ryan Moats rmoats at us.ibm.com
Sat Sep 3 13:05:55 UTC 2016



Chandra Sekhar Vejendla/San Jose/IBM at IBMUS wrote on 09/02/2016 02:34:35 PM:

> From: Chandra Sekhar Vejendla/San Jose/IBM at IBMUS
> To: dev at openvswitch.org
> Cc: Chandra Sekhar Vejendla/San Jose/IBM at IBMUS, Ryan
Moats/Omaha/IBM at IBMUS
> Date: 09/02/2016 02:35 PM
> Subject: [PATCH] ovn-controller: Fix match crieria for dynamic mac
> binding flows
>
> match struct is not initialized before adding flows for each entry in
> mac_bindings table. This results in incorrect match criteria.
>
> Signed-off-by: Chandra Sekhar Vejendla <csvejend at us.ibm.com>
> Signed-off-by: Ryan Moats <rmoats at us.ibm.com>
> Co-authored-by: Ryan Moats <rmoats at us.ibm.com>
> ---
>  ovn/controller/lflow.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/ovn/controller/lflow.c b/ovn/controller/lflow.c
> index efac5b3..fa639ae 100644
> --- a/ovn/controller/lflow.c
> +++ b/ovn/controller/lflow.c
> @@ -399,12 +399,12 @@ add_neighbor_flows(struct controller_ctx *ctx,
>                     struct hmap *flow_table)
>  {
>      struct ofpbuf ofpacts;
> -    struct match match;
> -    match_init_catchall(&match);
>      ofpbuf_init(&ofpacts, 0);
>
>      const struct sbrec_mac_binding *b;
>      SBREC_MAC_BINDING_FOR_EACH (b, ctx->ovnsb_idl) {
> +        struct match match;
> +        match_init_catchall(&match);
>          consider_neighbor_flow(lports, b, &ofpacts, &match, flow_table);
>      }
>
> --

This looks obvious to me, so ...

Acked-by: Ryan Moats <rmoats at us.ibm.com>

Side question: I'm not seeing a unit test case around flows and mac
bindings
that would have caught this.  Is this actually missing or am I just blind
today? :)



More information about the dev mailing list