mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
Documentation: octeontx2: Add Documentation for RVU representors
Adds documentation for creating and configuring rvu port representors Signed-off-by: Geetha sowjanya <gakula@marvell.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
6c40ca957f
commit
6050b04dca
@@ -14,6 +14,7 @@ Contents
|
||||
- `Basic packet flow`_
|
||||
- `Devlink health reporters`_
|
||||
- `Quality of service`_
|
||||
- `RVU representors`_
|
||||
|
||||
Overview
|
||||
========
|
||||
@@ -340,3 +341,93 @@ Setup HTB offload
|
||||
# tc class add dev <interface> parent 1: classid 1:2 htb rate 10Gbit prio 2 quantum 188416
|
||||
|
||||
# tc class add dev <interface> parent 1: classid 1:3 htb rate 10Gbit prio 2 quantum 32768
|
||||
|
||||
|
||||
RVU Representors
|
||||
================
|
||||
|
||||
RVU representor driver adds support for creation of representor devices for
|
||||
RVU PFs' VFs in the system. Representor devices are created when user enables
|
||||
the switchdev mode.
|
||||
Switchdev mode can be enabled either before or after setting up SRIOV numVFs.
|
||||
All representor devices share a single NIXLF but each has a dedicated Rx/Tx
|
||||
queues. RVU PF representor driver registers a separate netdev for each
|
||||
Rx/Tx queue pair.
|
||||
|
||||
Current HW does not support built-in switch which can do L2 learning and
|
||||
forwarding packets between representee and representor. Hence, packet path
|
||||
between representee and it's representor is achieved by setting up appropriate
|
||||
NPC MCAM filters.
|
||||
Transmit packets matching these filters will be loopbacked through hardware
|
||||
loopback channel/interface (i.e, instead of sending them out of MAC interface).
|
||||
Which will again match the installed filters and will be forwarded.
|
||||
This way representee => representor and representor => representee packet
|
||||
path is achieved. These rules get installed when representors are created
|
||||
and gets active/deactivate based on the representor/representee interface state.
|
||||
|
||||
Usage example:
|
||||
|
||||
- Change device to switchdev mode::
|
||||
|
||||
# devlink dev eswitch set pci/0002:1c:00.0 mode switchdev
|
||||
|
||||
- List of representor devices on the system::
|
||||
|
||||
# ip link show
|
||||
Rpf1vf0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether f6:43:83:ee:26:21 brd ff:ff:ff:ff:ff:ff
|
||||
Rpf1vf1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether 12:b2:54:0e:24:54 brd ff:ff:ff:ff:ff:ff
|
||||
Rpf1vf2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether 4a:12:c4:4c:32:62 brd ff:ff:ff:ff:ff:ff
|
||||
Rpf1vf3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether ca:cb:68:0e:e2:6e brd ff:ff:ff:ff:ff:ff
|
||||
Rpf2vf0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether 06:cc:ad:b4:f0:93 brd ff:ff:ff:ff:ff:ff
|
||||
|
||||
|
||||
To delete the representors devices from the system. Change the device to legacy mode.
|
||||
|
||||
- Change device to legacy mode::
|
||||
|
||||
# devlink dev eswitch set pci/0002:1c:00.0 mode legacy
|
||||
|
||||
RVU representors can be managed using devlink ports
|
||||
(see :ref:`Documentation/networking/devlink/devlink-port.rst <devlink_port>`) interface.
|
||||
|
||||
- Show devlink ports of representors::
|
||||
|
||||
# devlink port
|
||||
pci/0002:1c:00.0/0: type eth netdev Rpf1vf0 flavour physical port 0 splittable false
|
||||
pci/0002:1c:00.0/1: type eth netdev Rpf1vf1 flavour pcivf controller 0 pfnum 1 vfnum 1 external false splittable false
|
||||
pci/0002:1c:00.0/2: type eth netdev Rpf1vf2 flavour pcivf controller 0 pfnum 1 vfnum 2 external false splittable false
|
||||
pci/0002:1c:00.0/3: type eth netdev Rpf1vf3 flavour pcivf controller 0 pfnum 1 vfnum 3 external false splittable false
|
||||
|
||||
Function attributes
|
||||
===================
|
||||
|
||||
The RVU representor support function attributes for representors.
|
||||
Port function configuration of the representors are supported through devlink eswitch port.
|
||||
|
||||
MAC address setup
|
||||
-----------------
|
||||
|
||||
RVU representor driver support devlink port function attr mechanism to setup MAC
|
||||
address. (refer to Documentation/networking/devlink/devlink-port.rst)
|
||||
|
||||
- To setup MAC address for port 2::
|
||||
|
||||
# devlink port function set pci/0002:1c:00.0/2 hw_addr 5c:a1:1b:5e:43:11
|
||||
# devlink port show pci/0002:1c:00.0/2
|
||||
pci/0002:1c:00.0/2: type eth netdev Rpf1vf2 flavour pcivf controller 0 pfnum 1 vfnum 2 external false splittable false
|
||||
function:
|
||||
hw_addr 5c:a1:1b:5e:43:11
|
||||
|
||||
|
||||
TC offload
|
||||
==========
|
||||
|
||||
The rvu representor driver implements support for offloading tc rules using port representors.
|
||||
|
||||
- Drop packets with vlan id 3::
|
||||
|
||||
# tc filter add dev Rpf1vf0 protocol 802.1Q parent ffff: flower vlan_id 3 vlan_ethtype ipv4 skip_sw action drop
|
||||
|
||||
- Redirect packets with vlan id 5 and IPv4 packets to eth1, after stripping vlan header.::
|
||||
|
||||
# tc filter add dev Rpf1vf0 ingress protocol 802.1Q flower vlan_id 5 vlan_ethtype ipv4 skip_sw action vlan pop action mirred ingress redirect dev eth1
|
||||
|
||||
Reference in New Issue
Block a user