aboutsummaryrefslogtreecommitdiffstats
path: root/net/openvswitch/flow.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/flow.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/flow.c')
-rw-r--r--net/openvswitch/flow.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/openvswitch/flow.c b/net/openvswitch/flow.c
index 913bdc1a83c0..2924cb340868 100644
--- a/net/openvswitch/flow.c
+++ b/net/openvswitch/flow.c
@@ -642,12 +642,12 @@ int ovs_flow_key_update(struct sk_buff *skb, struct sw_flow_key *key)
642 return key_extract(skb, key); 642 return key_extract(skb, key);
643} 643}
644 644
645int ovs_flow_key_extract(struct ovs_key_ipv4_tunnel *tun_key, 645int ovs_flow_key_extract(struct ovs_tunnel_info *tun_info,
646 struct sk_buff *skb, struct sw_flow_key *key) 646 struct sk_buff *skb, struct sw_flow_key *key)
647{ 647{
648 /* Extract metadata from packet. */ 648 /* Extract metadata from packet. */
649 if (tun_key) 649 if (tun_info)
650 memcpy(&key->tun_key, tun_key, sizeof(key->tun_key)); 650 memcpy(&key->tun_key, &tun_info->tunnel, sizeof(key->tun_key));
651 else 651 else
652 memset(&key->tun_key, 0, sizeof(key->tun_key)); 652 memset(&key->tun_key, 0, sizeof(key->tun_key));
653 653