1 /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
2 /* Do not edit directly, auto-generated from: */
3 /*	Documentation/netlink/specs/devlink.yaml */
4 /* YNL-GEN kernel header */
5 
6 #ifndef _LINUX_DEVLINK_GEN_H
7 #define _LINUX_DEVLINK_GEN_H
8 
9 #include <net/netlink.h>
10 #include <net/genetlink.h>
11 
12 #include <uapi/linux/devlink.h>
13 
14 /* Common nested types */
15 extern const struct nla_policy devlink_dl_port_function_nl_policy[DEVLINK_PORT_FN_ATTR_CAPS + 1];
16 extern const struct nla_policy devlink_dl_selftest_id_nl_policy[DEVLINK_ATTR_SELFTEST_ID_FLASH + 1];
17 
18 /* Ops table for devlink */
19 extern const struct genl_split_ops devlink_nl_ops[74];
20 
21 int devlink_nl_pre_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
22 			struct genl_info *info);
23 int devlink_nl_pre_doit_port(const struct genl_split_ops *ops,
24 			     struct sk_buff *skb, struct genl_info *info);
25 int devlink_nl_pre_doit_dev_lock(const struct genl_split_ops *ops,
26 				 struct sk_buff *skb, struct genl_info *info);
27 int devlink_nl_pre_doit_port_optional(const struct genl_split_ops *ops,
28 				      struct sk_buff *skb,
29 				      struct genl_info *info);
30 void
31 devlink_nl_post_doit(const struct genl_split_ops *ops, struct sk_buff *skb,
32 		     struct genl_info *info);
33 void
34 devlink_nl_post_doit_dev_lock(const struct genl_split_ops *ops,
35 			      struct sk_buff *skb, struct genl_info *info);
36 
37 int devlink_nl_get_doit(struct sk_buff *skb, struct genl_info *info);
38 int devlink_nl_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb);
39 int devlink_nl_port_get_doit(struct sk_buff *skb, struct genl_info *info);
40 int devlink_nl_port_get_dumpit(struct sk_buff *skb,
41 			       struct netlink_callback *cb);
42 int devlink_nl_port_set_doit(struct sk_buff *skb, struct genl_info *info);
43 int devlink_nl_port_new_doit(struct sk_buff *skb, struct genl_info *info);
44 int devlink_nl_port_del_doit(struct sk_buff *skb, struct genl_info *info);
45 int devlink_nl_port_split_doit(struct sk_buff *skb, struct genl_info *info);
46 int devlink_nl_port_unsplit_doit(struct sk_buff *skb, struct genl_info *info);
47 int devlink_nl_sb_get_doit(struct sk_buff *skb, struct genl_info *info);
48 int devlink_nl_sb_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb);
49 int devlink_nl_sb_pool_get_doit(struct sk_buff *skb, struct genl_info *info);
50 int devlink_nl_sb_pool_get_dumpit(struct sk_buff *skb,
51 				  struct netlink_callback *cb);
52 int devlink_nl_sb_pool_set_doit(struct sk_buff *skb, struct genl_info *info);
53 int devlink_nl_sb_port_pool_get_doit(struct sk_buff *skb,
54 				     struct genl_info *info);
55 int devlink_nl_sb_port_pool_get_dumpit(struct sk_buff *skb,
56 				       struct netlink_callback *cb);
57 int devlink_nl_sb_port_pool_set_doit(struct sk_buff *skb,
58 				     struct genl_info *info);
59 int devlink_nl_sb_tc_pool_bind_get_doit(struct sk_buff *skb,
60 					struct genl_info *info);
61 int devlink_nl_sb_tc_pool_bind_get_dumpit(struct sk_buff *skb,
62 					  struct netlink_callback *cb);
63 int devlink_nl_sb_tc_pool_bind_set_doit(struct sk_buff *skb,
64 					struct genl_info *info);
65 int devlink_nl_sb_occ_snapshot_doit(struct sk_buff *skb,
66 				    struct genl_info *info);
67 int devlink_nl_sb_occ_max_clear_doit(struct sk_buff *skb,
68 				     struct genl_info *info);
69 int devlink_nl_eswitch_get_doit(struct sk_buff *skb, struct genl_info *info);
70 int devlink_nl_eswitch_set_doit(struct sk_buff *skb, struct genl_info *info);
71 int devlink_nl_dpipe_table_get_doit(struct sk_buff *skb,
72 				    struct genl_info *info);
73 int devlink_nl_dpipe_entries_get_doit(struct sk_buff *skb,
74 				      struct genl_info *info);
75 int devlink_nl_dpipe_headers_get_doit(struct sk_buff *skb,
76 				      struct genl_info *info);
77 int devlink_nl_dpipe_table_counters_set_doit(struct sk_buff *skb,
78 					     struct genl_info *info);
79 int devlink_nl_resource_set_doit(struct sk_buff *skb, struct genl_info *info);
80 int devlink_nl_resource_dump_doit(struct sk_buff *skb, struct genl_info *info);
81 int devlink_nl_reload_doit(struct sk_buff *skb, struct genl_info *info);
82 int devlink_nl_param_get_doit(struct sk_buff *skb, struct genl_info *info);
83 int devlink_nl_param_get_dumpit(struct sk_buff *skb,
84 				struct netlink_callback *cb);
85 int devlink_nl_param_set_doit(struct sk_buff *skb, struct genl_info *info);
86 int devlink_nl_region_get_doit(struct sk_buff *skb, struct genl_info *info);
87 int devlink_nl_region_get_dumpit(struct sk_buff *skb,
88 				 struct netlink_callback *cb);
89 int devlink_nl_region_new_doit(struct sk_buff *skb, struct genl_info *info);
90 int devlink_nl_region_del_doit(struct sk_buff *skb, struct genl_info *info);
91 int devlink_nl_region_read_dumpit(struct sk_buff *skb,
92 				  struct netlink_callback *cb);
93 int devlink_nl_port_param_get_doit(struct sk_buff *skb, struct genl_info *info);
94 int devlink_nl_port_param_get_dumpit(struct sk_buff *skb,
95 				     struct netlink_callback *cb);
96 int devlink_nl_port_param_set_doit(struct sk_buff *skb, struct genl_info *info);
97 int devlink_nl_info_get_doit(struct sk_buff *skb, struct genl_info *info);
98 int devlink_nl_info_get_dumpit(struct sk_buff *skb,
99 			       struct netlink_callback *cb);
100 int devlink_nl_health_reporter_get_doit(struct sk_buff *skb,
101 					struct genl_info *info);
102 int devlink_nl_health_reporter_get_dumpit(struct sk_buff *skb,
103 					  struct netlink_callback *cb);
104 int devlink_nl_health_reporter_set_doit(struct sk_buff *skb,
105 					struct genl_info *info);
106 int devlink_nl_health_reporter_recover_doit(struct sk_buff *skb,
107 					    struct genl_info *info);
108 int devlink_nl_health_reporter_diagnose_doit(struct sk_buff *skb,
109 					     struct genl_info *info);
110 int devlink_nl_health_reporter_dump_get_dumpit(struct sk_buff *skb,
111 					       struct netlink_callback *cb);
112 int devlink_nl_health_reporter_dump_clear_doit(struct sk_buff *skb,
113 					       struct genl_info *info);
114 int devlink_nl_flash_update_doit(struct sk_buff *skb, struct genl_info *info);
115 int devlink_nl_trap_get_doit(struct sk_buff *skb, struct genl_info *info);
116 int devlink_nl_trap_get_dumpit(struct sk_buff *skb,
117 			       struct netlink_callback *cb);
118 int devlink_nl_trap_set_doit(struct sk_buff *skb, struct genl_info *info);
119 int devlink_nl_trap_group_get_doit(struct sk_buff *skb, struct genl_info *info);
120 int devlink_nl_trap_group_get_dumpit(struct sk_buff *skb,
121 				     struct netlink_callback *cb);
122 int devlink_nl_trap_group_set_doit(struct sk_buff *skb, struct genl_info *info);
123 int devlink_nl_trap_policer_get_doit(struct sk_buff *skb,
124 				     struct genl_info *info);
125 int devlink_nl_trap_policer_get_dumpit(struct sk_buff *skb,
126 				       struct netlink_callback *cb);
127 int devlink_nl_trap_policer_set_doit(struct sk_buff *skb,
128 				     struct genl_info *info);
129 int devlink_nl_health_reporter_test_doit(struct sk_buff *skb,
130 					 struct genl_info *info);
131 int devlink_nl_rate_get_doit(struct sk_buff *skb, struct genl_info *info);
132 int devlink_nl_rate_get_dumpit(struct sk_buff *skb,
133 			       struct netlink_callback *cb);
134 int devlink_nl_rate_set_doit(struct sk_buff *skb, struct genl_info *info);
135 int devlink_nl_rate_new_doit(struct sk_buff *skb, struct genl_info *info);
136 int devlink_nl_rate_del_doit(struct sk_buff *skb, struct genl_info *info);
137 int devlink_nl_linecard_get_doit(struct sk_buff *skb, struct genl_info *info);
138 int devlink_nl_linecard_get_dumpit(struct sk_buff *skb,
139 				   struct netlink_callback *cb);
140 int devlink_nl_linecard_set_doit(struct sk_buff *skb, struct genl_info *info);
141 int devlink_nl_selftests_get_doit(struct sk_buff *skb, struct genl_info *info);
142 int devlink_nl_selftests_get_dumpit(struct sk_buff *skb,
143 				    struct netlink_callback *cb);
144 int devlink_nl_selftests_run_doit(struct sk_buff *skb, struct genl_info *info);
145 int devlink_nl_notify_filter_set_doit(struct sk_buff *skb,
146 				      struct genl_info *info);
147 
148 #endif /* _LINUX_DEVLINK_GEN_H */
149