Lines Matching defs:devlink
3 * include/net/devlink.h - Network physical device Netlink interface
20 #include <uapi/linux/devlink.h>
24 struct devlink;
36 * struct devlink_port_pci_pf_attrs - devlink port's PCI PF attributes
48 * struct devlink_port_pci_vf_attrs - devlink port's PCI VF attributes
62 * struct devlink_port_pci_sf_attrs - devlink port's PCI SF attributes
76 * struct devlink_port_attrs - devlink port object
104 struct devlink *devlink;
125 struct devlink *devlink;
315 * @cmd: devlink command
442 * struct devlink_flash_notify - devlink dev flash notify data
461 * struct devlink_param - devlink configuration parameter data
462 * @id: devlink parameter id number
482 int (*get)(struct devlink *devlink, u32 id,
484 int (*set)(struct devlink *devlink, u32 id,
486 int (*validate)(struct devlink *devlink, u32 id,
661 * The function will be called while the devlink instance lock is
666 * while the devlink instance lock is held.
672 int (*snapshot)(struct devlink *devlink,
676 int (*read)(struct devlink *devlink,
689 * The function will be called while the devlink instance lock is
694 * while the devlink instance lock is held.
775 * with devlink.
795 * with devlink.
818 * devlink.
831 * Documentation/networking/devlink/devlink-trap.rst
935 * Documentation/networking/devlink/devlink-trap.rst
1274 int (*reload_down)(struct devlink *devlink, bool netns_change,
1278 int (*reload_up)(struct devlink *devlink, enum devlink_reload_action action,
1281 int (*sb_pool_get)(struct devlink *devlink, unsigned int sb_index,
1284 int (*sb_pool_set)(struct devlink *devlink, unsigned int sb_index,
1305 int (*sb_occ_snapshot)(struct devlink *devlink,
1307 int (*sb_occ_max_clear)(struct devlink *devlink,
1318 int (*eswitch_mode_get)(struct devlink *devlink, u16 *p_mode);
1319 int (*eswitch_mode_set)(struct devlink *devlink, u16 mode,
1321 int (*eswitch_inline_mode_get)(struct devlink *devlink, u8 *p_inline_mode);
1322 int (*eswitch_inline_mode_set)(struct devlink *devlink, u8 inline_mode,
1324 int (*eswitch_encap_mode_get)(struct devlink *devlink,
1326 int (*eswitch_encap_mode_set)(struct devlink *devlink,
1329 int (*info_get)(struct devlink *devlink, struct devlink_info_req *req,
1338 int (*flash_update)(struct devlink *devlink,
1349 int (*trap_init)(struct devlink *devlink,
1357 void (*trap_fini)(struct devlink *devlink,
1362 int (*trap_action_set)(struct devlink *devlink,
1372 int (*trap_group_init)(struct devlink *devlink,
1380 int (*trap_group_set)(struct devlink *devlink,
1390 int (*trap_group_action_set)(struct devlink *devlink,
1398 * that have been dropped, and cannot be passed to the devlink
1401 int (*trap_drop_counter_get)(struct devlink *devlink,
1410 int (*trap_policer_init)(struct devlink *devlink,
1418 void (*trap_policer_fini)(struct devlink *devlink,
1423 int (*trap_policer_set)(struct devlink *devlink,
1433 int (*trap_policer_counter_get)(struct devlink *devlink,
1438 * @devlink: Devlink instance
1441 * @devlink_port: pointer to store new devlink port pointer
1448 * - On success, drivers must register a port with devlink core
1452 int (*port_new)(struct devlink *devlink,
1490 * @devlink: devlink instance
1496 bool (*selftest_check)(struct devlink *devlink, unsigned int id,
1500 * @devlink: devlink instance
1507 (*selftest_run)(struct devlink *devlink, unsigned int id,
1511 void *devlink_priv(struct devlink *devlink);
1512 struct devlink *priv_to_devlink(void *priv);
1513 struct device *devlink_to_dev(const struct devlink *devlink);
1516 void devl_lock(struct devlink *devlink);
1517 int devl_trylock(struct devlink *devlink);
1518 void devl_unlock(struct devlink *devlink);
1519 void devl_assert_locked(struct devlink *devlink);
1520 bool devl_lock_is_held(struct devlink *devlink);
1524 struct net *devlink_net(const struct devlink *devlink);
1526 * devlink instances in other namespaces than init_net.
1530 struct devlink *devlink_alloc_ns(const struct devlink_ops *ops,
1533 static inline struct devlink *devlink_alloc(const struct devlink_ops *ops,
1540 int devl_register(struct devlink *devlink);
1541 void devl_unregister(struct devlink *devlink);
1542 void devlink_register(struct devlink *devlink);
1543 void devlink_unregister(struct devlink *devlink);
1544 void devlink_free(struct devlink *devlink);
1558 * by the devlink port.
1561 * address of a function managed by the devlink port.
1565 * managed by the devlink port.
1569 * by the devlink port.
1573 * of a function managed by the devlink port.
1577 * a function managed by the devlink port.
1581 * function managed by the devlink port.
1585 * by the devlink port.
1589 * capability of a function managed by the devlink
1594 * function managed by the devlink port.
1598 * capability of a function managed by the devlink
1603 * function managed by the devlink port.
1609 int (*port_split)(struct devlink *devlink, struct devlink_port *port,
1611 int (*port_unsplit)(struct devlink *devlink, struct devlink_port *port,
1615 int (*port_del)(struct devlink *devlink, struct devlink_port *port,
1655 void devlink_port_init(struct devlink *devlink,
1659 int devl_port_register_with_ops(struct devlink *devlink,
1664 static inline int devl_port_register(struct devlink *devlink,
1668 return devl_port_register_with_ops(devlink, devlink_port,
1672 int devlink_port_register_with_ops(struct devlink *devlink,
1677 static inline int devlink_port_register(struct devlink *devlink,
1681 return devlink_port_register_with_ops(devlink, devlink_port,
1701 devl_rate_node_create(struct devlink *devlink, void *priv, char *node_name,
1707 void devl_rate_nodes_destroy(struct devlink *devlink);
1711 devl_linecard_create(struct devlink *devlink, unsigned int linecard_index,
1721 struct devlink *nested_devlink);
1722 int devl_sb_register(struct devlink *devlink, unsigned int sb_index,
1726 int devlink_sb_register(struct devlink *devlink, unsigned int sb_index,
1730 void devl_sb_unregister(struct devlink *devlink, unsigned int sb_index);
1731 void devlink_sb_unregister(struct devlink *devlink, unsigned int sb_index);
1732 int devl_dpipe_table_register(struct devlink *devlink,
1736 void devl_dpipe_table_unregister(struct devlink *devlink,
1738 void devl_dpipe_headers_register(struct devlink *devlink,
1740 void devl_dpipe_headers_unregister(struct devlink *devlink);
1741 bool devlink_dpipe_table_counter_enabled(struct devlink *devlink,
1756 int devl_resource_register(struct devlink *devlink,
1762 int devlink_resource_register(struct devlink *devlink,
1768 void devl_resources_unregister(struct devlink *devlink);
1769 void devlink_resources_unregister(struct devlink *devlink);
1770 int devl_resource_size_get(struct devlink *devlink,
1773 int devl_dpipe_table_resource_set(struct devlink *devlink,
1776 void devl_resource_occ_get_register(struct devlink *devlink,
1780 void devlink_resource_occ_get_register(struct devlink *devlink,
1784 void devl_resource_occ_get_unregister(struct devlink *devlink,
1787 void devlink_resource_occ_get_unregister(struct devlink *devlink,
1789 int devl_params_register(struct devlink *devlink,
1792 int devlink_params_register(struct devlink *devlink,
1795 void devl_params_unregister(struct devlink *devlink,
1798 void devlink_params_unregister(struct devlink *devlink,
1801 int devl_param_driverinit_value_get(struct devlink *devlink, u32 param_id,
1803 void devl_param_driverinit_value_set(struct devlink *devlink, u32 param_id,
1805 void devl_param_value_changed(struct devlink *devlink, u32 param_id);
1806 struct devlink_region *devl_region_create(struct devlink *devlink,
1811 devlink_region_create(struct devlink *devlink,
1820 int devlink_region_snapshot_id_get(struct devlink *devlink, u32 *id);
1821 void devlink_region_snapshot_id_put(struct devlink *devlink, u32 id);
1896 devl_health_reporter_create(struct devlink *devlink,
1901 devlink_health_reporter_create(struct devlink *devlink,
1921 bool devlink_is_reload_failed(const struct devlink *devlink);
1922 void devlink_remote_reload_actions_performed(struct devlink *devlink,
1926 void devlink_flash_update_status_notify(struct devlink *devlink,
1931 void devlink_flash_update_timeout_notify(struct devlink *devlink,
1936 int devl_traps_register(struct devlink *devlink,
1939 int devlink_traps_register(struct devlink *devlink,
1942 void devl_traps_unregister(struct devlink *devlink,
1945 void devlink_traps_unregister(struct devlink *devlink,
1948 void devlink_trap_report(struct devlink *devlink, struct sk_buff *skb,
1952 int devl_trap_groups_register(struct devlink *devlink,
1955 int devlink_trap_groups_register(struct devlink *devlink,
1958 void devl_trap_groups_unregister(struct devlink *devlink,
1961 void devlink_trap_groups_unregister(struct devlink *devlink,
1965 devl_trap_policers_register(struct devlink *devlink,
1969 devl_trap_policers_unregister(struct devlink *devlink,
1975 struct devlink *__must_check devlink_try_get(struct devlink *devlink);
1976 void devlink_put(struct devlink *devlink);
1978 void devlink_compat_running_version(struct devlink *devlink,
1980 int devlink_compat_flash_update(struct devlink *devlink, const char *file_name);
1991 static inline struct devlink *devlink_try_get(struct devlink *devlink)
1996 static inline void devlink_put(struct devlink *devlink)
2001 devlink_compat_running_version(struct devlink *devlink, char *buf, size_t len)
2006 devlink_compat_flash_update(struct devlink *devlink, const char *file_name)