Searched hist:d45276e75e90f1b67eb689fb3b4c556963796351 (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/net/ |
H A D | macvlan.c | diff d45276e75e90f1b67eb689fb3b4c556963796351 Mon Mar 27 21:57:56 CDT 2023 Herbert Xu <herbert@gondor.apana.org.au> macvlan: Skip broadcast queue if multicast with single receiver
As it stands all broadcast and multicast packets are queued and processed in a work queue. This is so that we don't overwhelm the receive softirq path by generating thousands of packets or more (see commit 412ca1550cbe "macvlan: Move broadcasts into a work queue").
As such all multicast packets will be delayed, even if they will be received by a single macvlan device. As using a workqueue is not free in terms of latency, we should avoid this where possible.
This patch adds a new filter to determine which addresses should be delayed and which ones won't. This is done using a crude counter of how many times an address has been added to the macvlan port (ha->synced). For now if an address has been added more than once, then it will be considered to be broadcast. This could be tuned further by making this threshold configurable.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
|