[ovs-build] Passed: istokes/ovs#127 (hwol - 1e4dab5)

Travis CI builds at travis-ci.org
Fri Jan 26 14:26:14 UTC 2018

Build Update for istokes/ovs

Build: #127
Status: Passed

Duration: 14 minutes and 51 seconds
Commit: 1e4dab5 (hwol)
Author: Yuanhan Liu
Message: dpif-netdev: associate flow with a mark id

Most modern NICs have the ability to bind a flow with a mark, so that
every packet matches such flow will have that mark present in its

The basic idea of doing that is, when we receives packets later, we could
directly get the flow from the mark. That could avoid some very costly
CPU operations, including (but not limiting to) miniflow_extract, emc
lookup, dpcls lookup, etc. Thus, performance could be greatly improved.

Thus, the major work of this patch is to associate a flow with a mark
id (an uint32_t number). The association in netdev datapath is done
by CMAP, while in hardware it's done by the rte_flow MARK action.

One tricky thing in OVS-DPDK is, the flow tables is per-PMD. For the
case there is only one phys port but with 2 queues, there could be 2
PMDs. In other words, even for a single mega flow (i.e. udp,tp_src=1000),
there could be 2 different dp_netdev flows, one for each PMD. That could
results to the same mega flow being offloaded twice in the hardware,
worse, we may get 2 different marks and only the last one will work.

To avoid that, a megaflow_to_mark CMAP is created. An entry will be
added for the first PMD that wants to offload a flow. For later PMDs,
it will see such megaflow is already offloaded, then the flow will not
be offloaded to HW twice.

Meanwhile, the mark to flow mapping becomes to 1:N mapping. That is
what the mark_to_flow CMAP is for. When the first PMD wants to offload
a flow, it allocates a new mark and performs the flow offload by reusing
the ->flow_put method. When it succeeds, a "mark to flow" entry will be
added. For later PMDs, it will get the corresponding mark by above
megaflow_to_mark CMAP. Then, another "mark to flow" entry will be added.

Co-authored-by: Finn Christensen <fc at napatech.com>
Signed-off-by: Yuanhan Liu <yliu at fridaylinux.org>
Signed-off-by: Finn Christensen <fc at napatech.com>

View the changeset: https://github.com/istokes/ovs/compare/3f15658fd636...1e4dab5cfd7b

View the full build log and details: https://travis-ci.org/istokes/ovs/builds/333721474?utm_source=email&utm_medium=notification


You can configure recipients for build notifications in your .travis.yml file. See https://docs.travis-ci.com/user/notifications

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-build/attachments/20180126/7508e43f/attachment.html>

More information about the build mailing list