0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-09 12:48:43 +00:00

BSD: IPv4 over IPv6 nexthop support on FreeBSD

The support for IPv4 routes with IPv6 nexthops was implemented in FreeBSD
13.1, this patch allows to import and export such routes from/to kernel.

Minor change from committer.
This commit is contained in:
Luiz Amaral 2023-04-21 01:37:30 +02:00 committed by Ondrej Zajicek
parent 335409248e
commit d61505b039

View File

@ -314,7 +314,7 @@ krt_send_route(struct krt_proto *p, int cmd, rte *e)
if (ipa_is_link_local(gw)) if (ipa_is_link_local(gw))
_I0(gw) = 0xfe800000 | (i->index & 0x0000ffff); _I0(gw) = 0xfe800000 | (i->index & 0x0000ffff);
sockaddr_fill(&gate, af, gw, NULL, 0); sockaddr_fill(&gate, (ipa_is_ip4(gw) ? AF_INET : AF_INET6), gw, NULL, 0);
msg.rtm.rtm_flags |= RTF_GATEWAY; msg.rtm.rtm_flags |= RTF_GATEWAY;
msg.rtm.rtm_addrs |= RTA_GATEWAY; msg.rtm.rtm_addrs |= RTA_GATEWAY;
break; break;
@ -469,7 +469,7 @@ krt_read_route(struct ks_msg *msg, struct krt_proto *p, int scan)
idst = ipa_from_sa(&dst); idst = ipa_from_sa(&dst);
imask = ipa_from_sa(&mask); imask = ipa_from_sa(&mask);
igate = (gate.sa.sa_family == dst.sa.sa_family) ? ipa_from_sa(&gate) : IPA_NONE; igate = ipa_from_sa(&gate);
#ifdef KRT_SHARED_SOCKET #ifdef KRT_SHARED_SOCKET
if (!scan) if (!scan)