Merge pull request #10743 from donaldsharp/bgp_no_ll

This commit is contained in:
David Lamparter 2022-03-11 10:43:58 +01:00 committed by GitHub
commit 64fac7801c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 0 deletions

View File

@ -474,6 +474,12 @@ static struct log_ref ferr_bgp_err[] = {
.description = "BGP route for the specified AFI/SAFI is NULL",
.suggestion = "Get log files from router and open an issue",
},
{
.code = EC_BGP_NO_LL_ADDRESS_AVAILABLE,
.title = "BGP v6 peer with no LL address on outgoing interface",
.description = "BGP when using a v6 peer requires a v6 LL address to be configured on the outgoing interface as per RFC 4291 section 2.1",
.suggestion = "Add a v6 LL address to the outgoing interfaces as per RFC",
},
{
.code = END_FERR,
}

View File

@ -101,6 +101,7 @@ enum bgp_log_refs {
EC_BGP_ROUTER_ID_SAME,
EC_BGP_INVALID_BGP_INSTANCE,
EC_BGP_INVALID_ROUTE,
EC_BGP_NO_LL_ADDRESS_AVAILABLE,
};
extern void bgp_error_init(void);

View File

@ -882,6 +882,12 @@ bool bgp_zebra_nexthop_set(union sockunion *local, union sockunion *remote,
*/
if (!v6_ll_avail && if_is_loopback(ifp))
v6_ll_avail = true;
else {
flog_warn(
EC_BGP_NO_LL_ADDRESS_AVAILABLE,
"Interface: %s does not have a v6 LL address associated with it, waiting until one is created for it",
ifp->name);
}
} else
/* Link-local address. */
{