aboutsummaryrefslogtreecommitdiffstats
path: root/net/openvswitch/vport.c
diff options
context:
space:
mode:
authorJesse Gross <jesse@nicira.com>2014-10-03 18:35:31 -0400
committerDavid S. Miller <davem@davemloft.net>2014-10-06 00:32:20 -0400
commitf0b128c1e2cc33ad104daf0f51a51e34f7763c5f (patch)
tree41b08ab786ae83f1890cafb6847d1fd67884af5f /net/openvswitch/vport.c
parent67fa034194bf82a3d5ca841759d921297daa63ca (diff)
openvswitch: Wrap struct ovs_key_ipv4_tunnel in a new structure.
Currently, the flow information that is matched for tunnels and the tunnel data passed around with packets is the same. However, as additional information is added this is not necessarily desirable, as in the case of pointers. This adds a new structure for tunnel metadata which currently contains only the existing struct. This change is purely internal to the kernel since the current OVS_KEY_ATTR_IPV4_TUNNEL is simply a compressed version of OVS_KEY_ATTR_TUNNEL that is translated at flow setup. Signed-off-by: Jesse Gross <jesse@nicira.com> Signed-off-by: Andy Zhou <azhou@nicira.com> Acked-by: Pravin B Shelar <pshelar@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/vport.c')
-rw-r--r--net/openvswitch/vport.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/openvswitch/vport.c b/net/openvswitch/vport.c
index 5df8377fcfb1..3e50ee8a218c 100644
--- a/net/openvswitch/vport.c
+++ b/net/openvswitch/vport.c
@@ -432,7 +432,7 @@ u32 ovs_vport_find_upcall_portid(const struct vport *p, struct sk_buff *skb)
432 * skb->data should point to the Ethernet header. 432 * skb->data should point to the Ethernet header.
433 */ 433 */
434void ovs_vport_receive(struct vport *vport, struct sk_buff *skb, 434void ovs_vport_receive(struct vport *vport, struct sk_buff *skb,
435 struct ovs_key_ipv4_tunnel *tun_key) 435 struct ovs_tunnel_info *tun_info)
436{ 436{
437 struct pcpu_sw_netstats *stats; 437 struct pcpu_sw_netstats *stats;
438 struct sw_flow_key key; 438 struct sw_flow_key key;
@@ -445,9 +445,9 @@ void ovs_vport_receive(struct vport *vport, struct sk_buff *skb,
445 u64_stats_update_end(&stats->syncp); 445 u64_stats_update_end(&stats->syncp);
446 446
447 OVS_CB(skb)->input_vport = vport; 447 OVS_CB(skb)->input_vport = vport;
448 OVS_CB(skb)->egress_tun_key = NULL; 448 OVS_CB(skb)->egress_tun_info = NULL;
449 /* Extract flow from 'skb' into 'key'. */ 449 /* Extract flow from 'skb' into 'key'. */
450 error = ovs_flow_key_extract(tun_key, skb, &key); 450 error = ovs_flow_key_extract(tun_info, skb, &key);
451 if (unlikely(error)) { 451 if (unlikely(error)) {
452 kfree_skb(skb); 452 kfree_skb(skb);
453 return; 453 return;