aboutsummaryrefslogtreecommitdiffstats
path: root/net/openvswitch/vport.h
diff options
context:
space:
mode:
authorPravin B Shelar <pshelar@nicira.com>2013-06-17 20:50:33 -0400
committerDavid S. Miller <davem@davemloft.net>2013-06-19 21:07:42 -0400
commitaa310701e787087dbfbccf1409982a96e16c57a6 (patch)
treef426945de6694203f2c34218b4e4b06913b8f58c /net/openvswitch/vport.h
parenta3e82996a8874c4cfe8c7f1be4d552018d8cba7e (diff)
openvswitch: Add gre tunnel support.
Add gre vport implementation. Most of gre protocol processing is pushed to gre module. It make use of gre demultiplexer therefore it can co-exist with linux device based gre tunnels. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/vport.h')
-rw-r--r--net/openvswitch/vport.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/openvswitch/vport.h b/net/openvswitch/vport.h
index 2d961aedd71d..376045c42f8b 100644
--- a/net/openvswitch/vport.h
+++ b/net/openvswitch/vport.h
@@ -34,6 +34,11 @@ struct vport_parms;
34 34
35/* The following definitions are for users of the vport subsytem: */ 35/* The following definitions are for users of the vport subsytem: */
36 36
37/* The following definitions are for users of the vport subsytem: */
38struct vport_net {
39 struct vport __rcu *gre_vport;
40};
41
37int ovs_vport_init(void); 42int ovs_vport_init(void);
38void ovs_vport_exit(void); 43void ovs_vport_exit(void);
39 44
@@ -152,6 +157,7 @@ enum vport_err_type {
152struct vport *ovs_vport_alloc(int priv_size, const struct vport_ops *, 157struct vport *ovs_vport_alloc(int priv_size, const struct vport_ops *,
153 const struct vport_parms *); 158 const struct vport_parms *);
154void ovs_vport_free(struct vport *); 159void ovs_vport_free(struct vport *);
160void ovs_vport_deferred_free(struct vport *vport);
155 161
156#define VPORT_ALIGN 8 162#define VPORT_ALIGN 8
157 163
@@ -192,6 +198,7 @@ void ovs_vport_record_error(struct vport *, enum vport_err_type err_type);
192 * add yours to the list at the top of vport.c. */ 198 * add yours to the list at the top of vport.c. */
193extern const struct vport_ops ovs_netdev_vport_ops; 199extern const struct vport_ops ovs_netdev_vport_ops;
194extern const struct vport_ops ovs_internal_vport_ops; 200extern const struct vport_ops ovs_internal_vport_ops;
201extern const struct vport_ops ovs_gre_vport_ops;
195 202
196static inline void ovs_skb_postpush_rcsum(struct sk_buff *skb, 203static inline void ovs_skb_postpush_rcsum(struct sk_buff *skb,
197 const void *start, unsigned int len) 204 const void *start, unsigned int len)