aboutsummaryrefslogtreecommitdiffstats
path: root/net/openvswitch/flow_table.c
diff options
context:
space:
mode:
authorThomas Graf <tgraf@suug.ch>2015-07-21 04:44:03 -0400
committerDavid S. Miller <davem@davemloft.net>2015-07-21 13:39:06 -0400
commit34ae932a40369be6bd6ea97d66b6686361b4370d (patch)
tree765ecbb1edd6a2511462611501b412e703b1cdb0 /net/openvswitch/flow_table.c
parent0dfbdf4102b9303d3ddf2177c0220098ff99f6de (diff)
openvswitch: Make tunnel set action attach a metadata dst
Utilize the new metadata dst to attach encapsulation instructions to the skb. The existing egress_tun_info via the OVS_CB() is left in place until all tunnel vports have been converted to the new method. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/flow_table.c')
-rw-r--r--net/openvswitch/flow_table.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/openvswitch/flow_table.c b/net/openvswitch/flow_table.c
index 4613df8c8290..b70d845e7efb 100644
--- a/net/openvswitch/flow_table.c
+++ b/net/openvswitch/flow_table.c
@@ -18,6 +18,7 @@
18 18
19#include "flow.h" 19#include "flow.h"
20#include "datapath.h" 20#include "datapath.h"
21#include "flow_netlink.h"
21#include <linux/uaccess.h> 22#include <linux/uaccess.h>
22#include <linux/netdevice.h> 23#include <linux/netdevice.h>
23#include <linux/etherdevice.h> 24#include <linux/etherdevice.h>
@@ -143,7 +144,8 @@ static void flow_free(struct sw_flow *flow)
143 144
144 if (ovs_identifier_is_key(&flow->id)) 145 if (ovs_identifier_is_key(&flow->id))
145 kfree(flow->id.unmasked_key); 146 kfree(flow->id.unmasked_key);
146 kfree((struct sw_flow_actions __force *)flow->sf_acts); 147 if (flow->sf_acts)
148 ovs_nla_free_flow_actions((struct sw_flow_actions __force *)flow->sf_acts);
147 for_each_node(node) 149 for_each_node(node)
148 if (flow->stats[node]) 150 if (flow->stats[node])
149 kmem_cache_free(flow_stats_cache, 151 kmem_cache_free(flow_stats_cache,