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:
parent
335409248e
commit
d61505b039
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user