ofproto: Bundle all controller-related settings into a struct.
[openvswitch] / include / openvswitch / gre.h
index 2b24cf6efb95a7e86f8b48879408f0bbb8f2ceb2..3c5691b0e16698adf4cfc64f98a14a880e9f912e 100644 (file)
 #ifndef OPENVSWITCH_GRE_H
 #define OPENVSWITCH_GRE_H 1
 
-#include <linux/if_tunnel.h>
-#include <linux/version.h>
-
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
-#define GRE_IOCTL_ONLY
-#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
-enum
-{
-       IFLA_GRE_UNSPEC,
-       IFLA_GRE_LINK,
-       IFLA_GRE_IFLAGS,
-       IFLA_GRE_OFLAGS,
-       IFLA_GRE_IKEY,
-       IFLA_GRE_OKEY,
-       IFLA_GRE_LOCAL,
-       IFLA_GRE_REMOTE,
-       IFLA_GRE_TTL,
-       IFLA_GRE_TOS,
-       IFLA_GRE_PMTUDISC,
-       __IFLA_GRE_MAX,
-};
-
-#define IFLA_GRE_MAX   (__IFLA_GRE_MAX - 1)
+#ifdef __KERNEL__
+#include <linux/types.h>
+#else
+#include <sys/types.h>
 #endif
 
-#define GRE_IOCTL_DEVICE "gre0"
+#define GRE_F_IN_CSUM          (1 << 0) /* Require incoming packets to have checksums. */
+#define GRE_F_OUT_CSUM         (1 << 1) /* Checksum outgoing packets. */
+#define GRE_F_IN_KEY_MATCH     (1 << 2) /* Store the key in tun_id to match in flow table. */
+#define GRE_F_OUT_KEY_ACTION   (1 << 3) /* Get the key from a SET_TUNNEL action. */
+#define GRE_F_TOS_INHERIT      (1 << 4) /* Inherit the ToS from the inner packet. */
+#define GRE_F_TTL_INHERIT      (1 << 5) /* Inherit the TTL from the inner packet. */
+#define GRE_F_PMTUD            (1 << 6) /* Enable path MTU discovery. */
 
-#define SIOCGETGRETAP  SIOCGETTUNNEL
-#define SIOCADDGRETAP  (SIOCDEVPRIVATE + 10)
-#define SIOCDELGRETAP  SIOCDELTUNNEL
-#define SIOCCHGGRETAP  (SIOCDEVPRIVATE + 11)
+struct gre_port_config {
+       __u32   flags;
+       __be32  saddr;
+       __be32  daddr;
+       __be32  in_key;
+       __be32  out_key;
+       __u8    tos;
+       __u8    ttl;
+};
 
 #endif /* openvswitch/gre.h */