History

macvlan: Support for high multicast packet rate

Background: Broadcast and multicast packages are enqueued for later processing. This queue was previously hardcoded to 1000. This proved insufficient for handling very high packet rates. This resulted in packet drops for multicast. While at the same time unicast worked fine. The change: This patch make the queue length adjustable to accommodate for environments with very high multicast packet rate. But still keeps the default value of 1000 unless specified. The queue length is specified as a request per macvlan using the IFLA_MACVLAN_BC_QUEUE_LEN parameter. The actual used queue length will then be the maximum of any macvlan connected to the same port. The actual used queue length for the port can be retrieved (read only) by the IFLA_MACVLAN_BC_QUEUE_LEN_USED parameter for verification. This will be followed up by a patch to iproute2 in order to adjust the parameter from userspace.

Thomas Karlsson committed 5 years ago

Commit d4bff721 parent cec85994 files · +43 −2Browse files

Showing the changes to include/uapi/linux (1 of 4 files). Show all

Unified · Split

include/uapi/linux/if_link.h+2−0
@@ -588,6 +588,8 @@ enum { · 587 unmodified lines
588 IFLA_MACVLAN_MACADDR,588 IFLA_MACVLAN_MACADDR,
589 IFLA_MACVLAN_MACADDR_DATA,589 IFLA_MACVLAN_MACADDR_DATA,
590 IFLA_MACVLAN_MACADDR_COUNT,590 IFLA_MACVLAN_MACADDR_COUNT,
591 IFLA_MACVLAN_BC_QUEUE_LEN,
592 IFLA_MACVLAN_BC_QUEUE_LEN_USED,
591 __IFLA_MACVLAN_MAX,593 __IFLA_MACVLAN_MAX,
592};594};
593 595