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