diff options
| author | paco <paco@voltanet.io> | 2018-06-07 15:28:12 +0200 |
|---|---|---|
| committer | F. Aragon <paco@voltanet.io> | 2018-09-18 17:39:16 +0200 |
| commit | f533be73f6e73e7c6c2f2093f4bec59862c08dd6 (patch) | |
| tree | 78e6e3c28c4a84b7309aaedfa8b99cc8fc5e5501 /zebra/label_manager.c | |
| parent | dc790ba83d9ff3b0fa31993bea7682e720f3023b (diff) | |
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.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/zebra/label_manager.c b/zebra/label_manager.c index 378a8ade4b..d2aeb2ed28 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; |
