forked from Mirror/frr
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:
commit
4fa73b6572
|
@ -456,7 +456,25 @@ static int label_manager_get_chunk(struct label_manager_chunk **lmc,
|
||||||
{
|
{
|
||||||
*lmc = assign_label_chunk(client->proto, client->instance,
|
*lmc = assign_label_chunk(client->proto, client->instance,
|
||||||
client->session_id, keep, size, base);
|
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 */
|
/* 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);
|
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)
|
void label_manager_close(void)
|
||||||
{
|
{
|
||||||
list_delete(&lbl_mgr.lc_list);
|
list_delete(&lbl_mgr.lc_list);
|
||||||
|
|
|
@ -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,
|
int lm_client_connect_response(uint8_t proto, uint16_t instance,
|
||||||
uint32_t session_id, vrf_id_t vrf_id,
|
uint32_t session_id, vrf_id_t vrf_id,
|
||||||
uint8_t result);
|
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 */
|
/* convenience function to allocate an lmc to be consumed by the above API */
|
||||||
struct label_manager_chunk *
|
struct label_manager_chunk *
|
||||||
|
|
Loading…
Reference in a new issue