1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

BGP: Log route updates that were changed to withdraws

Typical BGP error handling is treat-as-withdraw, where an invalid route
is replaced with a withdraw. Log route network when it happens.
This commit is contained in:
Ondrej Zajicek (work)
2022-01-24 03:44:21 +01:00
parent a9646efd40
commit 9dbb7eb6eb
3 changed files with 12 additions and 1 deletions

View File

@@ -1845,6 +1845,10 @@ bgp_rt_notify(struct proto *P, struct channel *C, net *n, rte *new, rte *old)
{
struct ea_list *attrs = bgp_update_attrs(p, c, new, new->attrs->eattrs, bgp_linpool2);
/* Error during attribute processing */
if (!attrs)
log(L_ERR "%s: Invalid route %N withdrawn", p->p.name, n->n.addr);
/* If attributes are invalid, we fail back to withdraw */
buck = attrs ? bgp_get_bucket(c, attrs) : bgp_get_withdraw_bucket(c);
path = new->attrs->src->global_id;