mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 01:10:04 +00:00
![Pravin B Shelar](/assets/img/avatar_default.png)
Support for sharing GREPROTO_CISCO port was added so that OVS gre port and kernel GRE devices can co-exist. After flow-based tunneling patches OVS GRE protocol processing is completely moved to ip_gre module. so there is no need for GRE protocol hook. Following patch consolidates GRE protocol related functions into ip_gre module. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
28 lines
661 B
C
28 lines
661 B
C
#ifndef __LINUX_GRE_H
|
|
#define __LINUX_GRE_H
|
|
|
|
#include <linux/skbuff.h>
|
|
#include <net/ip_tunnels.h>
|
|
|
|
struct gre_base_hdr {
|
|
__be16 flags;
|
|
__be16 protocol;
|
|
};
|
|
#define GRE_HEADER_SECTION 4
|
|
|
|
#define GREPROTO_CISCO 0
|
|
#define GREPROTO_PPTP 1
|
|
#define GREPROTO_MAX 2
|
|
#define GRE_IP_PROTO_MAX 2
|
|
|
|
struct gre_protocol {
|
|
int (*handler)(struct sk_buff *skb);
|
|
void (*err_handler)(struct sk_buff *skb, u32 info);
|
|
};
|
|
|
|
int gre_add_protocol(const struct gre_protocol *proto, u8 version);
|
|
int gre_del_protocol(const struct gre_protocol *proto, u8 version);
|
|
|
|
struct net_device *gretap_fb_dev_create(struct net *net, const char *name,
|
|
u8 name_assign_type);
|
|
#endif
|