On Tue, Jun 18, 2024 at 4:32 PM Dumitru Ceara <[email protected]> wrote:
> This reverts commit 85ca2b75369c9a73f4750d5914666a54ebb3f2e0. > > The commit above breaks inter-AZ IP multicast for the case when one of > the multicast receivers is co-located in the same zone as the sender. > In those cases traffic is not correctly forwarded to other receivers > that joined the group in other AZs. > > This is often the case in ovn-kubernetes deployments (with IC enabled). > The current "interconnection - IGMP/MLD multicast" unit test failed to > cover such topologies. > > CC: Mohammad Heib <[email protected]> > Fixes: 85ca2b75369c ("northd: Don't skip transit switch LSP when creating > mcast groups.") > Reported-at: https://issues.redhat.com/browse/FDP-656 > Signed-off-by: Dumitru Ceara <[email protected]> > --- > northd/northd.c | 8 +++----- > northd/northd.h | 6 ------ > tests/ovn-ic.at | 10 ---------- > 3 files changed, 3 insertions(+), 21 deletions(-) > > diff --git a/northd/northd.c b/northd/northd.c > index 3c1affb02f..7e474a7b89 100644 > --- a/northd/northd.c > +++ b/northd/northd.c > @@ -5434,13 +5434,11 @@ ovn_igmp_group_get_ports(const struct > sbrec_igmp_group *sb_igmp_group, > continue; > } > > - /* If this is already a port of a router on which relay is enabled > - * and it's not a transit switch to router port, skip it for the > - * group. Traffic is flooded there anyway. > + /* If this is already a port of a router on which relay is > enabled, > + * skip it for the group. Traffic is flooded there anyway. > */ > if (port->peer && port->peer->od && > - port->peer->od->mcast_info.rtr.relay && > - !ovn_datapath_is_transit_switch(port->od)) { > + port->peer->od->mcast_info.rtr.relay) { > continue; > } > > diff --git a/northd/northd.h b/northd/northd.h > index 146139bebc..fd884c851e 100644 > --- a/northd/northd.h > +++ b/northd/northd.h > @@ -362,12 +362,6 @@ ovn_datapath_is_stale(const struct ovn_datapath *od) > return !od->nbr && !od->nbs; > }; > > -static inline bool > -ovn_datapath_is_transit_switch(const struct ovn_datapath *od) > -{ > - return od->tunnel_key >= OVN_MIN_DP_KEY_GLOBAL; > -} > - > /* Pipeline stages. */ > > /* The two purposes for which ovn-northd uses OVN logical datapaths. */ > diff --git a/tests/ovn-ic.at b/tests/ovn-ic.at > index 1666e77295..20409f70ac 100644 > --- a/tests/ovn-ic.at > +++ b/tests/ovn-ic.at > @@ -2042,20 +2042,10 @@ wait_row_count IGMP_Group 2 address=239.0.1.68 > wait_row_count IGMP_Group 2 address='"ff0a:dead:beef::1"' > check ovn-nbctl --wait=hv sync > > -#Validate that Multicast Group contains all registered ports for > -# specific igmp group. > -ts_dp=$(fetch_column datapath_binding _uuid external_ids:name=ts) > -ports=$(fetch_column multicast_group ports name="239.0.1.68" > datapath=$ts_dp) > -check test X2 = X$(echo $ports | wc -w) > - > - > ovn_as az2 > wait_row_count IGMP_Group 2 address=239.0.1.68 > wait_row_count IGMP_Group 2 address='"ff0a:dead:beef::1"' > check ovn-nbctl --wait=hv sync > -ts_dp=$(fetch_column datapath_binding _uuid external_ids:name=ts) > -ports=$(fetch_column multicast_group ports name="239.0.1.68" > datapath=$ts_dp) > -check test X2 = X$(echo $ports | wc -w) > > # Send an IP multicast packet from LSP2, it should be forwarded > # to lsp1 and lsp3. > -- > 2.44.0 > > looks good to me, thanks Dumitru. Acked-by: Mohammad Heib <[email protected]> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
