flow_table.c (6c8ff877cdf13cd5287ed9d700cfb6cb70e2bfa1) | flow_table.c (9b996e544a6bc7d201060fdcbdb5d4a9b734aa1b) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2007-2013 Nicira, Inc. | 2 * Copyright (c) 2007-2014 Nicira, Inc. |
3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of version 2 of the GNU General Public 6 * License as published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, but 9 * WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --- 234 unchanged lines hidden (view full) --- 245 246skip_flows: 247 if (deferred) 248 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); 249 else 250 __table_instance_destroy(ti); 251} 252 | 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of version 2 of the GNU General Public 6 * License as published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, but 9 * WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU --- 234 unchanged lines hidden (view full) --- 245 246skip_flows: 247 if (deferred) 248 call_rcu(&ti->rcu, flow_tbl_destroy_rcu_cb); 249 else 250 __table_instance_destroy(ti); 251} 252 |
253void ovs_flow_tbl_destroy(struct flow_table *table, bool deferred) | 253/* No need for locking this function is called from RCU callback or 254 * error path. 255 */ 256void ovs_flow_tbl_destroy(struct flow_table *table) |
254{ | 257{ |
255 struct table_instance *ti = ovsl_dereference(table->ti); | 258 struct table_instance *ti = rcu_dereference_raw(table->ti); |
256 | 259 |
257 table_instance_destroy(ti, deferred); | 260 table_instance_destroy(ti, false); |
258} 259 260struct sw_flow *ovs_flow_tbl_dump_next(struct table_instance *ti, 261 u32 *bucket, u32 *last) 262{ 263 struct sw_flow *flow; 264 struct hlist_head *head; 265 int ver; --- 382 unchanged lines hidden --- | 261} 262 263struct sw_flow *ovs_flow_tbl_dump_next(struct table_instance *ti, 264 u32 *bucket, u32 *last) 265{ 266 struct sw_flow *flow; 267 struct hlist_head *head; 268 int ver; --- 382 unchanged lines hidden --- |