| /Linux-v5.4/include/net/ | 
| D | devlink.h | 23 struct devlink {  struct79 	struct devlink *devlink;  member
 377 	int (*get)(struct devlink *devlink, u32 id,
 379 	int (*set)(struct devlink *devlink, u32 id,
 381 	int (*validate)(struct devlink *devlink, u32 id,
 647 	int (*reload_down)(struct devlink *devlink,
 649 	int (*reload_up)(struct devlink *devlink,
 653 	int (*port_split)(struct devlink *devlink, unsigned int port_index,
 655 	int (*port_unsplit)(struct devlink *devlink, unsigned int port_index,
 657 	int (*sb_pool_get)(struct devlink *devlink, unsigned int sb_index,
 [all …]
 
 | 
| /Linux-v5.4/include/trace/events/ | 
| D | devlink.h | 5 #define TRACE_SYSTEM devlink18 	TP_PROTO(const struct devlink *devlink, bool incoming,
 21 	TP_ARGS(devlink, incoming, type, buf, len),
 24 		__string(bus_name, devlink->dev->bus->name)
 25 		__string(dev_name, dev_name(devlink->dev))
 26 		__string(driver_name, devlink->dev->driver->name)
 34 		__assign_str(bus_name, devlink->dev->bus->name);
 35 		__assign_str(dev_name, dev_name(devlink->dev));
 36 		__assign_str(driver_name, devlink->dev->driver->name);
 53 	TP_PROTO(const struct devlink *devlink, int err, const char *msg),
 [all …]
 
 | 
| /Linux-v5.4/net/core/ | 
| D | devlink.c | 98 static struct net *devlink_net(const struct devlink *devlink)  in devlink_net()  argument100 	return read_pnet(&devlink->_net);  in devlink_net()
 103 static void devlink_net_set(struct devlink *devlink, struct net *net)  in devlink_net_set()  argument
 105 	write_pnet(&devlink->_net, net);  in devlink_net_set()
 108 static struct devlink *devlink_get_from_attrs(struct net *net,  in devlink_get_from_attrs()
 111 	struct devlink *devlink;  in devlink_get_from_attrs()  local
 123 	list_for_each_entry(devlink, &devlink_list, list) {  in devlink_get_from_attrs()
 124 		if (strcmp(devlink->dev->bus->name, busname) == 0 &&  in devlink_get_from_attrs()
 125 		    strcmp(dev_name(devlink->dev), devname) == 0 &&  in devlink_get_from_attrs()
 126 		    net_eq(devlink_net(devlink), net))  in devlink_get_from_attrs()
 [all …]
 
 | 
| /Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/ | 
| D | devlink.c | 10 static int mlx5_devlink_flash_update(struct devlink *devlink,  in mlx5_devlink_flash_update()  argument15 	struct mlx5_core_dev *dev = devlink_priv(devlink);  in mlx5_devlink_flash_update()
 47 mlx5_devlink_info_get(struct devlink *devlink, struct devlink_info_req *req,  in mlx5_devlink_info_get()  argument
 50 	struct mlx5_core_dev *dev = devlink_priv(devlink);  in mlx5_devlink_info_get()
 101 struct devlink *mlx5_devlink_alloc(void)  in mlx5_devlink_alloc()
 106 void mlx5_devlink_free(struct devlink *devlink)  in mlx5_devlink_free()  argument
 108 	devlink_free(devlink);  in mlx5_devlink_free()
 111 static int mlx5_devlink_fs_mode_validate(struct devlink *devlink, u32 id,  in mlx5_devlink_fs_mode_validate()  argument
 115 	struct mlx5_core_dev *dev = devlink_priv(devlink);  in mlx5_devlink_fs_mode_validate()
 148 static int mlx5_devlink_fs_mode_set(struct devlink *devlink, u32 id,  in mlx5_devlink_fs_mode_set()  argument
 [all …]
 
 | 
| D | devlink.h | 9 struct devlink *mlx5_devlink_alloc(void);10 void mlx5_devlink_free(struct devlink *devlink);
 11 int mlx5_devlink_register(struct devlink *devlink, struct device *dev);
 12 void mlx5_devlink_unregister(struct devlink *devlink);
 
 | 
| D | eswitch.h | 403 int mlx5_devlink_eswitch_mode_set(struct devlink *devlink, u16 mode,405 int mlx5_devlink_eswitch_mode_get(struct devlink *devlink, u16 *mode);
 406 int mlx5_devlink_eswitch_inline_mode_set(struct devlink *devlink, u8 mode,
 408 int mlx5_devlink_eswitch_inline_mode_get(struct devlink *devlink, u8 *mode);
 410 int mlx5_devlink_eswitch_encap_mode_set(struct devlink *devlink,
 413 int mlx5_devlink_eswitch_encap_mode_get(struct devlink *devlink,
 
 | 
| /Linux-v5.4/drivers/net/netdevsim/ | 
| D | dev.c | 126 static struct net *nsim_devlink_net(struct devlink *devlink)  in nsim_devlink_net()  argument159 static int nsim_dev_resources_register(struct devlink *devlink)  in nsim_dev_resources_register()  argument
 166 	struct net *net = nsim_devlink_net(devlink);  in nsim_dev_resources_register()
 171 	err = devlink_resource_register(devlink, "IPv4", (u64)-1,  in nsim_dev_resources_register()
 181 	err = devlink_resource_register(devlink, "fib", n,  in nsim_dev_resources_register()
 190 	err = devlink_resource_register(devlink, "fib-rules", n,  in nsim_dev_resources_register()
 199 	err = devlink_resource_register(devlink, "IPv6", (u64)-1,  in nsim_dev_resources_register()
 209 	err = devlink_resource_register(devlink, "fib", n,  in nsim_dev_resources_register()
 218 	err = devlink_resource_register(devlink, "fib-rules", n,  in nsim_dev_resources_register()
 226 	devlink_resource_occ_get_register(devlink,  in nsim_dev_resources_register()
 [all …]
 
 | 
| /Linux-v5.4/tools/testing/selftests/net/forwarding/ | 
| D | devlink_lib.sh | 8 	DEVLINK_DEV=$(devlink port show "${NETIFS[p1]}" -j \26 devlink help 2>&1 | grep resource &> /dev/null
 32 devlink help 2>&1 | grep trap &> /dev/null
 70 	devlink -j resource show "$DEVLINK_DEV" | jq "$resource_name"
 91 	devlink resource set "$DEVLINK_DEV" path "$path" size "$new_size"
 99 	devlink dev reload "$DEVLINK_DEV" &> /dev/null
 102 	still_pending=$(devlink resource show "$DEVLINK_DEV" | \
 114 	devlink sb port pool show $port pool $pool -j \
 126 	devlink sb port pool set $port pool $pool th $th
 135 	devlink sb port pool set $port pool $pool th ${DEVLINK_ORIG[$key]}
 [all …]
 
 | 
| /Linux-v5.4/drivers/net/ethernet/netronome/nfp/ | 
| D | nfp_devlink.c | 65 nfp_devlink_port_split(struct devlink *devlink, unsigned int port_index,  in nfp_devlink_port_split()  argument68 	struct nfp_pf *pf = devlink_priv(devlink);  in nfp_devlink_port_split()
 102 nfp_devlink_port_unsplit(struct devlink *devlink, unsigned int port_index,  in nfp_devlink_port_unsplit()  argument
 105 	struct nfp_pf *pf = devlink_priv(devlink);  in nfp_devlink_port_unsplit()
 136 nfp_devlink_sb_pool_get(struct devlink *devlink, unsigned int sb_index,  in nfp_devlink_sb_pool_get()  argument
 139 	struct nfp_pf *pf = devlink_priv(devlink);  in nfp_devlink_sb_pool_get()
 145 nfp_devlink_sb_pool_set(struct devlink *devlink, unsigned int sb_index,  in nfp_devlink_sb_pool_set()  argument
 150 	struct nfp_pf *pf = devlink_priv(devlink);  in nfp_devlink_sb_pool_set()
 156 static int nfp_devlink_eswitch_mode_get(struct devlink *devlink, u16 *mode)  in nfp_devlink_eswitch_mode_get()  argument
 158 	struct nfp_pf *pf = devlink_priv(devlink);  in nfp_devlink_eswitch_mode_get()
 [all …]
 
 | 
| D | devlink_param.c | 83 nfp_devlink_param_u8_get(struct devlink *devlink, u32 id,  in nfp_devlink_param_u8_get()  argument87 	struct nfp_pf *pf = devlink_priv(devlink);  in nfp_devlink_param_u8_get()
 134 nfp_devlink_param_u8_set(struct devlink *devlink, u32 id,  in nfp_devlink_param_u8_set()  argument
 138 	struct nfp_pf *pf = devlink_priv(devlink);  in nfp_devlink_param_u8_set()
 170 nfp_devlink_param_u8_validate(struct devlink *devlink, u32 id,  in nfp_devlink_param_u8_validate()  argument
 229 	struct devlink *devlink = priv_to_devlink(pf);  in nfp_devlink_params_register()  local
 236 	err = devlink_params_register(devlink, nfp_devlink_params,  in nfp_devlink_params_register()
 241 	devlink_params_publish(devlink);  in nfp_devlink_params_register()
 
 | 
| D | nfp_shared_buf.c | 80 	struct devlink *devlink = priv_to_devlink(pf);  in nfp_shared_buf_register()  local115 		err = devlink_sb_register(devlink,  in nfp_shared_buf_register()
 133 		devlink_sb_unregister(devlink,  in nfp_shared_buf_register()
 143 	struct devlink *devlink = priv_to_devlink(pf);  in nfp_shared_buf_unregister()  local
 147 		devlink_sb_unregister(devlink,  in nfp_shared_buf_unregister()
 
 | 
| /Linux-v5.4/drivers/net/ethernet/mellanox/mlxsw/ | 
| D | spectrum1_kvdl.c | 212 	struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);  in mlxsw_sp1_kvdl_part_init()  local220 	err = devlink_resource_size_get(devlink, info->resource_id,  in mlxsw_sp1_kvdl_part_init()
 335 	struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);  in mlxsw_sp1_kvdl_init()  local
 342 	devlink_resource_occ_get_register(devlink,  in mlxsw_sp1_kvdl_init()
 346 	devlink_resource_occ_get_register(devlink,  in mlxsw_sp1_kvdl_init()
 350 	devlink_resource_occ_get_register(devlink,  in mlxsw_sp1_kvdl_init()
 354 	devlink_resource_occ_get_register(devlink,  in mlxsw_sp1_kvdl_init()
 363 	struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);  in mlxsw_sp1_kvdl_fini()  local
 366 	devlink_resource_occ_get_unregister(devlink,  in mlxsw_sp1_kvdl_fini()
 368 	devlink_resource_occ_get_unregister(devlink,  in mlxsw_sp1_kvdl_fini()
 [all …]
 
 | 
| D | core.c | 739 static int mlxsw_devlink_port_split(struct devlink *devlink,  in mlxsw_devlink_port_split()  argument744 	struct mlxsw_core *mlxsw_core = devlink_priv(devlink);  in mlxsw_devlink_port_split()
 756 static int mlxsw_devlink_port_unsplit(struct devlink *devlink,  in mlxsw_devlink_port_unsplit()  argument
 760 	struct mlxsw_core *mlxsw_core = devlink_priv(devlink);  in mlxsw_devlink_port_unsplit()
 773 mlxsw_devlink_sb_pool_get(struct devlink *devlink,  in mlxsw_devlink_sb_pool_get()  argument
 777 	struct mlxsw_core *mlxsw_core = devlink_priv(devlink);  in mlxsw_devlink_sb_pool_get()
 787 mlxsw_devlink_sb_pool_set(struct devlink *devlink,  in mlxsw_devlink_sb_pool_set()  argument
 792 	struct mlxsw_core *mlxsw_core = devlink_priv(devlink);  in mlxsw_devlink_sb_pool_set()
 810 	struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink);  in mlxsw_devlink_port_type_set()
 826 	struct mlxsw_core *mlxsw_core = devlink_priv(devlink_port->devlink);  in mlxsw_devlink_sb_port_pool_get()
 [all …]
 
 | 
| D | spectrum_dpipe.c | 294 	struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);  in mlxsw_sp_dpipe_erif_table_init()  local296 	return devlink_dpipe_table_register(devlink,  in mlxsw_sp_dpipe_erif_table_init()
 304 	struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);  in mlxsw_sp_dpipe_erif_table_fini()  local
 306 	devlink_dpipe_table_unregister(devlink, MLXSW_SP_DPIPE_TABLE_NAME_ERIF);  in mlxsw_sp_dpipe_erif_table_fini()
 747 	struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);  in mlxsw_sp_dpipe_host4_table_init()  local
 750 	err = devlink_dpipe_table_register(devlink,  in mlxsw_sp_dpipe_host4_table_init()
 757 	err = devlink_dpipe_table_resource_set(devlink,  in mlxsw_sp_dpipe_host4_table_init()
 767 	devlink_dpipe_table_unregister(devlink,  in mlxsw_sp_dpipe_host4_table_init()
 774 	struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);  in mlxsw_sp_dpipe_host4_table_fini()  local
 776 	devlink_dpipe_table_unregister(devlink,  in mlxsw_sp_dpipe_host4_table_fini()
 [all …]
 
 | 
| D | spectrum_trap.c | 91 	struct devlink *devlink;  in mlxsw_sp_rx_drop_listener()  local99 	devlink = priv_to_devlink(mlxsw_sp->core);  in mlxsw_sp_rx_drop_listener()
 103 	devlink_trap_report(devlink, skb, trap_ctx, in_devlink_port);  in mlxsw_sp_rx_drop_listener()
 109 	struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);  in mlxsw_sp_devlink_traps_init()  local
 115 	return devlink_traps_register(devlink, mlxsw_sp_traps_arr,  in mlxsw_sp_devlink_traps_init()
 122 	struct devlink *devlink = priv_to_devlink(mlxsw_sp->core);  in mlxsw_sp_devlink_traps_fini()  local
 124 	devlink_traps_unregister(devlink, mlxsw_sp_traps_arr,  in mlxsw_sp_devlink_traps_fini()
 
 | 
| /Linux-v5.4/tools/testing/selftests/drivers/net/netdevsim/ | 
| D | devlink.sh | 21 	devlink dev flash $DL_HANDLE file dummy27 	devlink dev flash $DL_HANDLE file dummy
 46 	devlink dev param set $DL_HANDLE name $name cmode driverinit value $value
 85 	devlink dev reload $DL_HANDLE
 98 	size=$(devlink region show $DL_HANDLE/$name -j | jq -e -r '.[][].size')
 111 	count=$(devlink region show $DL_HANDLE/$name -j | jq -e -r '.[][].snapshot | length')
 137 	devlink region del $DL_HANDLE/dummy snapshot 1
 
 | 
| /Linux-v5.4/Documentation/networking/ | 
| D | devlink-health.txt | 9 generic devlink instance and allow the user to set different12 The devlink health reporter:
 17 asynchronously. All health reports handling is done by devlink.
 25 Once an error is reported, devlink health will do the following actions:
 36 via devlink, e.g per error type (per health reporter)
 42 The devlink health interface (via netlink):
 53   saves a single dump. If an dump is not already stored by the devlink
 54   for this reporter, devlink generates a new dump.
 68  mlx5_core                             devlink     |recover,
 
 | 
| D | index.rst | 16    devlink-info-versions17    devlink-trap
 18    devlink-trap-netdevsim
 
 | 
| D | devlink-trap.rst | 31 The ``devlink-trap`` mechanism allows capable device drivers to register their32 supported packet traps with ``devlink`` and report trapped packets to
 33 ``devlink`` for further analysis.
 35 Upon receiving trapped packets, ``devlink`` will perform a per-trap packets and
 42 The following diagram provides a general overview of ``devlink-trap``::
 62                              | devlink |      (non-drop traps)
 89 The ``devlink-trap`` mechanism supports the following packet trap types:
 92     are only processed by ``devlink`` and not injected to the kernel's Rx path.
 97     processed by ``devlink`` and injected to the kernel's Rx path. Changing the
 106 The ``devlink-trap`` mechanism supports the following packet trap actions:
 [all …]
 
 | 
| /Linux-v5.4/drivers/net/ethernet/pensando/ionic/ | 
| D | ionic_devlink.c | 12 static int ionic_dl_info_get(struct devlink *dl, struct devlink_info_req *req,  in ionic_dl_info_get()56 	struct devlink *dl;  in ionic_devlink_alloc()
 65 	struct devlink *dl = priv_to_devlink(ionic);  in ionic_devlink_free()
 72 	struct devlink *dl = priv_to_devlink(ionic);  in ionic_devlink_register()
 95 	struct devlink *dl = priv_to_devlink(ionic);  in ionic_devlink_unregister()
 
 | 
| /Linux-v5.4/drivers/net/ethernet/broadcom/bnxt/ | 
| D | bnxt_vfr.h | 32 int bnxt_dl_eswitch_mode_get(struct devlink *devlink, u16 *mode);33 int bnxt_dl_eswitch_mode_set(struct devlink *devlink, u16 mode,
 
 | 
| /Linux-v5.4/drivers/net/ethernet/mellanox/mlx4/ | 
| D | crdump.c | 157 	struct devlink *devlink = priv_to_devlink(mlx4_priv(dev));  in mlx4_crdump_collect()  local185 	id = devlink_region_shapshot_id_get(devlink);  in mlx4_crdump_collect()
 199 	struct devlink *devlink = priv_to_devlink(mlx4_priv(dev));  in mlx4_crdump_init()  local
 207 		devlink_region_create(devlink,  in mlx4_crdump_init()
 218 		devlink_region_create(devlink,  in mlx4_crdump_init()
 
 | 
| D | main.c | 181 static int mlx4_devlink_ierr_reset_get(struct devlink *devlink, u32 id,  in mlx4_devlink_ierr_reset_get()  argument188 static int mlx4_devlink_ierr_reset_set(struct devlink *devlink, u32 id,  in mlx4_devlink_ierr_reset_set()  argument
 195 static int mlx4_devlink_crdump_snapshot_get(struct devlink *devlink, u32 id,  in mlx4_devlink_crdump_snapshot_get()  argument
 198 	struct mlx4_priv *priv = devlink_priv(devlink);  in mlx4_devlink_crdump_snapshot_get()
 205 static int mlx4_devlink_crdump_snapshot_set(struct devlink *devlink, u32 id,  in mlx4_devlink_crdump_snapshot_set()  argument
 208 	struct mlx4_priv *priv = devlink_priv(devlink);  in mlx4_devlink_crdump_snapshot_set()
 216 mlx4_devlink_max_macs_validate(struct devlink *devlink, u32 id,  in mlx4_devlink_max_macs_validate()  argument
 263 static void mlx4_devlink_set_params_init_values(struct devlink *devlink)  in mlx4_devlink_set_params_init_values()  argument
 268 	devlink_param_driverinit_value_set(devlink,  in mlx4_devlink_set_params_init_values()
 273 	devlink_param_driverinit_value_set(devlink,  in mlx4_devlink_set_params_init_values()
 [all …]
 
 | 
| /Linux-v5.4/net/dsa/ | 
| D | dsa2.c | 264 	struct devlink *dl = ds->devlink;  in dsa_port_setup()382 	ds->devlink = devlink_alloc(&dsa_devlink_ops, 0);  in dsa_switch_setup()
 383 	if (!ds->devlink)  in dsa_switch_setup()
 386 	err = devlink_register(ds->devlink, ds->dev);  in dsa_switch_setup()
 417 	devlink_unregister(ds->devlink);  in dsa_switch_setup()
 419 	devlink_free(ds->devlink);  in dsa_switch_setup()
 420 	ds->devlink = NULL;  in dsa_switch_setup()
 435 	if (ds->devlink) {  in dsa_switch_teardown()
 436 		devlink_unregister(ds->devlink);  in dsa_switch_teardown()
 437 		devlink_free(ds->devlink);  in dsa_switch_teardown()
 [all …]
 
 | 
| /Linux-v5.4/Documentation/networking/device_drivers/mellanox/ | 
| D | mlx5.rst | 105 - CONFIG_MLXFW: When chosen, mlx5 firmware flashing support will be enabled (via devlink and ethtoo…110 The devlink info reports the running and stored firmware versions on device.
 115    $ devlink dev info pci/0000:00:06.0
 147     $ devlink dev param set pci/0000:06:00.0 name flow_steering_mode value "smfs" cmode runtime
 151     $ devlink dev param show pci/0000:06:00.0 name flow_steering_mode
 179     $ devlink health diagnose pci/0000:82:00.0 reporter tx
 186     $ devlink health show pci/0000:82:00.0 reporter tx
 206     $ devlink health diagnose pci/0000:82:00.0 reporter rx
 213     $ devlink health show pci/0000:82:00.0 reporter rx
 227     $ devlink health diagnose pci/0000:82:00.0 reporter fw
 [all …]
 
 |