#define OPENVSWITCH_TUNNEL_H 1
#include <linux/types.h>
+#include "openvswitch/datapath-protocol.h"
#define TNL_F_CSUM (1 << 1) /* Checksum packets. */
#define TNL_F_IN_KEY_MATCH (1 << 2) /* Store the key in tun_id to match in flow table. */
#define TNL_F_TOS_INHERIT (1 << 4) /* Inherit the ToS from the inner packet. */
#define TNL_F_TTL_INHERIT (1 << 5) /* Inherit the TTL from the inner packet. */
#define TNL_F_PMTUD (1 << 6) /* Enable path MTU discovery. */
+#define TNL_F_HDR_CACHE (1 << 7) /* Enable tunnel header caching. */
+#define TNL_F_IPSEC (1 << 8) /* Traffic is IPsec encrypted. */
+/* This goes in the "config" member of struct odp_port for tunnel vports. */
struct tnl_port_config {
- __u32 flags;
- __be32 saddr;
- __be32 daddr;
- __be32 in_key;
- __be32 out_key;
- __u8 tos;
- __u8 ttl;
+ __aligned_be64 in_key;
+ __aligned_be64 out_key;
+ __u32 flags;
+ __be32 saddr;
+ __be32 daddr;
+ __u8 tos;
+ __u8 ttl;
};
#endif /* openvswitch/tunnel.h */