[ovs-dev] [PATCH v3 4/4] dapapath: Kill VPORT_F_TUN_ID vport flag.

Pravin B Shelar pshelar at nicira.com
Wed May 1 23:02:49 UTC 2013


VPORT_F_TUN_ID is last remaining flag, once we remove it, flags
field from vport-ops can be removed.  Since it does not complicate
much code, we decided to remove this flag and force vport modules
assign correct tun_key.

Signed-off-by: Pravin B Shelar <pshelar at nicira.com>
---
v1-v3:
New patch.
---
 datapath/vport-gre.c          |    2 --
 datapath/vport-internal_dev.c |    1 +
 datapath/vport-lisp.c         |    1 -
 datapath/vport-netdev.c       |    1 +
 datapath/vport-vxlan.c        |    1 -
 datapath/vport.c              |    3 ---
 datapath/vport.h              |    5 -----
 7 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/datapath/vport-gre.c b/datapath/vport-gre.c
index 1f046ae..945751e 100644
--- a/datapath/vport-gre.c
+++ b/datapath/vport-gre.c
@@ -375,7 +375,6 @@ static int gre_tnl_send(struct vport *vport, struct sk_buff *skb)
 
 const struct vport_ops ovs_gre_vport_ops = {
 	.type		= OVS_VPORT_TYPE_GRE,
-	.flags		= VPORT_F_TUN_ID,
 	.create		= gre_create,
 	.destroy	= gre_tnl_destroy,
 	.get_name	= gre_get_name,
@@ -437,7 +436,6 @@ static int gre64_tnl_send(struct vport *vport, struct sk_buff *skb)
 
 const struct vport_ops ovs_gre64_vport_ops = {
 	.type		= OVS_VPORT_TYPE_GRE64,
-	.flags		= VPORT_F_TUN_ID,
 	.create		= gre64_create,
 	.destroy	= gre64_tnl_destroy,
 	.get_name	= gre_get_name,
diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c
index 1b19bfc..e7f43e2 100644
--- a/datapath/vport-internal_dev.c
+++ b/datapath/vport-internal_dev.c
@@ -93,6 +93,7 @@ static int internal_dev_xmit(struct sk_buff *skb, struct net_device *netdev)
 
 	vlan_copy_skb_tci(skb);
 
+	OVS_CB(skb)->tun_key = NULL;
 	rcu_read_lock();
 	ovs_vport_receive(internal_dev_priv(netdev)->vport, skb);
 	rcu_read_unlock();
diff --git a/datapath/vport-lisp.c b/datapath/vport-lisp.c
index 554495d..44fb1d8 100644
--- a/datapath/vport-lisp.c
+++ b/datapath/vport-lisp.c
@@ -390,7 +390,6 @@ static const char *lisp_get_name(const struct vport *vport)
 
 const struct vport_ops ovs_lisp_vport_ops = {
 	.type		= OVS_VPORT_TYPE_LISP,
-	.flags		= VPORT_F_TUN_ID,
 	.create		= lisp_tnl_create,
 	.destroy	= lisp_tnl_destroy,
 	.get_name	= lisp_get_name,
diff --git a/datapath/vport-netdev.c b/datapath/vport-netdev.c
index 9233f90..1b45c00 100644
--- a/datapath/vport-netdev.c
+++ b/datapath/vport-netdev.c
@@ -263,6 +263,7 @@ static void netdev_port_receive(struct vport *vport, struct sk_buff *skb)
 
 	vlan_copy_skb_tci(skb);
 
+	OVS_CB(skb)->tun_key = NULL;
 	ovs_vport_receive(vport, skb);
 	return;
 
diff --git a/datapath/vport-vxlan.c b/datapath/vport-vxlan.c
index 6a9ff26..d72f622 100644
--- a/datapath/vport-vxlan.c
+++ b/datapath/vport-vxlan.c
@@ -274,7 +274,6 @@ static const char *vxlan_get_name(const struct vport *vport)
 
 const struct vport_ops ovs_vxlan_vport_ops = {
 	.type		= OVS_VPORT_TYPE_VXLAN,
-	.flags		= VPORT_F_TUN_ID,
 	.create		= vxlan_tnl_create,
 	.destroy	= vxlan_tnl_destroy,
 	.get_name	= vxlan_get_name,
diff --git a/datapath/vport.c b/datapath/vport.c
index 6f2b2f6..3c14082 100644
--- a/datapath/vport.c
+++ b/datapath/vport.c
@@ -364,9 +364,6 @@ void ovs_vport_receive(struct vport *vport, struct sk_buff *skb)
 	stats->rx_bytes += skb->len;
 	u64_stats_update_end(&stats->syncp);
 
-	if (!(vport->ops->flags & VPORT_F_TUN_ID))
-		OVS_CB(skb)->tun_key = NULL;
-
 	ovs_dp_process_received_packet(vport, skb);
 }
 
diff --git a/datapath/vport.h b/datapath/vport.h
index 075c804..0388c41 100644
--- a/datapath/vport.h
+++ b/datapath/vport.h
@@ -94,8 +94,6 @@ struct vport {
 	struct ovs_vport_stats offset_stats;
 };
 
-#define VPORT_F_TUN_ID		(1 << 0) /* Sets OVS_CB(skb)->tun_id. */
-
 /**
  * struct vport_parms - parameters for creating a new vport
  *
@@ -121,8 +119,6 @@ struct vport_parms {
  * struct vport_ops - definition of a type of virtual port
  *
  * @type: %OVS_VPORT_TYPE_* value for this type of virtual port.
- * @flags: Flags of type VPORT_F_* that influence how the generic vport layer
- * handles this vport.
  * @create: Create a new vport configured as specified.  On success returns
  * a new vport allocated with ovs_vport_alloc(), otherwise an ERR_PTR() value.
  * @destroy: Destroys a vport.  Must call vport_free() on the vport but not
@@ -140,7 +136,6 @@ struct vport_parms {
  */
 struct vport_ops {
 	enum ovs_vport_type type;
-	u32 flags;
 
 	/* Called with ovs_mutex. */
 	struct vport *(*create)(const struct vport_parms *);
-- 
1.7.1




More information about the dev mailing list