]> git.puffer.fish Git - matthieu/frr.git/commit
lm: Make relay label manager async
authorßingen <bingen@voltanet.io>
Wed, 26 Apr 2017 09:50:21 +0000 (11:50 +0200)
committerßingen <bingen@voltanet.io>
Thu, 11 May 2017 17:20:08 +0000 (19:20 +0200)
commit5c7ef8dc4fee3521a225aec0a3d42912a5bfd247
tree44fbde87a6fd0b8373c92f895109654d6fe3aea2
parent42025b43f265c042116d9432cf4d34aeb79152f6
lm: Make relay label manager async

To avoid blocking zebra when it's acting as a proxy for an external
label manager.

Besides:

Fix get chunk reconnection. Socket was still being destroyed on failure,
so next attempt would never work.

Filter out unwanted messages in lm sync sock.
Until LDE client sends ZEBRA_LABEL_MANAGER_CONNECT message, zserv
doesn't know which kind of client it is, so it might enqueue unwanted
messages like interface add, interface up, etc. Changes in this commit
discard those messages in the client side in case they arrive before the
expected response.

Change function name for zclient_connect in label manager to avoid
confusion with zclient one.

Signed-off-by: ßingen <bingen@voltanet.io>
ldpd/lde.c
lib/zclient.c
zebra/label_manager.c
zebra/label_manager.h
zebra/zserv.c