mbox series

[net-next,0/4] support for 256 VFs in RTM_GETLINK

Message ID 20210123045321.2797360-1-edwin.peer@broadcom.com (mailing list archive)
Headers show
Series support for 256 VFs in RTM_GETLINK | expand

Message

Edwin Peer Jan. 23, 2021, 4:53 a.m. UTC
RTM_GETLINK for greater than about 220 VFs truncates IFLA_VFINFO_LIST
due to the maximum reach of nlattr's nla_len being exceeded. There is
not a lot of enthusiasm for extensive fixes to the deprecated netlink
ABI for VF config, but there appears to be even less appetite for the
kinds of work arounds that would be necessitated in order to truly
keep it frozen [1].

This series first addresses nla_nest_end()'s propensity to generate
malformed netlink messages. The balance of the series comprises very
minor ABI updates intended to be low impact, in order to address the
remaining issues. First, the existing RTEXT_FILTER_SKIP_STATS is
called upon to alleviate the problem when user space does not want
statistics and then a minor tweak is introduced in two steps in order
to promote the stats one level up in the hierarchy with the minimum
of code churn.

Finally, the kernel series is followed by an iproute2 series to take
advantage of the changes.

[1] https://lore.kernel.org/netdev/20210115225950.18762-1-edwin.peer@broadcom.com/

Edwin Peer (4):
  netlink: truncate overlength attribute list in nla_nest_end()
  rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO
  rtnetlink: refactor IFLA_VF_INFO stats into rtnl_fill_vfstats()
  rtnetlink: promote IFLA_VF_STATS to same level as IFLA_VF_INFO

 include/net/netlink.h          |  11 ++-
 include/uapi/linux/if_link.h   |   1 +
 include/uapi/linux/netlink.h   |   1 +
 include/uapi/linux/rtnetlink.h |   1 +
 lib/nlattr.c                   |  27 +++++++
 net/core/rtnetlink.c           | 132 +++++++++++++++++++++------------
 6 files changed, 122 insertions(+), 51 deletions(-)