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