[cmaster-next] [PATCH 00/10] Issue #12

Renato Westphal renato at opensourcerouting.org
Thu Dec 15 09:55:44 EST 2016


Hi all,

This patchset makes ldpd display everything in order on CLI output
(interfaces, label bindings, etc). This is important to keep consistent
with the other routing daemons and to make automated testing easier
(CLI output should be predictable and not dependant on the order that
things were created).

To do this, I converted several linked lists to red-black trees, which
store elements in order. I could also use ordered lists, but they have
worse time-complexities than red-black trees for basically everything.

Fixes issue #12 and addresses a long standing request from Martin.

Renato Westphal (10):
  ldpd: fix segfault when configuring multiple pseudowires
  ldpd: allow multiple link adjacencies with unnumbered interfaces
  ldpd: use red-black trees to store 'lde_map' elements
  ldpd: use red-black trees to store 'iface' elements
  ldpd: use red-black trees to store 'tnbr' elements
  ldpd: use red-black trees to store 'nbr_params' elements
  ldpd: use red-black trees to store 'l2vpn' elements
  ldpd: use red-black trees to store 'l2vpn_if' elements
  ldpd: use red-black trees to store 'l2vpn_pw' elements
  ldpd: use red-black trees to store 'adj' elements

 ldpd/adjacency.c    | 116 +++++++++++++++++-----------
 ldpd/hello.c        |   6 +-
 ldpd/interface.c    |  45 ++++++-----
 ldpd/l2vpn.c        | 108 ++++++++++++++------------
 ldpd/lde.c          |  49 +++++++-----
 ldpd/lde.h          |   9 ++-
 ldpd/lde_lib.c      |  18 ++---
 ldpd/ldp_debug.c    |   4 +-
 ldpd/ldp_vty_conf.c | 104 +++++++++++++-------------
 ldpd/ldpd.c         | 212 ++++++++++++++++++++++++++--------------------------
 ldpd/ldpd.h         |  72 +++++++++++-------
 ldpd/ldpe.c         |  56 +++++++-------
 ldpd/ldpe.h         |  14 ++--
 ldpd/neighbor.c     |  29 ++++---
 14 files changed, 468 insertions(+), 374 deletions(-)

-- 
1.9.1





More information about the dev mailing list