]> git.baikalelectronics.ru Git - kernel.git/commit
ipvlan: Defer multicast / broadcast processing to a work-queue
authorMahesh Bandewar <maheshb@google.com>
Tue, 5 May 2015 00:06:03 +0000 (17:06 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 5 May 2015 23:29:49 +0000 (19:29 -0400)
commite47b8db6a09475636c6d9d637b8c7297e3ed6729
tree0333353c2743d8271d6d2a2dd0cf4e35169a734c
parent777084682829436782d31630e2494c0bb4ad66a4
ipvlan: Defer multicast / broadcast processing to a work-queue

Processing multicast / broadcast in fast path is performance draining
and having more links means more cloning and bringing performance
down further.

Broadcast; in particular, need to be given to all the virtual links.
Earlier tricks of enabling broadcast bit for IPv4 only interfaces are not
really working since it fails autoconf. Which means enabling broadcast
for all the links if protocol specific hacks do not have to be added into
the driver.

This patch defers all (incoming as well as outgoing) multicast traffic to
a work-queue leaving only the unicast traffic in the fast-path. Now if we
need to apply any additional tricks to further reduce the impact of this
(multicast / broadcast) type of traffic, it can be implemented while
processing this work without affecting the fast-path.

Signed-off-by: Mahesh Bandewar <maheshb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipvlan/ipvlan.h
drivers/net/ipvlan/ipvlan_core.c
drivers/net/ipvlan/ipvlan_main.c