[enable_memcheck=yes]
)
+AC_ARG_ENABLE([compact-tries],
+ [AS_HELP_STRING([--enable-compact-tries], [use 4-way tries instead of 16-way ones @<:@no@:>@])],
+ [],
+ [enable_compact_tries=no]
+)
+
AC_ARG_ENABLE([pthreads],
[AS_HELP_STRING([--enable-pthreads], [enable POSIX threads support @<:@try@:>@])],
[],
fi
fi
+if test "$enable_compact_tries" = yes ; then
+ AC_DEFINE([ENABLE_COMPACT_TRIES], [1], [Define to 1 if you want 4-way tries instead of 16-way ones.])
+fi
+
CLIENT=birdcl
CLIENT_LIBS=
if test "$enable_client" = yes ; then
AC_MSG_RESULT([ Iproute2 directory: $iproutedir])
AC_MSG_RESULT([ System configuration: $sysdesc])
AC_MSG_RESULT([ Debugging: $enable_debug])
+AC_MSG_RESULT([ Compact tries: $enable_compact_tries])
AC_MSG_RESULT([ POSIX threads: $enable_pthreads])
AC_MSG_RESULT([ Routing protocols: $protocols])
AC_MSG_RESULT([ LibSSH support in RPKI: $enable_libssh])
void *data;
};
+#ifdef ENABLE_COMPACT_TRIES
+/* Compact 4-way tries */
+#define TRIE_STEP 2
+#define TRIE_STACK_LENGTH 65
+#else
+/* Faster 16-way tries */
#define TRIE_STEP 4
#define TRIE_STACK_LENGTH 33
+#endif
struct f_trie_node4
{