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 <[email protected]> --- 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 _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
