This series of patches implements the multi-threading bfd/cfm in
ofproto-dpif-monitor module. This module is in charge of the
execution of periodic functions (like bfd_run, cfm_run,
bfd_send_packets).
With the ofproto-dpif-monitor module, the openvswitch can easily
support more than 10,000 interface monitor sessions.
Patches 1-6:
The implementation of ofproto-dpif-monitor module.
Patches 7-10:
The optimization of ofproto-dpif-monitor module.
Alex Wang (10):
ofproto-dpif: Move send_packet() to ofproto-dpif-xlate module.
ofproto-dpif: Make stats update thread safe.
tests: Remove the unit test for "ovs-appctl coverage/show".
timeval: Wake up all threads when time is warped.
ofproto-dpif-monitor: Add ofproto-dpif-monitor module.
ofproto-dpif-monitor: Run ofproto-dpif-monitor in a thread.
heap: Change type of "priority" in "struct heap".
bfd: Add bfd_wake_time() function.
cfm: Add cfm_wake_time() function.
ofproto-dpif-monitor: Use heap to order the mport wakeup time.
lib/bfd.c | 23 +++
lib/bfd.h | 2 +-
lib/cfm.c | 18 +++
lib/cfm.h | 1 +
lib/heap.c | 6 +-
lib/heap.h | 12 +-
lib/poll-loop.c | 5 +
lib/timeval.c | 28 ++++
lib/timeval.h | 2 +
ofproto/automake.mk | 2 +
ofproto/ofproto-dpif-monitor.c | 305 ++++++++++++++++++++++++++++++++++++++++
ofproto/ofproto-dpif-monitor.h | 29 ++++
ofproto/ofproto-dpif-xlate.c | 72 +++++++++-
ofproto/ofproto-dpif-xlate.h | 2 +
ofproto/ofproto-dpif.c | 137 ++++--------------
ofproto/ofproto-dpif.h | 1 +
tests/bfd.at | 170 ++++++++--------------
tests/ofproto-dpif.at | 88 ++++++++----
18 files changed, 642 insertions(+), 261 deletions(-)
create mode 100644 ofproto/ofproto-dpif-monitor.c
create mode 100644 ofproto/ofproto-dpif-monitor.h
--
1.7.9.5
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev