From 1127ac6ec7eff52d4ccbc4d836a63fa6513f6d48 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Sat, 27 Mar 1999 22:51:05 +0000 Subject: [PATCH] Cleaned up system configuration files -- removed few obsolete parameters, 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. --- configure.in | 6 +++++- sysdep/cf/README | 10 ++++++++++ sysdep/cf/linux-20.h | 4 +--- sysdep/cf/linux-21.h | 11 ++++++----- sysdep/cf/linux-22.h | 17 +++++++++++++++++ sysdep/cf/linux-v6.h | 7 +++---- sysdep/linux/netlink/netlink.c | 12 ------------ 7 files changed, 42 insertions(+), 25 deletions(-) create mode 100644 sysdep/cf/README create mode 100644 sysdep/cf/linux-22.h diff --git a/configure.in b/configure.in index aa527a02..d945a8f1 100644 --- a/configure.in +++ b/configure.in @@ -47,7 +47,11 @@ elif test -f sysconfig.h ; then 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.]) ;; diff --git a/sysdep/cf/README b/sysdep/cf/README new file mode 100644 index 00000000..c35ffe57 --- /dev/null +++ b/sysdep/cf/README @@ -0,0 +1,10 @@ +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 diff --git a/sysdep/cf/linux-20.h b/sysdep/cf/linux-20.h index e514218f..75f12ac9 100644 --- a/sysdep/cf/linux-20.h +++ b/sysdep/cf/linux-20.h @@ -1,14 +1,12 @@ /* * Configuration for Linux 2.0 based systems * - * (c) 1998 Martin Mares + * (c) 1998--1999 Martin Mares * * 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 diff --git a/sysdep/cf/linux-21.h b/sysdep/cf/linux-21.h index 7aeaab0a..f5efe4dd 100644 --- a/sysdep/cf/linux-21.h +++ b/sysdep/cf/linux-21.h @@ -1,19 +1,20 @@ /* - * Configuration for Linux 2.1 based systems + * Configuration for Linux 2.1/2.2 based systems without Netlink * * (c) 1998--1999 Martin Mares * * 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 */ diff --git a/sysdep/cf/linux-22.h b/sysdep/cf/linux-22.h new file mode 100644 index 00000000..966fb7cd --- /dev/null +++ b/sysdep/cf/linux-22.h @@ -0,0 +1,17 @@ +/* + * Configuration for Linux 2.2 based systems + * + * (c) 1998--1999 Martin Mares + * + * 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 + */ diff --git a/sysdep/cf/linux-v6.h b/sysdep/cf/linux-v6.h index c381e387..69ab0f8f 100644 --- a/sysdep/cf/linux-v6.h +++ b/sysdep/cf/linux-v6.h @@ -1,7 +1,7 @@ /* - * Configuration for Linux 2.1 based systems running IPv6 + * Configuration for Linux 2.2 based systems running IPv6 * - * (c) 1998 Martin Mares + * (c) 1998--1999 Martin Mares * * Can be freely distributed and used under the terms of the GNU GPL. */ @@ -9,12 +9,11 @@ #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 */ diff --git a/sysdep/linux/netlink/netlink.c b/sysdep/linux/netlink/netlink.c index 57e18991..0849e79f 100644 --- a/sysdep/linux/netlink/netlink.c +++ b/sysdep/linux/netlink/netlink.c @@ -25,18 +25,6 @@ #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 -#ifndef CONFIG_NETLINK -#error "Kernel not configured to support netlink" -#endif - #include #include #include