talk | Rtnetlink dump filtering
Rtnetlink dump handlers supported by the kernel are a useful way to query state of the kernel network objects. Most rtnetlink dump handlers return data for all network objects in the corresponding networking subsystem today, e.g. RTM_GETLINK returns data for all network interfaces in the system. With no rtnetlink dump filtering support in the kernel, the burden is on userspace to filter such dumps. This does not scale on systems with large number of network interfaces or large routing databases. Such systems are not uncommon given that linux is being deployed on network switches, routers, hypervisors and other devices in the data center today. Filtering in userspace is not scalable. This paper looks at scalability problems with rtnetlink dumps and discusses possible solutions to filter such dumps in the kernel. We will look at a consistent way to filter such dumps across all network object types using existing infrastructure provided by the kernel.