mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 14:25:26 +00:00
dpif-netdev: Add per-pmd flow-table/classifier.
This commit changes the per dpif-netdev datapath flow-table/ classifier to per pmd-thread. As direct benefit, datapath and flow statistics no longer need to be protected by mutex or be declared as per-thread variable, since they are only written by the owning pmd thread. As side effects, the flow-dump output of userspace datapath can contain overlapping flows. To reduce confusion, the dump from different pmd thread will be separated by a title line. In addition, the flow operations via 'ovs-appctl dpctl/*' are modified so that if the given flow in_port corresponds to a dpdk interface, the operation will be conducted to all pmd threads recv from that interface (expect for flow-get which will always be applied to non-pmd threads). Signed-off-by: Alex Wang <alexw@nicira.com> Tested-by: Mark D. Gray <mark.d.gray@intel.com> Acked-by: Pravin B Shelar <pshelar@nicira.com>
This commit is contained in:
@@ -1430,6 +1430,7 @@ dpif_netlink_flow_to_dpif_flow(struct dpif *dpif, struct dpif_flow *dpif_flow,
|
||||
dpif_flow->ufid_present = datapath_flow->ufid_present;
|
||||
if (datapath_flow->ufid_present) {
|
||||
dpif_flow->ufid = datapath_flow->ufid;
|
||||
dpif_flow->pmd_id = PMD_ID_NULL;
|
||||
} else {
|
||||
ovs_assert(datapath_flow->key && datapath_flow->key_len);
|
||||
dpif_flow_hash(dpif, datapath_flow->key, datapath_flow->key_len,
|
||||
|
Reference in New Issue
Block a user