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>
This commit is contained in:
committed by
David S. Miller
parent
a3e82996a8
commit
aa310701e7
@@ -38,6 +38,10 @@
|
||||
static const struct vport_ops *vport_ops_list[] = {
|
||||
&ovs_netdev_vport_ops,
|
||||
&ovs_internal_vport_ops,
|
||||
|
||||
#ifdef CONFIG_NET_IPGRE_DEMUX
|
||||
&ovs_gre_vport_ops,
|
||||
#endif
|
||||
};
|
||||
|
||||
/* Protected by RCU read lock for reading, ovs_mutex for writing. */
|
||||
@@ -404,3 +408,18 @@ void ovs_vport_record_error(struct vport *vport, enum vport_err_type err_type)
|
||||
|
||||
spin_unlock(&vport->stats_lock);
|
||||
}
|
||||
|
||||
static void free_vport_rcu(struct rcu_head *rcu)
|
||||
{
|
||||
struct vport *vport = container_of(rcu, struct vport, rcu);
|
||||
|
||||
ovs_vport_free(vport);
|
||||
}
|
||||
|
||||
void ovs_vport_deferred_free(struct vport *vport)
|
||||
{
|
||||
if (!vport)
|
||||
return;
|
||||
|
||||
call_rcu(&vport->rcu, free_vport_rcu);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user