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