xenserver: Don't specify python code by hand.
[sliver-openvswitch.git] / datapath / tunnel.h
index 6ce9c46..a051495 100644 (file)
@@ -13,7 +13,6 @@
 
 #include "flow.h"
 #include "openvswitch/tunnel.h"
-#include "table.h"
 #include "vport.h"
 
 /*
@@ -42,7 +41,8 @@
 
 /* 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.
@@ -70,7 +70,7 @@ struct tnl_mutable_config {
 
        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;
@@ -186,7 +186,7 @@ struct tnl_cache {
 
 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;
@@ -216,7 +216,7 @@ struct tnl_vport {
 
 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 *);
@@ -225,7 +225,7 @@ int tnl_set_addr(struct vport *vport, const unsigned char *addr);
 const char *tnl_get_name(const struct vport *vport);
 const unsigned char *tnl_get_addr(const struct vport *vport);
 int tnl_send(struct vport *vport, struct sk_buff *skb);
-void tnl_rcv(struct vport *vport, struct sk_buff *skb);
+void tnl_rcv(struct vport *vport, struct sk_buff *skb, u8 tos);
 
 struct vport *tnl_find_port(__be32 saddr, __be32 daddr, __be64 key,
                            int tunnel_type,
@@ -235,6 +235,8 @@ bool tnl_frag_needed(struct vport *vport,
                     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);