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

Justin Pettit jpettit at nicira.com
Wed Oct 7 18:17:59 UTC 2015


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