[ovs-dev] [PATCH] physical: Preserve output port across multicast group output.

Ben Pfaff blp at nicira.com
Wed Oct 7 20:16:10 UTC 2015


Thanks, applied.

On Wed, Oct 07, 2015 at 11:17:59AM -0700, Justin Pettit wrote:
> Good catch.
> 
> Acked-by: Justin Pettit <jpettit at nicira.com>
> 
> --Justin
> 
> 
> > On Oct 2, 2015, at 12:45 PM, Ben Pfaff <blp at nicira.com> wrote:
> > 
> > Otherwise actions like this would not output to the same set of ports
> > for each output action (the second output would only forward to the
> > last port from the first output action):
> > 
> >    outport = "_MC_FLOOD"; output; output;
> > 
> > Obviously it's a corner case but it still seems worth implementing
> > correctly.
> > 
> > Found by inspection.
> > 
> > Signed-off-by: Ben Pfaff <blp at nicira.com>
> > ---
> > ovn/controller/physical.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> > 
> > diff --git a/ovn/controller/physical.c b/ovn/controller/physical.c
> > index efa34a2..0c239df 100644
> > --- a/ovn/controller/physical.c
> > +++ b/ovn/controller/physical.c
> > @@ -527,6 +527,10 @@ physical_run(struct controller_ctx *ctx, enum mf_field_id mff_ovn_geneve,
> >          * any. */
> >         bool local_ports = ofpacts.size > 0;
> >         if (local_ports) {
> > +            /* Following delivery to local logical ports, restore the multicast
> > +             * group as the logical output port. */
> > +            put_load(mc->tunnel_key, MFF_LOG_OUTPORT, 0, 32, &ofpacts);
> > +
> >             ofctrl_add_flow(flow_table, OFTABLE_LOCAL_OUTPUT, 100,
> >                             &match, &ofpacts);
> >         }
> > -- 
> > 2.1.3
> > 
> > _______________________________________________
> > dev mailing list
> > dev at openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev
> 



More information about the dev mailing list