diff options
Diffstat (limited to 'include/linux/netfilter/nf_conntrack_proto_gre.h')
-rw-r--r-- | include/linux/netfilter/nf_conntrack_proto_gre.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/linux/netfilter/nf_conntrack_proto_gre.h b/include/linux/netfilter/nf_conntrack_proto_gre.h new file mode 100644 index 000000000..f33aa6021 --- /dev/null +++ b/include/linux/netfilter/nf_conntrack_proto_gre.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _CONNTRACK_PROTO_GRE_H +#define _CONNTRACK_PROTO_GRE_H +#include <asm/byteorder.h> +#include <net/gre.h> +#include <net/pptp.h> + +struct nf_ct_gre { + unsigned int stream_timeout; + unsigned int timeout; +}; + +#include <net/netfilter/nf_conntrack_tuple.h> + +struct nf_conn; + +/* structure for original <-> reply keymap */ +struct nf_ct_gre_keymap { + struct list_head list; + struct nf_conntrack_tuple tuple; + struct rcu_head rcu; +}; + +/* add new tuple->key_reply pair to keymap */ +int nf_ct_gre_keymap_add(struct nf_conn *ct, enum ip_conntrack_dir dir, + struct nf_conntrack_tuple *t); + +void nf_ct_gre_keymap_flush(struct net *net); +/* delete keymap entries */ +void nf_ct_gre_keymap_destroy(struct nf_conn *ct); + +bool gre_pkt_to_tuple(const struct sk_buff *skb, unsigned int dataoff, + struct net *net, struct nf_conntrack_tuple *tuple); +#endif /* _CONNTRACK_PROTO_GRE_H */ |