diff options
author | Martin Mares <mj@ucw.cz> | 1999-03-27 23:51:05 +0100 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 1999-03-27 23:51:05 +0100 |
commit | 1127ac6ec7eff52d4ccbc4d836a63fa6513f6d48 (patch) | |
tree | 1eee8d7e515c07f85f2becf4f368a2b55ee7c81d | |
parent | 7dc4827c968053e45bcb7f145e9986eeb20c993b (diff) | |
download | bird-1127ac6ec7eff52d4ccbc4d836a63fa6513f6d48.tar bird-1127ac6ec7eff52d4ccbc4d836a63fa6513f6d48.zip |
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.
-rw-r--r-- | configure.in | 6 | ||||
-rw-r--r-- | sysdep/cf/README | 10 | ||||
-rw-r--r-- | sysdep/cf/linux-20.h | 4 | ||||
-rw-r--r-- | sysdep/cf/linux-21.h | 11 | ||||
-rw-r--r-- | sysdep/cf/linux-22.h | 17 | ||||
-rw-r--r-- | sysdep/cf/linux-v6.h | 7 | ||||
-rw-r--r-- | sysdep/linux/netlink/netlink.c | 12 |
7 files changed, 42 insertions, 25 deletions
diff --git a/configure.in b/configure.in index aa527a0..d945a8f 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 0000000..c35ffe5 --- /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 e514218..75f12ac 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 <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 diff --git a/sysdep/cf/linux-21.h b/sysdep/cf/linux-21.h index 7aeaab0..f5efe4d 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 <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 */ diff --git a/sysdep/cf/linux-22.h b/sysdep/cf/linux-22.h new file mode 100644 index 0000000..966fb7c --- /dev/null +++ b/sysdep/cf/linux-22.h @@ -0,0 +1,17 @@ +/* + * 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 + */ diff --git a/sysdep/cf/linux-v6.h b/sysdep/cf/linux-v6.h index c381e38..69ab0f8 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 <mj@ucw.cz> + * (c) 1998--1999 Martin Mares <mj@ucw.cz> * * 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 57e1899..0849e79 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 <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> |