@@ -378,6 +378,10 @@ parameters to those ports.
-a DBDF,representor=vf[0,4,6,9]
-a DBDF,representor=vf[0-31]
-a DBDF,representor=vf[0,2-4,7,9-11]
+ -a DBDF,representor=sf0
+ -a DBDF,representor=sf[1,3,5]
+ -a DBDF,representor=sf[0-1023]
+ -a DBDF,representor=sf[0,2-4,7,9-11]
Note: PMDs are not required to support the standard device arguments and users
should consult the relevant PMD documentation to see support devargs.
@@ -109,15 +109,22 @@ rte_eth_devargs_process_list(char *str, uint16_t *list, uint16_t *len_list,
* representor format:
* #: range or single number of VF representor - legacy
* vf#: VF port representor/s
+ * sf#: SF port representor/s
*/
int
rte_eth_devargs_parse_representor_ports(char *str, void *data)
{
struct rte_eth_devargs *eth_da = data;
- eth_da->type = RTE_ETH_REPRESENTOR_VF;
- if (str[0] == 'v' && str[1] == 'f')
+ if (str[0] == 'v' && str[1] == 'f') {
+ eth_da->type = RTE_ETH_REPRESENTOR_VF;
str += 2;
+ } else if (str[0] == 's' && str[1] == 'f') {
+ eth_da->type = RTE_ETH_REPRESENTOR_SF;
+ str += 2;
+ } else {
+ eth_da->type = RTE_ETH_REPRESENTOR_VF;
+ }
str = rte_eth_devargs_process_list(str, eth_da->representor_ports,
ð_da->nb_representor_ports, RTE_MAX_ETHPORTS);
if (str == NULL)