documented the remaining ones (sysdep/cf/README).
Available configurations:
o linux-20: Old Linux interface via /proc/net/route (selected by default
on pre-2.1 kernels).
o linux-21: Old Linux interface, but device routes handled by the
kernel (selected by default for 2.1 and newer kernels).
o linux-22: Linux with Netlink (I play with it a lot yet, so it isn't
a default).
o linux-ipv6: Prototype config for IPv6 on Linux. Not functional yet.
sysdesc=sysconfig
else
case "$host_os" in
- linux*) sysdesc=linux-20 ;;
+ linux*) case `uname -r` in
+ 1.*|2.0.*) sysdesc=linux-20 ;;
+ *) sysdesc=linux-21 ;;
+ esac
+ ;;
*) AC_MSG_RESULT(unknown)
AC_MSG_ERROR([Cannot determine correct system configuration.])
;;
--- /dev/null
+Available configuration variables:
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+CONFIG_TOS Routing by TOS supported
+CONFIG_AUTO_ROUTES Device routes are added automagically by the kernel
+CONFIG_ALL_MULTICAST All devices support multicasting (i.e., ignore IFF_MULTICAST)
+
+CONFIG_UNIX_IFACE Use Unix interface scanner
+CONFIG_UNIX_SET Use Unix route setting
+CONFIG_LINUX_SCAN Use Linux /proc/net/route scanner
/*
* Configuration for Linux 2.0 based systems
*
- * (c) 1998 Martin Mares <mj@ucw.cz>
+ * (c) 1998--1999 Martin Mares <mj@ucw.cz>
*
* Can be freely distributed and used under the terms of the GNU GPL.
*/
#undef CONFIG_TOS
-#undef CONFIG_MULTIPATH
-#undef CONFIG_NETLINK
#undef CONFIG_AUTO_ROUTES
#define CONFIG_ALL_MULTICAST
/*
- * Configuration for Linux 2.1 based systems
+ * Configuration for Linux 2.1/2.2 based systems without Netlink
*
* (c) 1998--1999 Martin Mares <mj@ucw.cz>
*
* Can be freely distributed and used under the terms of the GNU GPL.
*/
-#define CONFIG_TOS
-#define CONFIG_MULTIPATH
-#define CONFIG_NETLINK
+#undef CONFIG_TOS
#define CONFIG_AUTO_ROUTES
#define CONFIG_ALL_MULTICAST
+#define CONFIG_UNIX_IFACE
+#define CONFIG_UNIX_SET
+#define CONFIG_LINUX_SCAN
+
/*
-Link: sysdep/linux/netlink
Link: sysdep/linux
Link: sysdep/unix
*/
--- /dev/null
+/*
+ * Configuration for Linux 2.2 based systems
+ *
+ * (c) 1998--1999 Martin Mares <mj@ucw.cz>
+ *
+ * Can be freely distributed and used under the terms of the GNU GPL.
+ */
+
+#define CONFIG_TOS
+#define CONFIG_AUTO_ROUTES
+#define CONFIG_ALL_MULTICAST
+
+/*
+Link: sysdep/linux/netlink
+Link: sysdep/linux
+Link: sysdep/unix
+ */
/*
- * Configuration for Linux 2.1 based systems running IPv6
+ * Configuration for Linux 2.2 based systems running IPv6
*
- * (c) 1998 Martin Mares <mj@ucw.cz>
+ * (c) 1998--1999 Martin Mares <mj@ucw.cz>
*
* Can be freely distributed and used under the terms of the GNU GPL.
*/
#define IPV6
#define CONFIG_TOS
-#define CONFIG_MULTIPATH
-#define CONFIG_NETLINK
#define CONFIG_AUTO_ROUTES
#define CONFIG_ALL_MULTICAST
/*
+Link: sysdep/linux/netlink
Link: sysdep/linux
Link: sysdep/unix
*/
#include "lib/krt.h"
#include "lib/socket.h"
-/*
- * We need to work around namespace conflicts between us and the kernel,
- * but I prefer this way to being forced to rename our configuration symbols.
- * This will disappear as soon as netlink headers become part of the libc.
- */
-
-#undef CONFIG_NETLINK
-#include <linux/config.h>
-#ifndef CONFIG_NETLINK
-#error "Kernel not configured to support netlink"
-#endif
-
#include <asm/types.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>