On Wed, Nov 4, 2026 at 12:24 AM Dumitru Ceara <[email protected]> wrote:
>
> On 11/4/26 8:57 AM, Han Zhou via dev wrote:
> > From: Zhen Wang <[email protected]>
> >
> > Every other branch of the multicast group loop writes the destination's
> > key into the outport register because something downstream reads it back.
> > The type=remote branch does not: it calls tunnel_to_chassis(), which
> > passes the key to put_encapsulation() as an argument and writes it
> > straight into the tunnel header.  Nothing reads MFF_LOG_OUTPORT between
> > the load and the output, so the load is dead.
> >
> > It is not free, though.  It costs 16 bytes of OpenFlow in a flow that
> > already carries one set of actions per destination, which is what bounds
> > how many remote ports a flood can reach.  Removing it raises that ceiling
> > from 680 destinations to 817.
> >
> > Assisted-by: Claude Opus 5, Cursor
> > Signed-off-by: Zhen Wang <[email protected]>
> > ---
>
> Hi Han, Zhen Wang,
>
> Thanks for the patch!  Do we miss a Fixes tag?
>
> >  controller/physical.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/controller/physical.c b/controller/physical.c
> > index 554e611d60e6..ea1f2e0d1a53 100644
> > --- a/controller/physical.c
> > +++ b/controller/physical.c
> > @@ -3041,8 +3041,8 @@ consider_mc_group(const struct physical_ctx *ctx,
> >              }
> >          } else if (type == LP_REMOTE) {
> >              if (port->chassis) {
> > -                put_load(port->tunnel_key, MFF_LOG_OUTPORT, 0, 32,
> > -                         &remote_ctx->ofpacts);
> > +                /* No outport load: the destination key reaches the tunnel
> > +                 * header through tunnel_to_chassis' argument instead. */
> >                  tunnel_to_chassis(ctx->mff_ovn_geneve, port->chassis->name,
> >                                    ctx->chassis_tunnels, mc->datapath,
> >                                    port->tunnel_key, &remote_ctx->ofpacts);
>
> I think this is correct but I'd remove the comment, it's quite redundant.
>
> Assuming CI passes:
> https://github.com/ovsrobot/ovn/actions/runs/41796673913
> https://github.com/ovsrobot/ovn/actions/runs/41796673899
>
> and assuming you add a Fixes tag and remove this comment then feel free
> to add my ack:
>
> Acked-by: Dumitru Ceara <[email protected]>

Thanks Dumitru. I added the Fixes tag and removed the comment. Pushed
to main and backported to 26.09 and 26.03.

Best,
Han

>
> Regards,
> Dumitru
>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to