From: Gleb Smirnoff <gleb...@freebsd.org>

The modification to the hash are already naturally locked by
in_control_sx.  Convert the hash lists to CK lists. Remove the
in_ifaddr_rmlock. Assert the network epoch where necessary.

Most cases when the hash lookup is done the epoch is already entered.
Cover a few cases, that need entering the epoch, which mostly is
initial configuration of tunnel interfaces and multicast addresses.

Reviewed by:            melifaro
Differential revision:  https://reviews.freebsd.org/D32584
---
 cpukit/include/machine/_kernel_in.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/cpukit/include/machine/_kernel_in.h 
b/cpukit/include/machine/_kernel_in.h
index 69b189cfe0..c9dcfbd033 100644
--- a/cpukit/include/machine/_kernel_in.h
+++ b/cpukit/include/machine/_kernel_in.h
@@ -50,7 +50,11 @@ int   in_broadcast(struct in_addr, struct ifnet *);
 int     in_ifaddr_broadcast(struct in_addr, struct in_ifaddr *);
 int     in_canforward(struct in_addr);
 int     in_localaddr(struct in_addr);
+#if __FreeBSD_version >= 1400039
+bool    in_localip(struct in_addr);
+#else
 int     in_localip(struct in_addr);
+#endif
 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 */
-- 
2.35.3

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to