diff options
author | Alexander V. Chernikov <melifaro@FreeBSD.org> | 2021-09-06 22:08:15 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-07-11 13:28:10 +0200 |
commit | 7846249e1a422cfcaa2b1f589302441d5373b804 (patch) | |
tree | 759f8ac4994b2f3189c25cf9907e7c62ea3a7845 /cpukit | |
parent | Remove copyinfrom() and copyinstrfrom(). (diff) | |
download | rtems-7846249e1a422cfcaa2b1f589302441d5373b804.tar.bz2 |
routing: fix source address selection rules for IPv4 over IPv6.
Current logic always selects an IFA of the same family from the
outgoing interfaces. In IPv4 over IPv6 setup there can be just
single non-127.0.0.1 ifa, attached to the loopback interface.
Create a separate rt_getifa_family() to handle entire ifa selection
for the IPv4 over IPv6.
Differential Revision: https://reviews.freebsd.org/D31868
MFC after: 1 week
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/include/machine/_kernel_in.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/cpukit/include/machine/_kernel_in.h b/cpukit/include/machine/_kernel_in.h index 29a6112e96..69b189cfe0 100644 --- a/cpukit/include/machine/_kernel_in.h +++ b/cpukit/include/machine/_kernel_in.h @@ -52,6 +52,7 @@ int in_canforward(struct in_addr); int in_localaddr(struct in_addr); int in_localip(struct in_addr); int in_ifhasaddr(struct ifnet *, struct in_addr); +struct in_ifaddr *in_findlocal(uint32_t, bool); int inet_aton(const char *, struct in_addr *); /* in libkern */ char *inet_ntoa_r(struct in_addr ina, char *buf); /* in libkern */ char *inet_ntop(int, const void *, char *, socklen_t); /* in libkern */ |