summaryrefslogtreecommitdiffstats
path: root/zebra/label_manager.c
diff options
context:
space:
mode:
authorpaco <paco@voltanet.io>2018-06-07 15:28:12 +0200
committerF. Aragon <paco@voltanet.io>2018-09-18 17:39:16 +0200
commitf533be73f6e73e7c6c2f2093f4bec59862c08dd6 (patch)
tree78e6e3c28c4a84b7309aaedfa8b99cc8fc5e5501 /zebra/label_manager.c
parentMerge pull request #3017 from pacovn/devbuild_Wshadow_flag (diff)
downloadfrr-f533be73f6e73e7c6c2f2093f4bec59862c08dd6.tar.xz
frr-f533be73f6e73e7c6c2f2093f4bec59862c08dd6.zip
bgpd, doc, ldpd, lib, tests, zebra: LM fixes
Corrections so that the BGP daemon can work with the label manager properly through a label-manager proxy. Details: - Correction so the BGP daemon behind a proxy label manager gets the range correctly (-I added to the BGP daemon, to set the daemon instance id) - For the BGP case, added an asynchronous label manager connect command so the labels get recycled in case of a BGP daemon reconnection. With this, BGPd and LDPd would behave similarly. Signed-off-by: F. Aragon <paco@voltanet.io>
Diffstat (limited to 'zebra/label_manager.c')
-rw-r--r--zebra/label_manager.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/zebra/label_manager.c b/zebra/label_manager.c
index 378a8ade4..d2aeb2ed2 100644
--- a/zebra/label_manager.c
+++ b/zebra/label_manager.c
@@ -228,8 +228,9 @@ int zread_relay_label_manager_request(int cmd, struct zserv *zserv,
zserv->proto = proto;
/* in case there's any incoming message enqueued, read and forward it */
- while (ret == 0)
- ret = relay_response_back();
+ if (zserv->is_synchronous)
+ while (ret == 0)
+ ret = relay_response_back();
/* get the msg buffer used toward the 'master' Label Manager */
dst = zclient->obuf;