The first two commits of the series are trivial bugfixes for dpif-netdev.

Then the series fixes a long standing bug that caused a crash when the
admin link state of a port is changed while traffic is flowing.

The next part makes use of reconfiguration for port add: this makes
the operation twice as fast and reduce some code duplication.  This part
conflicts with the port naming change, so I'm willing to postpone it, unless
we find it to be useful for the port naming change.

The rest of the series refactors a lot of code if dpif-netdev:

* We no longer start pmd threads on demand for each numa node.  This made
  the code very complicated and introduced a lot of bugs.
* The pmd threads state is now internal to dpif-netdev and it's not stored in
  ovs-numa.
* There's now a single function that handles pmd threads/ports changes: this
  reduces code duplication and makes port reconfiguration faster, as we don't
  have to bring down the whole datapath.

Daniele Di Proietto (17):
  dpif-netdev: Fix memory leak.
  dpif-netdev: Take non_pmd_mutex to access tx cached ports.
  dpif-netdev: Don't try to output on a device without txqs.
  netdev-dpdk: Don't call rte_dev_stop() in update_flags().
  netdev-dpdk: Start the device only once on port-add.
  netdev-dpdk: Refactor construct and destruct.
  dpif-netdev: Use a boolean instead of pmd->port_seq.
  dpif-netdev: Block pmd threads if there are no ports.
  dpif-netdev: Create pmd threads for every numa node.
  dpif-netdev: Make 'static_tx_qid' const.
  dpctl: Avoid making assumptions on pmd threads.
  ovs-numa: New ovs_numa_dump_contains_core() function.
  ovs-numa: Add new dump types.
  dpif-netdev: core_id shouldn't be negative.
  dpif-netdev: Use hmap for poll_list in pmd threads.
  dpif-netdev: Centralized threads and queues handling code.
  ovs-numa: Remove unused functions.

 lib/dpctl.c       |  107 +---
 lib/dpif-netdev.c | 1429 ++++++++++++++++++++++++++++-------------------------
 lib/dpif.c        |    6 +-
 lib/dpif.h        |   12 +-
 lib/netdev-dpdk.c |  173 +++----
 lib/netdev.c      |   21 +-
 lib/netdev.h      |    1 +
 lib/ovs-numa.c    |  227 +++------
 lib/ovs-numa.h    |   21 +-
 tests/pmd.at      |   49 +-
 vswitchd/bridge.c |    2 +
 11 files changed, 1030 insertions(+), 1018 deletions(-)

-- 
2.10.2

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to