docs: net: document guidance of implementing the SR-IOV NDOs
New drivers were prevented from adding ndo_set_vf_* callbacks over the last few years. This was expected to result in broader switchdev adoption, but seems to have had little effect. Based on recent netdev meeting there is broad support for allowing adding those ops. There is a problem with the current API supporting a limited number of VFs (100+, which is less than some modern HW supports). We can try to solve it by adding similar functionality on devlink ports, but that'd be another API variation to maintain. So a netlink attribute reshuffling is a more likely outcome. Document the guidance, make it clear that the API is frozen. Signed-off-by: Jakub Kicinski <kuba@kernel.org> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
dcec8d291d
commit
4558645d13
@ -105,6 +105,7 @@ Contents:
|
||||
seg6-sysctl
|
||||
skbuff
|
||||
smc-sysctl
|
||||
sriov
|
||||
statistics
|
||||
strparser
|
||||
switchdev
|
||||
|
25
Documentation/networking/sriov.rst
Normal file
25
Documentation/networking/sriov.rst
Normal file
@ -0,0 +1,25 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
===============
|
||||
NIC SR-IOV APIs
|
||||
===============
|
||||
|
||||
Modern NICs are strongly encouraged to focus on implementing the ``switchdev``
|
||||
model (see :ref:`switchdev`) to configure forwarding and security of SR-IOV
|
||||
functionality.
|
||||
|
||||
Legacy API
|
||||
==========
|
||||
|
||||
The old SR-IOV API is implemented in ``rtnetlink`` Netlink family as part of
|
||||
the ``RTM_GETLINK`` and ``RTM_SETLINK`` commands. On the driver side
|
||||
it consists of a number of ``ndo_set_vf_*`` and ``ndo_get_vf_*`` callbacks.
|
||||
|
||||
Since the legacy APIs do not integrate well with the rest of the stack
|
||||
the API is considered frozen; no new functionality or extensions
|
||||
will be accepted. New drivers should not implement the uncommon callbacks;
|
||||
namely the following callbacks are off limits:
|
||||
|
||||
- ``ndo_get_vf_port``
|
||||
- ``ndo_set_vf_port``
|
||||
- ``ndo_set_vf_rss_query_en``
|
Loading…
Reference in New Issue
Block a user