xref: /linux/Documentation/networking/sriov.rst (revision 6af91e3d2cfc8bb579b1aa2d22cd91f8c34acdf6)
1.. SPDX-License-Identifier: GPL-2.0
2
3===============
4NIC SR-IOV APIs
5===============
6
7Modern NICs are strongly encouraged to focus on implementing the ``switchdev``
8model (see :ref:`switchdev`) to configure forwarding and security of SR-IOV
9functionality.
10
11Legacy API
12==========
13
14The old SR-IOV API is implemented in ``rtnetlink`` Netlink family as part of
15the ``RTM_GETLINK`` and ``RTM_SETLINK`` commands. On the driver side
16it consists of a number of ``ndo_set_vf_*`` and ``ndo_get_vf_*`` callbacks.
17
18Since the legacy APIs do not integrate well with the rest of the stack
19the API is considered frozen; no new functionality or extensions
20will be accepted. New drivers should not implement the uncommon callbacks;
21namely the following callbacks are off limits:
22
23 - ``ndo_get_vf_port``
24 - ``ndo_set_vf_port``
25 - ``ndo_set_vf_rss_query_en``
26