libnl 3.7.0
mqprio.h
1/* SPDX-License-Identifier: LGPL-2.1-only */
2/*
3 * Copyright (c) 2018 Volodymyr Bendiuga <volodymyr.bendiuga@westermo.se>
4 */
5
6#ifndef NETLINK_MQPRIO_H_
7#define NETLINK_MQPRIO_H_
8
9#include <netlink/netlink.h>
10#include <netlink/route/qdisc.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16extern int rtnl_qdisc_mqprio_set_num_tc(struct rtnl_qdisc *qdisc, int num_tc);
17extern int rtnl_qdisc_mqprio_get_num_tc(struct rtnl_qdisc *qdisc);
18extern int rtnl_qdisc_mqprio_set_priomap(struct rtnl_qdisc *qdisc, uint8_t priomap[],
19 int len);
20extern uint8_t *rtnl_qdisc_mqprio_get_priomap(struct rtnl_qdisc *qdisc);
21extern int rtnl_qdisc_mqprio_hw_offload(struct rtnl_qdisc *qdisc, int offload);
22extern int rtnl_qdisc_mqprio_get_hw_offload(struct rtnl_qdisc *qdisc);
23extern int rtnl_qdisc_mqprio_set_queue(struct rtnl_qdisc *qdisc, uint16_t count[],
24 uint16_t offset[], int len);
25extern int rtnl_qdisc_mqprio_get_queue(struct rtnl_qdisc *qdisc, uint16_t *count,
26 uint16_t *offset);
27extern int rtnl_qdisc_mqprio_set_mode(struct rtnl_qdisc *qdisc, uint16_t mode);
28extern int rtnl_qdisc_mqprio_get_mode(struct rtnl_qdisc *qdisc);
29extern int rtnl_qdisc_mqprio_set_shaper(struct rtnl_qdisc *qdisc, uint16_t shaper);
30extern int rtnl_qdisc_mqprio_get_shaper(struct rtnl_qdisc *qdisc);
31extern int rtnl_qdisc_mqprio_set_min_rate(struct rtnl_qdisc *qdisc, uint64_t min[],
32 int len);
33extern int rtnl_qdisc_mqprio_get_min_rate(struct rtnl_qdisc *qdisc, uint64_t *min);
34extern int rtnl_qdisc_mqprio_set_max_rate(struct rtnl_qdisc *qdisc, uint64_t max[],
35 int len);
36extern int rtnl_qdisc_mqprio_get_max_rate(struct rtnl_qdisc *qdisc, uint64_t *max);
37
38#ifdef __cplusplus
39}
40#endif
41
42#endif /* NETLINK_MQPRIO_H_ */