netdevsim: Register devlink rate leaf objects per VF
Register devlink rate leaf objects per VF. Co-developed-by: Vlad Buslov <vladbu@nvidia.com> Signed-off-by: Vlad Buslov <vladbu@nvidia.com> Signed-off-by: Dmytro Linkin <dlinkin@nvidia.com> Reviewed-by: Jiri Pirko <jiri@nvidia.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
4677efc486
commit
885dfe121b
@@ -1055,11 +1055,20 @@ static int __nsim_dev_port_add(struct nsim_dev *nsim_dev, enum nsim_dev_port_typ
|
|||||||
goto err_port_debugfs_exit;
|
goto err_port_debugfs_exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (nsim_dev_port_is_vf(nsim_dev_port)) {
|
||||||
|
err = devlink_rate_leaf_create(&nsim_dev_port->devlink_port,
|
||||||
|
nsim_dev_port);
|
||||||
|
if (err)
|
||||||
|
goto err_nsim_destroy;
|
||||||
|
}
|
||||||
|
|
||||||
devlink_port_type_eth_set(devlink_port, nsim_dev_port->ns->netdev);
|
devlink_port_type_eth_set(devlink_port, nsim_dev_port->ns->netdev);
|
||||||
list_add(&nsim_dev_port->list, &nsim_dev->port_list);
|
list_add(&nsim_dev_port->list, &nsim_dev->port_list);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err_nsim_destroy:
|
||||||
|
nsim_destroy(nsim_dev_port->ns);
|
||||||
err_port_debugfs_exit:
|
err_port_debugfs_exit:
|
||||||
nsim_dev_port_debugfs_exit(nsim_dev_port);
|
nsim_dev_port_debugfs_exit(nsim_dev_port);
|
||||||
err_dl_port_unregister:
|
err_dl_port_unregister:
|
||||||
@@ -1074,6 +1083,8 @@ static void __nsim_dev_port_del(struct nsim_dev_port *nsim_dev_port)
|
|||||||
struct devlink_port *devlink_port = &nsim_dev_port->devlink_port;
|
struct devlink_port *devlink_port = &nsim_dev_port->devlink_port;
|
||||||
|
|
||||||
list_del(&nsim_dev_port->list);
|
list_del(&nsim_dev_port->list);
|
||||||
|
if (nsim_dev_port_is_vf(nsim_dev_port))
|
||||||
|
devlink_rate_leaf_destroy(&nsim_dev_port->devlink_port);
|
||||||
devlink_port_type_clear(devlink_port);
|
devlink_port_type_clear(devlink_port);
|
||||||
nsim_destroy(nsim_dev_port->ns);
|
nsim_destroy(nsim_dev_port->ns);
|
||||||
nsim_dev_port_debugfs_exit(nsim_dev_port);
|
nsim_dev_port_debugfs_exit(nsim_dev_port);
|
||||||
|
|||||||
Reference in New Issue
Block a user