--- Hello, while debugging "Invalid NEXT_HOP attribute" messages in my setup I had to recompile bird2 with additional debug output to determine which BAD_NEXT_HOP line was triggered and with which NEXT_HOP value. After adding this patch determining the problem was very easy.
I also looked at the other BAD_NEXT_HOP in the file but I'm not
sure how to properly print their values.
Regards
Simon
proto/bgp/packets.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
index 99b5d5b4..830a2060 100644
--- a/proto/bgp/packets.c
+++ b/proto/bgp/packets.c
@@ -955,7 +955,7 @@ bgp_apply_next_hop(struct bgp_parse_state *s, rta *a,
ip_addr gw, ip_addr ll)
nbr = neigh_find(&p->p, ll, p->neigh->iface, 0);
if (!nbr || (nbr->scope == SCOPE_HOST))
- WITHDRAW(BAD_NEXT_HOP);
+ WITHDRAW(BAD_NEXT_HOP " %I (direct)", gw);
a->dest = RTD_UNICAST;
a->nh.gw = nbr->addr;
@@ -965,7 +965,7 @@ bgp_apply_next_hop(struct bgp_parse_state *s, rta *a,
ip_addr gw, ip_addr ll)
else /* GW_RECURSIVE */
{
if (ipa_zero(gw))
- WITHDRAW(BAD_NEXT_HOP);
+ WITHDRAW(BAD_NEXT_HOP " %I (recursive)", gw);
rtable *tab = ipa_is_ip4(gw) ? c->igp_table_ip4 : c->igp_table_ip6;
s->hostentry = rt_get_hostentry(tab, gw, ll, c->c.table);
--
2.34.1
--
+ privacy is necessary
+ using gnupg http://gnupg.org
+ public key id: 0x92FEFDB7E44C32F9
signature.asc
Description: PGP signature
