Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

netdevsim: Add devlink port resource registration

Register port-level resources for netdevsim ports to enable testing
of the port resource infrastructure.

Signed-off-by: Or Har-Toov <ohartoov@nvidia.com>
Reviewed-by: Shay Drori <shayd@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Link: https://patch.msgid.link/20260407194107.148063-5-tariqt@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Or Har-Toov and committed by
Jakub Kicinski
085b234b 4be8326d

+26 -1
+22 -1
drivers/net/netdevsim/dev.c
··· 1486 1486 if (err) 1487 1487 goto err_port_free; 1488 1488 1489 + if (nsim_dev_port_is_pf(nsim_dev_port)) { 1490 + u64 parent_id = DEVLINK_RESOURCE_ID_PARENT_TOP; 1491 + struct devlink_resource_size_params params = { 1492 + .size_max = 100, 1493 + .size_granularity = 1, 1494 + .unit = DEVLINK_RESOURCE_UNIT_ENTRY 1495 + }; 1496 + 1497 + err = devl_port_resource_register(devlink_port, 1498 + "test_resource", 20, 1499 + NSIM_PORT_RESOURCE_TEST, 1500 + parent_id, &params); 1501 + if (err) 1502 + goto err_dl_port_unregister; 1503 + } 1504 + 1489 1505 err = nsim_dev_port_debugfs_init(nsim_dev, nsim_dev_port); 1490 1506 if (err) 1491 - goto err_dl_port_unregister; 1507 + goto err_port_resource_unregister; 1492 1508 1493 1509 nsim_dev_port->ns = nsim_create(nsim_dev, nsim_dev_port, perm_addr); 1494 1510 if (IS_ERR(nsim_dev_port->ns)) { ··· 1527 1511 nsim_destroy(nsim_dev_port->ns); 1528 1512 err_port_debugfs_exit: 1529 1513 nsim_dev_port_debugfs_exit(nsim_dev_port); 1514 + err_port_resource_unregister: 1515 + if (nsim_dev_port_is_pf(nsim_dev_port)) 1516 + devl_port_resources_unregister(devlink_port); 1530 1517 err_dl_port_unregister: 1531 1518 devl_port_unregister(devlink_port); 1532 1519 err_port_free: ··· 1546 1527 devl_rate_leaf_destroy(&nsim_dev_port->devlink_port); 1547 1528 nsim_destroy(nsim_dev_port->ns); 1548 1529 nsim_dev_port_debugfs_exit(nsim_dev_port); 1530 + if (nsim_dev_port_is_pf(nsim_dev_port)) 1531 + devl_port_resources_unregister(devlink_port); 1549 1532 devl_port_unregister(devlink_port); 1550 1533 kfree(nsim_dev_port); 1551 1534 }
+4
drivers/net/netdevsim/netdevsim.h
··· 224 224 NSIM_RESOURCE_NEXTHOPS, 225 225 }; 226 226 227 + enum nsim_port_resource_id { 228 + NSIM_PORT_RESOURCE_TEST = 1, 229 + }; 230 + 227 231 struct nsim_dev_health { 228 232 struct devlink_health_reporter *empty_reporter; 229 233 struct devlink_health_reporter *dummy_reporter;