]> git.baikalelectronics.ru Git - kernel.git/commit
net: bridge: multicast: optimize TO_INCLUDE EHT timeouts
authorNikolay Aleksandrov <nikolay@nvidia.com>
Wed, 20 Jan 2021 14:52:00 +0000 (16:52 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 23 Jan 2021 03:39:57 +0000 (19:39 -0800)
commit7c9ce097d0f71ee8f257e1e498c242b1efe5ce41
treeb64d1ac6c25a0701d3b2817858f99cdf341878ad
parent866c2a9ef3b07559f9372f8e8c67b86be7b5679c
net: bridge: multicast: optimize TO_INCLUDE EHT timeouts

This is an optimization specifically for TO_INCLUDE which sends queries
for the older entries and thus lowers the S,G timers to LMQT. If we have
the following situation for a group in either include or exclude mode:
 - host A was interested in srcs X and Y, but is timing out
 - host B sends TO_INCLUDE src Z, the bridge lowers X and Y's timeouts
   to LMQT
 - host B sends BLOCK src Z after LMQT time has passed
 => since host B is the last host we can delete the group, but if we
    still have host A's EHT entries for X and Y (i.e. if they weren't
    lowered to LMQT previously) then we'll have to wait another LMQT
    time before deleting the group, with this optimization we can
    directly remove it regardless of the group mode as there are no more
    interested hosts

Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/bridge/br_multicast_eht.c