Re: [dpdk-dev] [PATCH v5 0/9] ethdev: support SubFunction representor
From: Tu, Lijuan <hidden>
Date: 2021-01-21 03:32:17
dedicated queues(txq, rxq). A SF netdev supports E-Switch representation
offload similar to existing PF and VF representors. A SF shares PCI level
resources with other SFs and/or with its parent PCI function.
From SmartNIC perspective, when PCI device is shared for multi-host,
representors for host controller and host PF is required.
This patch set introduces new representor types in addtion to existing VF
representor. Syntax:
[[c#]pf#]vf#: VF port representor/s from controller/pf
[[c#]pf#]sf#: SF port representor/s from controller/pf
#: VF representor - for backwards compatibility
"#" is number instance, list or range, valid examples:
1, [1,3,5], [0-3], [0,2-4,6]
For backward compatibility, this patch also introduces new netdev capability
to indicate the capability of supportting SF representor.
Version history:
RFC:
initial version [2]
V2:
- separate patch for represnetor infrastructure, controller, pf and
sf.
- replace representor ID macro with functions:
rte_eth_representor_id_encode()
rte_eth_representor_id_parse()
- new patch to allow devargs with same PCI BDF but different
representors.
- other minor code updates according to comments, thanks Andrew!
- update document
V3:
- improve probing of allowed devargs with same name.
- parse single word of kvargs as key.
- update kvargs test cases.
V4:
- split first representor refactor patch into
1: add representor type
2: refector representor list parsing
- push the patch supporting multi-devargs for same device.
V5:
- add comments for parsing functions
- update switch_representation.rst - Thanks AjitHi, The series can't recognize i40e device, so testpmd start failed. ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -l 4-8 -n 6 -a 17:00.0 -- -i --txq=2 --rxq=2 <...> EAL: Probe PCI driver: net_i40e (8086:158b) device: 0000:17:00.0 (socket 0) EAL: No legacy callbacks, legacy socket not created testpmd: No probed ethernet devices Interactive-mode selected Fail: input txq (2) can't be greater than max_tx_queues (0) of port 0 EAL: Error - exiting with code: 1 Cause: txq 2 invalid - must be >= 0 && <= 0 thanks