Loading...
1/*
2 * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 */
9
10#ifndef __NET_TC_BPF_H
11#define __NET_TC_BPF_H
12
13#include <linux/filter.h>
14#include <net/act_api.h>
15
16struct tcf_bpf {
17 struct tc_action common;
18 struct bpf_prog __rcu *filter;
19 union {
20 u32 bpf_fd;
21 u16 bpf_num_ops;
22 };
23 struct sock_filter *bpf_ops;
24 const char *bpf_name;
25};
26#define to_bpf(a) ((struct tcf_bpf *)a)
27
28#endif /* __NET_TC_BPF_H */
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us>
4 */
5
6#ifndef __NET_TC_BPF_H
7#define __NET_TC_BPF_H
8
9#include <linux/filter.h>
10#include <net/act_api.h>
11
12struct tcf_bpf {
13 struct tc_action common;
14 struct bpf_prog __rcu *filter;
15 union {
16 u32 bpf_fd;
17 u16 bpf_num_ops;
18 };
19 struct sock_filter *bpf_ops;
20 const char *bpf_name;
21};
22#define to_bpf(a) ((struct tcf_bpf *)a)
23
24#endif /* __NET_TC_BPF_H */