#include "devl_internal.h"
static inline bool
devlink_rate_is_leaf(struct devlink_rate *devlink_rate)
{ … }
static inline bool
devlink_rate_is_node(struct devlink_rate *devlink_rate)
{ … }
static struct devlink_rate *
devlink_rate_leaf_get_from_info(struct devlink *devlink, struct genl_info *info)
{ … }
static struct devlink_rate *
devlink_rate_node_get_by_name(struct devlink *devlink, const char *node_name)
{ … }
static struct devlink_rate *
devlink_rate_node_get_from_attrs(struct devlink *devlink, struct nlattr **attrs)
{ … }
static struct devlink_rate *
devlink_rate_node_get_from_info(struct devlink *devlink, struct genl_info *info)
{ … }
static struct devlink_rate *
devlink_rate_get_from_info(struct devlink *devlink, struct genl_info *info)
{ … }
static int devlink_nl_rate_fill(struct sk_buff *msg,
struct devlink_rate *devlink_rate,
enum devlink_command cmd, u32 portid, u32 seq,
int flags, struct netlink_ext_ack *extack)
{ … }
static void devlink_rate_notify(struct devlink_rate *devlink_rate,
enum devlink_command cmd)
{ … }
void devlink_rates_notify_register(struct devlink *devlink)
{ … }
void devlink_rates_notify_unregister(struct devlink *devlink)
{ … }
static int
devlink_nl_rate_get_dump_one(struct sk_buff *msg, struct devlink *devlink,
struct netlink_callback *cb, int flags)
{ … }
int devlink_nl_rate_get_dumpit(struct sk_buff *skb, struct netlink_callback *cb)
{ … }
int devlink_nl_rate_get_doit(struct sk_buff *skb, struct genl_info *info)
{ … }
static bool
devlink_rate_is_parent_node(struct devlink_rate *devlink_rate,
struct devlink_rate *parent)
{ … }
static int
devlink_nl_rate_parent_node_set(struct devlink_rate *devlink_rate,
struct genl_info *info,
struct nlattr *nla_parent)
{ … }
static int devlink_nl_rate_set(struct devlink_rate *devlink_rate,
const struct devlink_ops *ops,
struct genl_info *info)
{ … }
static bool devlink_rate_set_ops_supported(const struct devlink_ops *ops,
struct genl_info *info,
enum devlink_rate_type type)
{ … }
int devlink_nl_rate_set_doit(struct sk_buff *skb, struct genl_info *info)
{ … }
int devlink_nl_rate_new_doit(struct sk_buff *skb, struct genl_info *info)
{ … }
int devlink_nl_rate_del_doit(struct sk_buff *skb, struct genl_info *info)
{ … }
int devlink_rate_nodes_check(struct devlink *devlink, u16 mode,
struct netlink_ext_ack *extack)
{ … }
struct devlink_rate *
devl_rate_node_create(struct devlink *devlink, void *priv, char *node_name,
struct devlink_rate *parent)
{ … }
EXPORT_SYMBOL_GPL(…);
int devl_rate_leaf_create(struct devlink_port *devlink_port, void *priv,
struct devlink_rate *parent)
{ … }
EXPORT_SYMBOL_GPL(…);
void devl_rate_leaf_destroy(struct devlink_port *devlink_port)
{ … }
EXPORT_SYMBOL_GPL(…);
void devl_rate_nodes_destroy(struct devlink *devlink)
{ … }
EXPORT_SYMBOL_GPL(…);