diff options
author | ßingen <bingen@voltanet.io> | 2017-04-26 11:50:21 +0200 |
---|---|---|
committer | ßingen <bingen@voltanet.io> | 2017-05-11 19:20:08 +0200 |
commit | 5c7ef8dc4fee3521a225aec0a3d42912a5bfd247 (patch) | |
tree | 44fbde87a6fd0b8373c92f895109654d6fe3aea2 /zebra/label_manager.h | |
parent | bgpd: fixup bgpd: allow VPN next hop to be different AFI than NLRI next (diff) | |
download | frr-5c7ef8dc4fee3521a225aec0a3d42912a5bfd247.tar.xz frr-5c7ef8dc4fee3521a225aec0a3d42912a5bfd247.zip |
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>
Diffstat (limited to 'zebra/label_manager.h')
-rw-r--r-- | zebra/label_manager.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/zebra/label_manager.h b/zebra/label_manager.h index 0c6a5ebc7..fd0b3b549 100644 --- a/zebra/label_manager.h +++ b/zebra/label_manager.h @@ -62,7 +62,7 @@ struct label_manager { bool lm_is_external; -int zread_relay_label_manager_request(int cmd, struct zserv *zserv); +int zread_relay_label_manager_request(int cmd, struct zserv *zserv, vrf_id_t vrf_id); void label_manager_init(char *lm_zserv_path); struct label_manager_chunk *assign_label_chunk(u_char proto, u_short instance, u_char keep, uint32_t size); |