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

Russell Bryant russell at ovn.org
Thu Sep 8 19:29:07 UTC 2016


On Fri, Sep 2, 2016 at 3:34 PM, Chandra S Vejendla <csvejend at us.ibm.com>
wrote:

> 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);
>      }
>

If this is the fix, this appears to be the only place
consider_neighbor_flow() is used, so it's not clear there is any value for
having match passed in as an argument at all.

-- 
Russell Bryant



More information about the dev mailing list