ofpbuf: New function ofpbuf_use_stack().
[sliver-openvswitch.git] / datapath / tunnel.h
index 3ed7ef3..29f5922 100644 (file)
@@ -161,7 +161,7 @@ struct tnl_vport {
        char name[IFNAMSIZ];
        const struct tnl_ops *tnl_ops;
 
-       struct tnl_mutable_config *mutable;     /* Protected by RCU. */
+       struct tnl_mutable_config __rcu *mutable;
 
        /*
         * ID of last fragment sent (for tunnel protocols with direct support
@@ -171,7 +171,7 @@ struct tnl_vport {
        atomic_t frag_id;
 
        spinlock_t cache_lock;
-       struct tnl_cache *cache;                /* Protected by RCU/cache_lock. */
+       struct tnl_cache __rcu *cache;          /* Protected by RCU/cache_lock. */
 
 #ifdef NEED_CACHE_TIMEOUT
        /*
@@ -192,16 +192,17 @@ int tnl_set_mtu(struct vport *vport, int mtu);
 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);
+void tnl_get_config(const struct vport *vport, void *config);
 int tnl_get_mtu(const struct vport *vport);
 int tnl_send(struct vport *vport, struct sk_buff *skb);
 void tnl_rcv(struct vport *vport, struct sk_buff *skb);
 
-struct vport *tnl_find_port(__be32 saddr, __be32 daddr, __be32 key,
+struct vport *tnl_find_port(__be32 saddr, __be32 daddr, __be64 key,
                            int tunnel_type,
                            const struct tnl_mutable_config **mutable);
 bool tnl_frag_needed(struct vport *vport,
                     const struct tnl_mutable_config *mutable,
-                    struct sk_buff *skb, unsigned int mtu, __be32 flow_key);
+                    struct sk_buff *skb, unsigned int mtu, __be64 flow_key);
 void tnl_free_linked_skbs(struct sk_buff *skb);
 
 static inline struct tnl_vport *tnl_vport_priv(const struct vport *vport)