Merge pull request #14584 from pguibert6WIND/lmc_log_display_chunk

zebra: add label chunk range in log when label manager request fails
This commit is contained in:
Donald Sharp 2023-10-13 11:49:48 -04:00 committed by GitHub
commit 4fa73b6572
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 19 deletions

View file

@ -456,7 +456,25 @@ static int label_manager_get_chunk(struct label_manager_chunk **lmc,
{
*lmc = assign_label_chunk(client->proto, client->instance,
client->session_id, keep, size, base);
return lm_get_chunk_response(*lmc, client, vrf_id);
/* Respond to a get_chunk request */
if (!*lmc) {
if (base == MPLS_LABEL_BASE_ANY)
flog_err(EC_ZEBRA_LM_CANNOT_ASSIGN_CHUNK,
"Unable to assign Label Chunk size %u to %s instance %u",
size, zebra_route_string(client->proto),
client->instance);
else
flog_err(EC_ZEBRA_LM_CANNOT_ASSIGN_CHUNK,
"Unable to assign Label Chunk %u - %u to %s instance %u",
base, base + size - 1,
zebra_route_string(client->proto),
client->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(client->proto), client->instance);
return zsend_assign_label_chunk_response(client, vrf_id, *lmc);
}
/* Respond to a connect request */
@ -475,22 +493,6 @@ int lm_client_connect_response(uint8_t proto, uint16_t instance,
return zsend_label_manager_connect_response(client, vrf_id, result);
}
/* Respond to a get_chunk request */
int lm_get_chunk_response(struct label_manager_chunk *lmc, struct zserv *client,
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(client->proto), client->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(client->proto), client->instance);
return zsend_assign_label_chunk_response(client, vrf_id, lmc);
}
void label_manager_close(void)
{
list_delete(&lbl_mgr.lc_list);

View file

@ -78,8 +78,6 @@ void lm_release_chunk_call(struct zserv *client, uint32_t start,
int lm_client_connect_response(uint8_t proto, uint16_t instance,
uint32_t session_id, vrf_id_t vrf_id,
uint8_t result);
int lm_get_chunk_response(struct label_manager_chunk *lmc, struct zserv *client,
vrf_id_t vrf_id);
/* convenience function to allocate an lmc to be consumed by the above API */
struct label_manager_chunk *