summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-03-27 23:51:05 +0100
committerMartin Mares <mj@ucw.cz>1999-03-27 23:51:05 +0100
commit1127ac6ec7eff52d4ccbc4d836a63fa6513f6d48 (patch)
tree1eee8d7e515c07f85f2becf4f368a2b55ee7c81d
parent7dc4827c968053e45bcb7f145e9986eeb20c993b (diff)
downloadbird-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.in6
-rw-r--r--sysdep/cf/README10
-rw-r--r--sysdep/cf/linux-20.h4
-rw-r--r--sysdep/cf/linux-21.h11
-rw-r--r--sysdep/cf/linux-22.h17
-rw-r--r--sysdep/cf/linux-v6.h7
-rw-r--r--sysdep/linux/netlink/netlink.c12
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>