Thread (5 messages) 5 messages, 2 authors, 2023-03-20

Re: Multicast: handling of STA disconnect

From: Ujjal Roy <hidden>
Date: 2023-03-20 17:46:04
Also in: bridge, lkml

Hi Nik,

Any idea if the station connects back immediately after say 10 sec?
How to resume the session immediately if we delete the MDB on
disconnect? Currently, the station needs to wait until the next
general query to come to STA.

My idea is to send a general query to that specific port to resume the
session immediately from the STA connect event. This will create the
MDB immediately and resume the stream, as we have deleted the MDB from
disconnect.

Thanks,
UjjaL Roy

On Mon, Mar 20, 2023 at 10:55 PM Ujjal Roy [off-list ref] wrote:
Hi Nik,

Flushing MDB can only be done when we are managing it per station not
per port. For that we need to have MCAST_TO_UCAST, EHT and FAST_LEAVE.

Here one more point is - some vendors may offload MCAST_TO_UCAST
conversion in their own FW to reduce CPU.

So, the best way is to have MCAST_TO_UCAST enabled and MDB will become
per station, so we can delete MDB on disconnect. Shall, I create one
patch for review?

Thanks,
UjjaL Roy

On Mon, Mar 20, 2023 at 5:38 PM Nikolay Aleksandrov [off-list ref] wrote:
quoted
On 20/03/2023 13:45, Ujjal Roy wrote:
quoted
Hi Nikolay,

I have some query on multicast. When streams running on an STA and STA
disconnected due to some reason. So, until the MDB is timed out the
stream will be forwarded to the port and in turn to the driver and
dropps there as no such STA.

So, is the multicast_eht handling this scenario to take any action
immediately? If not, can we do this to take quick action to reduce
overhead of memory and driver?

I have an idea on this. Can we mark this port group (MDB entry) as
INACTIVE from the WiFi disconnect event and skip forwarding the stream
to this port in br_multicast_flood by applying the check? I can share
the patch on this.

Thanks,
UjjaL Roy
Hi,
Fast leave and EHT (as that's v3's fast leave version) are about quickly converging when
a leave is received (e.g. when there are no listeners to quickly remove the mdb). They
don't deal with interface states (IIUC). Why don't you just flush the port's mdb entries
on disconnect? That would stop fwding.

Cheers,
 Nik
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help