2015-01-15 16:52:39 +08:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us>
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __NET_TC_BPF_H
|
|
|
|
#define __NET_TC_BPF_H
|
|
|
|
|
|
|
|
#include <linux/filter.h>
|
|
|
|
#include <net/act_api.h>
|
|
|
|
|
|
|
|
struct tcf_bpf {
|
|
|
|
struct tcf_common common;
|
2015-08-26 11:06:35 +08:00
|
|
|
struct bpf_prog __rcu *filter;
|
2015-03-20 22:11:12 +08:00
|
|
|
union {
|
|
|
|
u32 bpf_fd;
|
|
|
|
u16 bpf_num_ops;
|
|
|
|
};
|
2015-01-15 16:52:39 +08:00
|
|
|
struct sock_filter *bpf_ops;
|
2015-03-20 22:11:12 +08:00
|
|
|
const char *bpf_name;
|
2015-01-15 16:52:39 +08:00
|
|
|
};
|
|
|
|
#define to_bpf(a) \
|
|
|
|
container_of(a->priv, struct tcf_bpf, common)
|
|
|
|
|
|
|
|
#endif /* __NET_TC_BPF_H */
|