1 #ifndef __LINUX_GRE_H 2 #define __LINUX_GRE_H 3 4 #include <linux/skbuff.h> 5 #include <net/ip_tunnels.h> 6 7 struct 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 18 struct gre_protocol { 19 int (*handler)(struct sk_buff *skb); 20 void (*err_handler)(struct sk_buff *skb, u32 info); 21 }; 22 23 int gre_add_protocol(const struct gre_protocol *proto, u8 version); 24 int gre_del_protocol(const struct gre_protocol *proto, u8 version); 25 26 struct net_device *gretap_fb_dev_create(struct net *net, const char *name, 27 u8 name_assign_type); 28 #endif 29