0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 17:51:53 +00:00

Filter: Update 'gw' to handle IPv6 link-local addresses

When a link-local address is set, use the existing iface for scope.

Thanks to Marcel Krüger for the bugreport.
This commit is contained in:
Ondrej Zajicek (work) 2021-03-15 18:35:23 +01:00
parent 0d1a11cca3
commit 94abefc00b

View File

@ -559,7 +559,8 @@
case SA_GW: case SA_GW:
{ {
ip_addr ip = v1.val.ip; ip_addr ip = v1.val.ip;
neighbor *n = neigh_find(rta->src->proto, ip, NULL, 0); struct iface *ifa = ipa_is_link_local(ip) ? rta->nh.iface : NULL;
neighbor *n = neigh_find(rta->src->proto, ip, ifa, 0);
if (!n || (n->scope == SCOPE_HOST)) if (!n || (n->scope == SCOPE_HOST))
runtime( "Invalid gw address" ); runtime( "Invalid gw address" );