diff options
author | Pravin B Shelar <pshelar@nicira.com> | 2013-06-17 20:50:33 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-06-19 21:07:42 -0400 |
commit | aa310701e787087dbfbccf1409982a96e16c57a6 (patch) | |
tree | f426945de6694203f2c34218b4e4b06913b8f58c /net/openvswitch/vport.h | |
parent | a3e82996a8874c4cfe8c7f1be4d552018d8cba7e (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.h | 7 |
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: */ | ||
38 | struct vport_net { | ||
39 | struct vport __rcu *gre_vport; | ||
40 | }; | ||
41 | |||
37 | int ovs_vport_init(void); | 42 | int ovs_vport_init(void); |
38 | void ovs_vport_exit(void); | 43 | void ovs_vport_exit(void); |
39 | 44 | ||
@@ -152,6 +157,7 @@ enum vport_err_type { | |||
152 | struct vport *ovs_vport_alloc(int priv_size, const struct vport_ops *, | 157 | struct vport *ovs_vport_alloc(int priv_size, const struct vport_ops *, |
153 | const struct vport_parms *); | 158 | const struct vport_parms *); |
154 | void ovs_vport_free(struct vport *); | 159 | void ovs_vport_free(struct vport *); |
160 | void 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. */ |
193 | extern const struct vport_ops ovs_netdev_vport_ops; | 199 | extern const struct vport_ops ovs_netdev_vport_ops; |
194 | extern const struct vport_ops ovs_internal_vport_ops; | 200 | extern const struct vport_ops ovs_internal_vport_ops; |
201 | extern const struct vport_ops ovs_gre_vport_ops; | ||
195 | 202 | ||
196 | static inline void ovs_skb_postpush_rcsum(struct sk_buff *skb, | 203 | static inline void ovs_skb_postpush_rcsum(struct sk_buff *skb, |
197 | const void *start, unsigned int len) | 204 | const void *start, unsigned int len) |