#include "flow.h"
#include "openvswitch/tunnel.h"
-#include "table.h"
#include "vport.h"
/*
/* All public tunnel flags. */
#define TNL_F_PUBLIC (TNL_F_CSUM | TNL_F_TOS_INHERIT | TNL_F_TTL_INHERIT | \
- TNL_F_PMTUD | TNL_F_HDR_CACHE | TNL_F_IPSEC)
+ TNL_F_DF_INHERIT | TNL_F_DF_DEFAULT | TNL_F_PMTUD | \
+ TNL_F_HDR_CACHE | TNL_F_IPSEC)
/**
* struct tnl_mutable_config - modifiable configuration for a tunnel.
unsigned char eth_addr[ETH_ALEN];
- /* Configured via ODP_TUNNEL_ATTR_* attributes. */
+ /* Configured via OVS_TUNNEL_ATTR_* attributes. */
__be64 in_key;
__be64 out_key;
u32 flags;
struct tnl_vport {
struct rcu_head rcu;
- struct tbl_node tbl_node;
+ struct hlist_node hash_node;
char name[IFNAMSIZ];
const struct tnl_ops *tnl_ops;
struct vport *tnl_create(const struct vport_parms *, const struct vport_ops *,
const struct tnl_ops *);
-int tnl_destroy(struct vport *);
+void tnl_destroy(struct vport *);
int tnl_set_options(struct vport *, struct nlattr *);
int tnl_get_options(const struct vport *, struct sk_buff *);
struct sk_buff *skb, unsigned int mtu, __be64 flow_key);
void tnl_free_linked_skbs(struct sk_buff *skb);
+int tnl_init(void);
+void tnl_exit(void);
static inline struct tnl_vport *tnl_vport_priv(const struct vport *vport)
{
return vport_priv(vport);