diff options
| author | Emanuele Di Pascale <emanuele@voltanet.io> | 2020-04-03 00:05:44 +0200 |
|---|---|---|
| committer | Emanuele Di Pascale <emanuele@voltanet.io> | 2020-04-07 11:33:16 +0200 |
| commit | 1935832264935a3b20d498cd70974662e7b61be5 (patch) | |
| tree | 70f9399e7819e2528149c275e4fe20041e9ee498 /zebra | |
| parent | 7611871dfc447bc56f6b4e7c2937f0583ebf000f (diff) | |
zebra: minor fix to label manager log
zebra should only check whether a get_chunk operation succeeded
when processing the response, rather than insde the get_chunk
call itself. Spllitting the request and response hooks was done
precisely to allow for asynchronous calls to an external label
manager; in this case, the requested chunk is not necessarily
going to be available at request time.
Signed-off-by: Emanuele Di Pascale <emanuele@voltanet.io>
Diffstat (limited to 'zebra')
| -rw-r--r-- | zebra/label_manager.c | 9 | ||||
| -rw-r--r-- | zebra/zapi_msg.c | 11 |
2 files changed, 9 insertions, 11 deletions
diff --git a/zebra/label_manager.c b/zebra/label_manager.c index 0825fb55ca..5f2128a09c 100644 --- a/zebra/label_manager.c +++ b/zebra/label_manager.c @@ -446,6 +446,15 @@ int lm_client_connect_response(uint8_t proto, uint16_t instance, int lm_get_chunk_response(struct label_manager_chunk *lmc, uint8_t proto, uint16_t instance, vrf_id_t vrf_id) { + if (!lmc) + flog_err(EC_ZEBRA_LM_CANNOT_ASSIGN_CHUNK, + "Unable to assign Label Chunk to %s instance %u", + zebra_route_string(proto), instance); + else if (IS_ZEBRA_DEBUG_PACKET) + zlog_debug("Assigned Label Chunk %u - %u to %s instance %u", + lmc->start, lmc->end, zebra_route_string(proto), + instance); + struct zserv *client = zserv_find_client(proto, instance); if (!client) { zlog_err("%s: could not find client for daemon %s instance %u", diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c index aabe533ee6..a58df82698 100644 --- a/zebra/zapi_msg.c +++ b/zebra/zapi_msg.c @@ -2225,17 +2225,6 @@ static void zread_get_label_chunk(struct zserv *client, struct stream *msg, /* call hook to get a chunk using wrapper */ lm_get_chunk_call(&lmc, proto, instance, keep, size, base, vrf_id); - if (!lmc) - flog_err( - EC_ZEBRA_LM_CANNOT_ASSIGN_CHUNK, - "Unable to assign Label Chunk of size %u to %s instance %u", - size, zebra_route_string(proto), instance); - else - if (IS_ZEBRA_DEBUG_PACKET) - zlog_debug("Assigned Label Chunk %u - %u to %s instance %u", - lmc->start, lmc->end, - zebra_route_string(proto), instance); - stream_failure: return; } |
