mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
Use network epoch to protect local IPv4 addresses hash.
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
This commit is contained in:
committed by
Sebastian Huber
parent
7846249e1a
commit
94c33ba992
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user