if_nlmsg_size() overestimates the minimum allocation size of netlink dump
request (when called from rtnl_calcit()) or the size of the message (when called
from rtnl_getlink()). This is because ext_filter_mask is not supported by
rtnl_link_get_af_size() and rtnl_link_get_size().

The over-estimation is significant when at least one netdev has many VLANs
configured (8 bytes for each configured VLAN).

This patch-set "rightsizes" the protocol specific attribute size calculation by
propagating ext_filter_mask to rtnl_link_get_af_size() and adding optional
filtering aware get_af_size_filtered op in struct rtnl_af_ops. Bridge module,
which already used filtering aware sizing for notification, is enhanced to do
the same for netlink dump requests.

Ronen Arad (4):
  rtnetlink: Add get_link_af_size_filtered to rtnl_af_ops
  bridge: br_af_ops add br_get_link_af_size_filtered
  rtnetlink: Prefer filtering-aware af sizing
  bridge: Remove br_get_link_af_size

 include/net/rtnetlink.h |  2 ++
 net/bridge/br_netlink.c | 23 ++---------------------
 net/core/rtnetlink.c    | 12 +++++++++---
 3 files changed, 13 insertions(+), 24 deletions(-)

--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to