Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#ifndef __LINUX_GRE_H
2#define __LINUX_GRE_H
3
4#include <linux/skbuff.h>
5#include <net/ip_tunnels.h>
6
7struct gre_base_hdr {
8 __be16 flags;
9 __be16 protocol;
10};
11#define GRE_HEADER_SECTION 4
12
13#define GREPROTO_CISCO 0
14#define GREPROTO_PPTP 1
15#define GREPROTO_MAX 2
16#define GRE_IP_PROTO_MAX 2
17
18struct gre_protocol {
19 int (*handler)(struct sk_buff *skb);
20 void (*err_handler)(struct sk_buff *skb, u32 info);
21};
22
23int gre_add_protocol(const struct gre_protocol *proto, u8 version);
24int gre_del_protocol(const struct gre_protocol *proto, u8 version);
25
26struct net_device *gretap_fb_dev_create(struct net *net, const char *name,
27 u8 name_assign_type);
28#endif