[ovs-dev] [PATCH v2 0/3] ovn-controller: Separate thread for pinctrl

Han Zhou zhouhan at gmail.com
Wed Jun 7 16:32:44 UTC 2017


This patch series is the first attempt of ovn-controller multi-threading.
The intention is to avoid flow re-computing being triggered by unrelated
input. An obvious example is that packet-in message from vswitchd to
ovn-controller will trigger full round of flow computing before processing
the actual packet-in message, such as DHCP request. This becomes a
serious problem in large scale environment where each ovn-controller
has large amount of flows to compute and install. It will be even worse
considering in the future we use ovn-controller packet-in for packet
logging.

An alternative approach has been tried but didn't go well, which was
discussed in the link below:

https://mail.openvswitch.org/pipermail/ovs-dev/2017-May/331813.html

---

v1->v2: 
  1/3 is updated according to review comments
  2/3 and 3/3 are not updated yet because the solution is still under discussion

Han Zhou (3):
  ovn-controller: decouple localnet_port update from patch_run
  ovn-controller: readonly mode binding_run and get_br_int
  ovn-controller: Use separate thread for packet-in processing.

 ovn/controller/binding.c        | 44 +++++++++++++++++--
 ovn/controller/binding.h        |  2 +-
 ovn/controller/ovn-controller.c | 55 +++++++++++++++--------
 ovn/controller/ovn-controller.h | 33 ++++++++++++++
 ovn/controller/patch.c          | 30 +------------
 ovn/controller/patch.h          |  2 +-
 ovn/controller/pinctrl.c        | 96 +++++++++++++++++++++++++++++++++++++++++
 ovn/controller/pinctrl.h        |  1 +
 8 files changed, 211 insertions(+), 52 deletions(-)

-- 
2.1.0



More information about the dev mailing list