summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorAlexander V. Chernikov <melifaro@FreeBSD.org>2021-09-06 22:08:15 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2022-07-11 13:28:10 +0200
commit7846249e1a422cfcaa2b1f589302441d5373b804 (patch)
tree759f8ac4994b2f3189c25cf9907e7c62ea3a7845 /cpukit
parentRemove copyinfrom() and copyinstrfrom(). (diff)
downloadrtems-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.h1
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 */