1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2017 6WIND S.A.
3 * Copyright 2017 Mellanox Technologies, Ltd
9 #include <tap_autoconf.h>
10 #include <linux/if_ether.h>
11 #include <linux/rtnetlink.h>
12 #include <linux/pkt_sched.h>
13 #include <linux/pkt_cls.h>
14 #include <linux/tc_act/tc_mirred.h>
15 #include <linux/tc_act/tc_gact.h>
16 #include <linux/tc_act/tc_skbedit.h>
17 #ifdef HAVE_TC_ACT_BPF
18 #include <linux/tc_act/tc_bpf.h>
22 #include <rte_ether.h>
23 #include <tap_netlink.h>
25 #define MULTIQ_MAJOR_HANDLE (1 << 16)
27 void tc_init_msg(struct nlmsg *msg, uint16_t ifindex, uint16_t type,
29 int qdisc_list(int nlsk_fd, uint16_t ifindex);
30 int qdisc_flush(int nlsk_fd, uint16_t ifindex);
31 int qdisc_create_ingress(int nlsk_fd, uint16_t ifindex);
32 int qdisc_create_multiq(int nlsk_fd, uint16_t ifindex);
33 int qdisc_add_ingress(int nlsk_fd, uint16_t ifindex);
34 int qdisc_add_multiq(int nlsk_fd, uint16_t ifindex);
35 int filter_list_ingress(int nlsk_fd, uint16_t ifindex);
37 #endif /* _TAP_TCMSGS_H_ */