1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

Cache network interface information

Whenever getaddrinfo needed network interface information it used the
netlink interface to read the information every single time.  The
problem is that this information can change at any time.

The patch implements monitoring of the network interfaces through
nscd.  If no change is detected the previously read information can
be reused (which is the norm).  This timestamp information is also
made available to other processes using the shared memory segment
between nscd and those processes.
This commit is contained in:
Ulrich Drepper
2011-10-31 01:51:16 -04:00
parent 636064eb4c
commit 3a2c02424d
10 changed files with 359 additions and 46 deletions

View File

@ -1,5 +1,5 @@
/* Determine protocol families for which interfaces exist. Generic version.
Copyright (C) 2003, 2006 Free Software Foundation, Inc.
Copyright (C) 2003, 2006, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -54,3 +54,19 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6,
(void) freeifaddrs (ifa);
}
void
__free_in6ai (struct in6addrinfo *in6ai)
{
/* Nothing to do. */
}
#ifdef IS_IN_nscd
uint32_t
__bump_nl_timestamp (void)
{
return 0;
}
#endif