summaryrefslogtreecommitdiff
path: root/zebra
diff options
context:
space:
mode:
authorEmanuele Di Pascale <emanuele@voltanet.io>2020-04-03 00:05:44 +0200
committerEmanuele Di Pascale <emanuele@voltanet.io>2020-04-07 11:33:16 +0200
commit1935832264935a3b20d498cd70974662e7b61be5 (patch)
tree70f9399e7819e2528149c275e4fe20041e9ee498 /zebra
parent7611871dfc447bc56f6b4e7c2937f0583ebf000f (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.c9
-rw-r--r--zebra/zapi_msg.c11
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;
}