Hi-- On 8/5/22 09:58, ecree@xxxxxxxxxx wrote: > From: Edward Cree <ecree.xilinx@xxxxxxxxx> > > There's no clear explanation of what VF Representors are for, their > semantics, etc., outside of vendor docs and random conference slides. > Add a document explaining Representors and defining what drivers that > implement them are expected to do. > > Signed-off-by: Edward Cree <ecree.xilinx@xxxxxxxxx> > --- > diff --git a/Documentation/networking/representors.rst b/Documentation/networking/representors.rst > new file mode 100644 > index 000000000000..4d28731a5b5b > --- /dev/null > +++ b/Documentation/networking/representors.rst > @@ -0,0 +1,219 @@ > +.. SPDX-License-Identifier: GPL-2.0 > + > +============================= > +Network Function Representors > +============================= > + > +This document describes the semantics and usage of representor netdevices, as > +used to control internal switching on SmartNICs. For the closely-related port > +representors on physical (multi-port) switches, see > +:ref:`Documentation/networking/switchdev.rst <switchdev>`. > + > +Motivation > +---------- > + > +Since the mid-2010s, network cards have started offering more complex > +virtualisation capabilities than the legacy SR-IOV approach (with its simple > +MAC/VLAN-based switching model) can support. This led to a desire to offload > +software-defined networks (such as OpenVSwitch) to these NICs to specify the > +network connectivity of each function. The resulting designs are variously > +called SmartNICs or DPUs. > + > +Network function representors provide the mechanism by which network functions > +on an internal switch are managed. They are used both to configure the > +corresponding function ('representee') and to handle slow-path traffic to and > +from the representee for which no fast-path switching rule is matched. > + > +That is, a representor is both a control plane object (representing the function > +in administrative commands) and a data plane object (one end of a virtual pipe). > +As a virtual link endpoint, the representor can be configured like any other > +netdevice; in some cases (e.g. link state) the representee will follow the > +representor's configuration, while in others there are separate APIs to > +configure the representee. > + > +What does a representor do? > +--------------------------- > + > +A representor has three main rôles. Just use "roles". dict.org and m-w.com are happy with that. m-w.com says for "role": variants: or less commonly rôle thanks. -- ~Randy