freebsd-dev/sys/compat/linux
Marcel Moolenaar 75387a278e Have SIOCGIFCONF return all (if any) AF_INET addresses for the
interfaces we encounter. In Linux, all addresses are returned for
which gifconf handlers are installed. This boils down to AF_DECnet
and AF_INET. We care mostly about AF_INET for now. Adding additional
families is simple enough.

Returning the addresses is important for RPC clients to function
properly. Andrew found in some reference code that the logic that
handles the retransmission looks for an interface that's up and has
an AF_INET address. This obviously failed as we didn't return any
addresses at all.

Note also that with this change we don't return interfaces that don't
have AF_INET addresses, whereas before we returned any interface
present in the system. This is in line with what Linux does (modulo
interfaces with only AF_DECnet addresses of course :-)

Reported by: "Andrew Atrens" <atrens@nortelnetworks.com>
MFC after: 1 week
2002-01-29 06:00:11 +00:00
..
linux_file.c Replace ffind_* with fget calls. 2002-01-14 00:13:45 +00:00
linux_getcwd.c Fix warning in debug printf. This is a long on alpha, and int on i386, 2001-11-17 01:16:10 +00:00
linux_ioctl.c Have SIOCGIFCONF return all (if any) AF_INET addresses for the 2002-01-29 06:00:11 +00:00
linux_ioctl.h Deal with a few issues that cropped up following the recent changes 2001-11-19 15:43:50 +00:00
linux_ipc.c Introduce [IPC|SHM]_[INFO|STAT] to shmctl to make 2001-10-28 09:29:10 +00:00
linux_ipc.h KSE Milestone 2 2001-09-12 08:38:13 +00:00
linux_mib.c o Introduce pr_mtx into struct prison, providing protection for the 2001-12-03 16:12:27 +00:00
linux_mib.h o Introduce pr_mtx into struct prison, providing protection for the 2001-12-03 16:12:27 +00:00
linux_misc.c Linux/alpha uses the same BSDish return mechanism we do for 2002-01-23 22:46:14 +00:00
linux_signal.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
linux_signal.h KSE Milestone 2 2001-09-12 08:38:13 +00:00
linux_socket.c Fix missing holdsock()->fgetsock() 2001-11-17 18:43:13 +00:00
linux_socket.h
linux_stats.c Replace ffind_* with fget calls. 2002-01-14 00:13:45 +00:00
linux_sysctl.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
linux_uid16.c When casting from uid16/gid16 to uid/gid respectively, make sure 2001-10-14 03:56:53 +00:00
linux_util.c Eliminate the prefix parameter to linux_emul_find(), which was always 2001-10-27 11:15:19 +00:00
linux_util.h Eliminate the prefix parameter to linux_emul_find(), which was always 2001-10-27 11:15:19 +00:00