Home
last modified time | relevance | path

Searched refs:devlink (Results 1 – 25 of 237) sorted by relevance

12345678910

/openbmc/linux/net/devlink/
H A Dcore.c19 void *devlink_priv(struct devlink *devlink) in devlink_priv() argument
21 return &devlink->priv; in devlink_priv()
25 struct devlink *priv_to_devlink(void *priv) in priv_to_devlink()
27 return container_of(priv, struct devlink, priv); in priv_to_devlink()
31 struct device *devlink_to_dev(const struct devlink *devlink) in devlink_to_dev() argument
33 return devlink->dev; in devlink_to_dev()
37 struct net *devlink_net(const struct devlink *devlink) in devlink_net() argument
39 return read_pnet(&devlink->_net); in devlink_net()
43 void devl_assert_locked(struct devlink *devlink) in devl_assert_locked() argument
45 lockdep_assert_held(&devlink->lock); in devl_assert_locked()
[all …]
H A Dtrap.c73 devlink_trap_policer_item_lookup(struct devlink *devlink, u32 id) in devlink_trap_policer_item_lookup() argument
77 list_for_each_entry(policer_item, &devlink->trap_policer_list, list) { in devlink_trap_policer_item_lookup()
86 devlink_trap_item_lookup(struct devlink *devlink, const char *name) in devlink_trap_item_lookup() argument
90 list_for_each_entry(trap_item, &devlink->trap_list, list) { in devlink_trap_item_lookup()
99 devlink_trap_item_get_from_info(struct devlink *devlink, in devlink_trap_item_get_from_info() argument
108 return devlink_trap_item_lookup(devlink, nla_data(attr)); in devlink_trap_item_get_from_info()
211 static int devlink_trap_stats_put(struct sk_buff *msg, struct devlink *devlink, in devlink_trap_stats_put() argument
219 if (devlink->ops->trap_drop_counter_get) { in devlink_trap_stats_put()
220 err = devlink->ops->trap_drop_counter_get(devlink, in devlink_trap_stats_put()
233 if (devlink->ops->trap_drop_counter_get && in devlink_trap_stats_put()
[all …]
H A Ddevl_internal.h30 struct devlink { struct
84 #define devlinks_xa_for_each_registered_get(net, index, devlink) \ argument
85 for (index = 0; (devlink = devlinks_xa_find_get(net, &index)); index++)
87 struct devlink *devlinks_xa_find_get(struct net *net, unsigned long *indexp);
89 static inline bool devl_is_registered(struct devlink *devlink) in devl_is_registered() argument
91 devl_assert_locked(devlink); in devl_is_registered()
92 return xa_get_mark(&devlinks, devlink->index, DEVLINK_REGISTERED); in devl_is_registered()
120 struct devlink *devlink,
124 struct devlink *
139 devlink_nl_put_handle(struct sk_buff *msg, struct devlink *devlink) in devlink_nl_put_handle() argument
[all …]
H A Ddev.c46 devlink_reload_action_is_supported(struct devlink *devlink, enum devlink_reload_action action) in devlink_reload_action_is_supported() argument
48 return test_bit(action, &devlink->ops->reload_actions); in devlink_reload_action_is_supported()
52 devlink_reload_limit_is_supported(struct devlink *devlink, enum devlink_reload_limit limit) in devlink_reload_limit_is_supported() argument
54 return test_bit(limit, &devlink->ops->reload_limits); in devlink_reload_limit_is_supported()
78 devlink_reload_stats_put(struct sk_buff *msg, struct devlink *devlink, bool is_remote) in devlink_reload_stats_put() argument
94 !devlink_reload_action_is_supported(devlink, i)) || in devlink_reload_stats_put()
114 !devlink_reload_limit_is_supported(devlink, j)) || in devlink_reload_stats_put()
120 value = devlink->stats.reload_stats[stat_idx]; in devlink_reload_stats_put()
122 value = devlink->stats.remote_reload_stats[stat_idx]; in devlink_reload_stats_put()
141 static int devlink_nl_fill(struct sk_buff *msg, struct devlink *devlink, in devlink_nl_fill() argument
[all …]
H A Dresource.c39 devlink_resource_find(struct devlink *devlink, in devlink_resource_find() argument
47 resource_list = &devlink->resource_list; in devlink_resource_find()
55 child_resource = devlink_resource_find(devlink, resource, in devlink_resource_find()
110 struct devlink *devlink = info->user_ptr[0]; in devlink_nl_cmd_resource_set() local
121 resource = devlink_resource_find(devlink, NULL, resource_id); in devlink_nl_cmd_resource_set()
165 static int devlink_resource_put(struct devlink *devlink, struct sk_buff *skb, in devlink_resource_put() argument
203 if (devlink_resource_put(devlink, skb, child_resource)) in devlink_resource_put()
222 struct devlink *devlink = info->user_ptr[0]; in devlink_resource_fill() local
232 resource = list_first_entry(&devlink->resource_list, in devlink_resource_fill()
246 if (devlink_nl_put_handle(skb, devlink)) in devlink_resource_fill()
[all …]
H A Dsb.c24 static struct devlink_sb *devlink_sb_get_by_index(struct devlink *devlink, in devlink_sb_get_by_index() argument
29 list_for_each_entry(devlink_sb, &devlink->sb_list, list) { in devlink_sb_get_by_index()
36 static bool devlink_sb_index_exists(struct devlink *devlink, in devlink_sb_index_exists() argument
39 return devlink_sb_get_by_index(devlink, sb_index); in devlink_sb_index_exists()
42 static struct devlink_sb *devlink_sb_get_from_attrs(struct devlink *devlink, in devlink_sb_get_from_attrs() argument
49 devlink_sb = devlink_sb_get_by_index(devlink, sb_index); in devlink_sb_get_from_attrs()
57 static struct devlink_sb *devlink_sb_get_from_info(struct devlink *devlink, in devlink_sb_get_from_info() argument
60 return devlink_sb_get_from_attrs(devlink, info->attrs); in devlink_sb_get_from_info()
167 static int devlink_nl_sb_fill(struct sk_buff *msg, struct devlink *devlink, in devlink_nl_sb_fill() argument
178 if (devlink_nl_put_handle(msg, devlink)) in devlink_nl_sb_fill()
[all …]
H A Dregion.c10 struct devlink *devlink; member
35 devlink_region_get_by_name(struct devlink *devlink, const char *region_name) in devlink_region_get_by_name() argument
39 list_for_each_entry(region, &devlink->region_list, list) in devlink_region_get_by_name()
72 struct devlink *devlink, in devlink_nl_region_snapshot_id_put() argument
95 struct devlink *devlink, in devlink_nl_region_snapshots_id_put() argument
108 err = devlink_nl_region_snapshot_id_put(msg, devlink, snapshot); in devlink_nl_region_snapshots_id_put()
121 static int devlink_nl_region_fill(struct sk_buff *msg, struct devlink *devlink, in devlink_nl_region_fill() argument
133 err = devlink_nl_put_handle(msg, devlink); in devlink_nl_region_fill()
159 err = devlink_nl_region_snapshots_id_put(msg, devlink, region); in devlink_nl_region_fill()
176 struct devlink *devlink = region->devlink; in devlink_nl_region_notify_build() local
[all …]
H A Dparam.c150 static int devlink_param_get(struct devlink *devlink, in devlink_param_get() argument
156 return param->get(devlink, param->id, ctx); in devlink_param_get()
159 static int devlink_param_set(struct devlink *devlink, in devlink_param_set() argument
165 return param->set(devlink, param->id, ctx); in devlink_param_set()
237 static int devlink_nl_param_fill(struct sk_buff *msg, struct devlink *devlink, in devlink_nl_param_fill() argument
267 err = devlink_param_get(devlink, param, &ctx); in devlink_nl_param_fill()
279 if (devlink_nl_put_handle(msg, devlink)) in devlink_nl_param_fill()
330 static void devlink_param_notify(struct devlink *devlink, in devlink_param_notify() argument
346 if (!devl_is_registered(devlink)) in devlink_param_notify()
352 err = devlink_nl_param_fill(msg, devlink, port_index, param_item, cmd, in devlink_param_notify()
[all …]
H A Drate.c22 devlink_rate_leaf_get_from_info(struct devlink *devlink, struct genl_info *info) in devlink_rate_leaf_get_from_info() argument
27 devlink_port = devlink_port_get_from_attrs(devlink, info->attrs); in devlink_rate_leaf_get_from_info()
35 devlink_rate_node_get_by_name(struct devlink *devlink, const char *node_name) in devlink_rate_node_get_by_name() argument
39 list_for_each_entry(devlink_rate, &devlink->rate_list, list) { in devlink_rate_node_get_by_name()
48 devlink_rate_node_get_from_attrs(struct devlink *devlink, struct nlattr **attrs) in devlink_rate_node_get_from_attrs() argument
61 return devlink_rate_node_get_by_name(devlink, rate_node_name); in devlink_rate_node_get_from_attrs()
65 devlink_rate_node_get_from_info(struct devlink *devlink, struct genl_info *info) in devlink_rate_node_get_from_info() argument
67 return devlink_rate_node_get_from_attrs(devlink, info->attrs); in devlink_rate_node_get_from_info()
71 devlink_rate_get_from_info(struct devlink *devlink, struct genl_info *info) in devlink_rate_get_from_info() argument
76 return devlink_rate_leaf_get_from_info(devlink, info); in devlink_rate_get_from_info()
[all …]
H A Dhealth.c58 struct devlink *devlink; member
92 devlink_health_reporter_find_by_name(struct devlink *devlink, in devlink_health_reporter_find_by_name() argument
95 return __devlink_health_reporter_find_by_name(&devlink->reporter_list, in devlink_health_reporter_find_by_name()
108 __devlink_health_reporter_create(struct devlink *devlink, in __devlink_health_reporter_create() argument
123 reporter->devlink = devlink; in __devlink_health_reporter_create()
146 devl_assert_locked(port->devlink); in devl_port_health_reporter_create()
152 reporter = __devlink_health_reporter_create(port->devlink, ops, in devl_port_health_reporter_create()
169 struct devlink *devlink = port->devlink; in devlink_port_health_reporter_create() local
171 devl_lock(devlink); in devlink_port_health_reporter_create()
174 devl_unlock(devlink); in devlink_port_health_reporter_create()
[all …]
H A Dlinecard.c10 devlink_linecard_get_by_index(struct devlink *devlink, in devlink_linecard_get_by_index() argument
15 list_for_each_entry(devlink_linecard, &devlink->linecard_list, list) { in devlink_linecard_get_by_index()
22 static bool devlink_linecard_index_exists(struct devlink *devlink, in devlink_linecard_index_exists() argument
25 return devlink_linecard_get_by_index(devlink, linecard_index); in devlink_linecard_index_exists()
29 devlink_linecard_get_from_attrs(struct devlink *devlink, struct nlattr **attrs) in devlink_linecard_get_from_attrs() argument
35 linecard = devlink_linecard_get_by_index(devlink, linecard_index); in devlink_linecard_get_from_attrs()
44 devlink_linecard_get_from_info(struct devlink *devlink, struct genl_info *info) in devlink_linecard_get_from_info() argument
46 return devlink_linecard_get_from_attrs(devlink, info->attrs); in devlink_linecard_get_from_info()
49 static int devlink_nl_put_nested_handle(struct sk_buff *msg, struct devlink *devlink) in devlink_nl_put_nested_handle() argument
56 if (devlink_nl_put_handle(msg, devlink)) in devlink_nl_put_nested_handle()
[all …]
H A Dnetlink.c100 struct devlink *
103 struct devlink *devlink; in devlink_get_from_attrs_lock() local
114 devlinks_xa_for_each_registered_get(net, index, devlink) { in devlink_get_from_attrs_lock()
115 devl_lock(devlink); in devlink_get_from_attrs_lock()
116 if (devl_is_registered(devlink) && in devlink_get_from_attrs_lock()
117 strcmp(devlink->dev->bus->name, busname) == 0 && in devlink_get_from_attrs_lock()
118 strcmp(dev_name(devlink->dev), devname) == 0) in devlink_get_from_attrs_lock()
119 return devlink; in devlink_get_from_attrs_lock()
120 devl_unlock(devlink); in devlink_get_from_attrs_lock()
121 devlink_put(devlink); in devlink_get_from_attrs_lock()
[all …]
H A Ddpipe.c217 struct devlink *devlink = info->user_ptr[0]; in devlink_dpipe_tables_fill() local
241 if (devlink_nl_put_handle(skb, devlink)) in devlink_dpipe_tables_fill()
294 struct devlink *devlink = info->user_ptr[0]; in devlink_nl_cmd_dpipe_table_get() local
301 &devlink->dpipe_table_list, in devlink_nl_cmd_dpipe_table_get()
453 const char *table_name, struct devlink *devlink) in devlink_dpipe_table_find() argument
458 lockdep_is_held(&devlink->lock)) { in devlink_dpipe_table_find()
467 struct devlink *devlink; in devlink_dpipe_entry_ctx_prepare() local
483 devlink = dump_ctx->info->user_ptr[0]; in devlink_dpipe_entry_ctx_prepare()
484 if (devlink_nl_put_handle(dump_ctx->skb, devlink)) in devlink_dpipe_entry_ctx_prepare()
568 struct devlink *devlink = info->user_ptr[0]; in devlink_nl_cmd_dpipe_entries_get() local
[all …]
/openbmc/linux/include/net/
H A Ddevlink.h24 struct devlink;
104 struct devlink *devlink; member
125 struct devlink *devlink; member
482 int (*get)(struct devlink *devlink, u32 id,
484 int (*set)(struct devlink *devlink, u32 id,
486 int (*validate)(struct devlink *devlink, u32 id,
672 int (*snapshot)(struct devlink *devlink,
676 int (*read)(struct devlink *devlink,
1274 int (*reload_down)(struct devlink *devlink, bool netns_change,
1278 int (*reload_up)(struct devlink *devlink, enum devlink_reload_action action,
[all …]
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Ddevlink.c14 static int mlx5_devlink_flash_update(struct devlink *devlink, in mlx5_devlink_flash_update() argument
18 struct mlx5_core_dev *dev = devlink_priv(devlink); in mlx5_devlink_flash_update()
41 mlx5_devlink_info_get(struct devlink *devlink, struct devlink_info_req *req, in mlx5_devlink_info_get() argument
44 struct mlx5_core_dev *dev = devlink_priv(devlink); in mlx5_devlink_info_get()
84 static int mlx5_devlink_reload_fw_activate(struct devlink *devlink, struct netlink_ext_ack *extack) in mlx5_devlink_reload_fw_activate() argument
86 struct mlx5_core_dev *dev = devlink_priv(devlink); in mlx5_devlink_reload_fw_activate()
115 static int mlx5_devlink_trigger_fw_live_patch(struct devlink *devlink, in mlx5_devlink_trigger_fw_live_patch() argument
118 struct mlx5_core_dev *dev = devlink_priv(devlink); in mlx5_devlink_trigger_fw_live_patch()
134 static int mlx5_devlink_reload_down(struct devlink *devlink, bool netns_change, in mlx5_devlink_reload_down() argument
139 struct mlx5_core_dev *dev = devlink_priv(devlink); in mlx5_devlink_reload_down()
[all …]
/openbmc/linux/include/trace/events/
H A Ddevlink.h5 #define TRACE_SYSTEM devlink
18 TP_PROTO(const struct devlink *devlink, bool incoming,
21 TP_ARGS(devlink, incoming, type, buf, len),
24 __string(bus_name, devlink_to_dev(devlink)->bus->name)
25 __string(dev_name, dev_name(devlink_to_dev(devlink)))
26 __string(driver_name, devlink_to_dev(devlink)->driver->name)
34 __assign_str(bus_name, devlink_to_dev(devlink)->bus->name);
35 __assign_str(dev_name, dev_name(devlink_to_dev(devlink)));
36 __assign_str(driver_name, devlink_to_dev(devlink)->driver->name);
53 TP_PROTO(const struct devlink *devlink, int err, const char *msg),
[all …]
/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hns3pf/
H A Dhclge_devlink.c8 static int hclge_devlink_info_get(struct devlink *devlink, in hclge_devlink_info_get() argument
13 struct hclge_devlink_priv *priv = devlink_priv(devlink); in hclge_devlink_info_get()
32 static int hclge_devlink_reload_down(struct devlink *devlink, bool netns_change, in hclge_devlink_reload_down() argument
37 struct hclge_devlink_priv *priv = devlink_priv(devlink); in hclge_devlink_reload_down()
66 static int hclge_devlink_reload_up(struct devlink *devlink, in hclge_devlink_reload_up() argument
72 struct hclge_devlink_priv *priv = devlink_priv(devlink); in hclge_devlink_reload_up()
106 struct devlink *devlink; in hclge_devlink_init() local
108 devlink = devlink_alloc(&hclge_devlink_ops, in hclge_devlink_init()
110 if (!devlink) in hclge_devlink_init()
113 priv = devlink_priv(devlink); in hclge_devlink_init()
[all …]
/openbmc/linux/drivers/net/ethernet/hisilicon/hns3/hns3vf/
H A Dhclgevf_devlink.c8 static int hclgevf_devlink_info_get(struct devlink *devlink, in hclgevf_devlink_info_get() argument
13 struct hclgevf_devlink_priv *priv = devlink_priv(devlink); in hclgevf_devlink_info_get()
32 static int hclgevf_devlink_reload_down(struct devlink *devlink, in hclgevf_devlink_reload_down() argument
38 struct hclgevf_devlink_priv *priv = devlink_priv(devlink); in hclgevf_devlink_reload_down()
67 static int hclgevf_devlink_reload_up(struct devlink *devlink, in hclgevf_devlink_reload_up() argument
73 struct hclgevf_devlink_priv *priv = devlink_priv(devlink); in hclgevf_devlink_reload_up()
107 struct devlink *devlink; in hclgevf_devlink_init() local
109 devlink = in hclgevf_devlink_init()
112 if (!devlink) in hclgevf_devlink_init()
115 priv = devlink_priv(devlink); in hclgevf_devlink_init()
[all …]
/openbmc/linux/drivers/net/netdevsim/
H A Ddev.c78 nsim_dev_take_snapshot(struct devlink *devlink, in nsim_dev_take_snapshot() argument
101 struct devlink *devlink; in nsim_dev_take_snapshot_write() local
106 devlink = priv_to_devlink(nsim_dev); in nsim_dev_take_snapshot_write()
108 err = nsim_dev_take_snapshot(devlink, NULL, NULL, &dummy_data); in nsim_dev_take_snapshot_write()
112 err = devlink_region_snapshot_id_get(devlink, &id); in nsim_dev_take_snapshot_write()
120 devlink_region_snapshot_id_put(devlink, id); in nsim_dev_take_snapshot_write()
429 static int nsim_dev_resources_register(struct devlink *devlink) in nsim_dev_resources_register() argument
439 err = devl_resource_register(devlink, "IPv4", (u64)-1, in nsim_dev_resources_register()
448 err = devl_resource_register(devlink, "fib", (u64)-1, in nsim_dev_resources_register()
456 err = devl_resource_register(devlink, "fib-rules", (u64)-1, in nsim_dev_resources_register()
[all …]
/openbmc/linux/tools/testing/selftests/net/forwarding/
H A Ddevlink_lib.sh11 DEVLINK_DEV=$(devlink port show "${NETIFS[p1]:-$NETIF_NO_CABLE}" -j \
25 devlink dev show $DEVLINK_DEV &> /dev/null
35 devlink help 2>&1 | grep resource &> /dev/null
41 devlink help 2>&1 | grep trap &> /dev/null
47 devlink dev help 2>&1 | grep info &> /dev/null
85 devlink -j resource show "$DEVLINK_DEV" | jq "$resource_name"
106 devlink resource set "$DEVLINK_DEV" path "$path" size "$new_size"
119 devlink dev reload "$DEVLINK_DEV" &> /dev/null
122 still_pending=$(devlink resource show "$DEVLINK_DEV" | \
142 devlink sb port pool show $port pool $pool -j \
[all …]
/openbmc/linux/Documentation/networking/devlink/
H A Dindex.rst4 devlink is an API to expose device information and resources not directly
13 in devlink core, but don't allow registration of most sub-objects once
14 the main devlink object is itself registered. The newer ``devl_*`` APIs assume
15 the devlink instance lock is already held. Drivers can take the instance
16 lock by calling ``devl_lock()``. It is also held all callbacks of devlink
19 Drivers are encouraged to use the devlink instance lock for their own needs.
24 The following pages describe various interfaces available through devlink in
30 devlink-dpipe
31 devlink-health
32 devlink-info
[all …]
/openbmc/linux/tools/testing/selftests/drivers/net/netdevsim/
H A Ddevlink.sh29 busywait "$timeout" wait_for_devlink devlink dev
36 devlink dev flash $DL_HANDLE file dummy
39 devlink dev flash $DL_HANDLE file dummy component fw.mgmt
42 devlink dev flash $DL_HANDLE file dummy overwrite settings
48 devlink dev flash $DL_HANDLE file dummy overwrite settings
51 devlink dev flash $DL_HANDLE file dummy overwrite identifiers
57 devlink dev flash $DL_HANDLE file dummy overwrite identifiers overwrite settings
63 devlink dev flash $DL_HANDLE file dummy
82 devlink dev param set $DL_HANDLE name $name cmode driverinit value $value
121 devlink dev reload $DL_HANDLE
[all …]
/openbmc/linux/drivers/net/ethernet/qlogic/qed/
H A Dqed_devlink.c22 int qed_report_fatal_error(struct devlink *devlink, enum qed_hw_err_type err_type) in qed_report_fatal_error() argument
24 struct qed_devlink *qdl = devlink_priv(devlink); in qed_report_fatal_error()
98 void qed_fw_reporters_create(struct devlink *devlink) in qed_fw_reporters_create() argument
100 struct qed_devlink *dl = devlink_priv(devlink); in qed_fw_reporters_create()
102 dl->fw_reporter = devlink_health_reporter_create(devlink, &qed_fw_fatal_reporter_ops, in qed_fw_reporters_create()
111 void qed_fw_reporters_destroy(struct devlink *devlink) in qed_fw_reporters_destroy() argument
113 struct qed_devlink *dl = devlink_priv(devlink); in qed_fw_reporters_destroy()
122 static int qed_dl_param_get(struct devlink *dl, u32 id, in qed_dl_param_get()
134 static int qed_dl_param_set(struct devlink *dl, u32 id, in qed_dl_param_set()
153 static int qed_devlink_info_get(struct devlink *devlink, in qed_devlink_info_get() argument
[all …]
/openbmc/linux/drivers/net/wwan/iosm/
H A Diosm_ipc_coredump.c18 int ipc_coredump_collect(struct iosm_devlink *devlink, u8 **data, int entry, in ipc_coredump_collect() argument
29 remaining = devlink->cd_file_info[entry].actual_size; in ipc_coredump_collect()
30 ret = ipc_devlink_send_cmd(devlink, rpsi_cmd_coredump_get, entry); in ipc_coredump_collect()
32 dev_err(devlink->dev, "Send coredump_get cmd failed"); in ipc_coredump_collect()
38 ret = ipc_imem_sys_devlink_read(devlink, data_ptr + i, in ipc_coredump_collect()
41 dev_err(devlink->dev, "CD data read failed"); in ipc_coredump_collect()
64 int ipc_coredump_get_list(struct iosm_devlink *devlink, u16 cmd) in ipc_coredump_get_list() argument
78 ret = ipc_devlink_send_cmd(devlink, cmd, MAX_CD_LIST_SIZE); in ipc_coredump_get_list()
80 dev_err(devlink->dev, "rpsi_cmd_coredump_start failed"); in ipc_coredump_get_list()
84 ret = ipc_imem_sys_devlink_read(devlink, (u8 *)cd_table, in ipc_coredump_get_list()
[all …]
/openbmc/linux/drivers/net/ethernet/fungible/funeth/
H A Dfuneth_devlink.c9 struct devlink *fun_devlink_alloc(struct device *dev) in fun_devlink_alloc()
14 void fun_devlink_free(struct devlink *devlink) in fun_devlink_free() argument
16 devlink_free(devlink); in fun_devlink_free()
19 void fun_devlink_register(struct devlink *devlink) in fun_devlink_register() argument
21 devlink_register(devlink); in fun_devlink_register()
24 void fun_devlink_unregister(struct devlink *devlink) in fun_devlink_unregister() argument
26 devlink_unregister(devlink); in fun_devlink_unregister()

12345678910