-diff -urN quagga-0.99.11/configure.ac quagga-0.99.11.new/configure.ac
---- quagga-0.99.11/configure.ac 2008-10-02 10:31:09.000000000 +0200
-+++ quagga-0.99.11.new/configure.ac 2008-11-22 20:58:12.000000000 +0100
-@@ -385,7 +385,7 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -394,7 +394,7 @@ dnl -------------------------
AC_CHECK_HEADERS([stropts.h sys/ksym.h sys/times.h sys/select.h \
sys/types.h linux/version.h netdb.h asm/types.h \
sys/param.h limits.h signal.h libutil.h \
-- sys/socket.h netinet/in.h])
-+ sys/socket.h netinet/in.h linux/ip_mp_alg.h])
+- sys/socket.h netinet/in.h time.h sys/time.h])
++ sys/socket.h netinet/in.h time.h sys/time.h linux/ip_mp_alg.h])
dnl Utility macro to avoid retyping includes all the time
m4_define([QUAGGA_INCLUDES],
-@@ -755,6 +755,17 @@
+@@ -774,6 +774,17 @@ AC_SUBST(RT_METHOD)
AC_SUBST(KERNEL_METHOD)
AC_SUBST(OTHER_METHOD)
dnl --------------------------
dnl Determine IS-IS I/O method
dnl --------------------------
-diff -urN quagga-0.99.11/lib/command.h quagga-0.99.11.new/lib/command.h
---- quagga-0.99.11/lib/command.h 2008-09-09 22:18:57.000000000 +0200
-+++ quagga-0.99.11.new/lib/command.h 2008-11-22 20:48:07.000000000 +0100
-@@ -101,6 +101,7 @@
+--- a/lib/command.h
++++ b/lib/command.h
+@@ -101,6 +101,7 @@ enum node_type
DUMP_NODE, /* Packet dump node. */
FORWARDING_NODE, /* IP forwarding node. */
PROTOCOL_NODE, /* protocol filtering node */
VTY_NODE, /* Vty node. */
};
-@@ -272,6 +273,7 @@
+@@ -272,6 +273,7 @@ struct desc
/* Common descriptions. */
#define SHOW_STR "Show running system information\n"
#define IP_STR "IP information\n"
#define IPV6_STR "IPv6 information\n"
#define NO_STR "Negate a command or set its defaults\n"
#define REDIST_STR "Redistribute information from another routing protocol\n"
-diff -urN quagga-0.99.11/lib/zebra.h quagga-0.99.11.new/lib/zebra.h
---- quagga-0.99.11/lib/zebra.h 2008-09-24 17:22:51.000000000 +0200
-+++ quagga-0.99.11.new/lib/zebra.h 2008-11-22 20:48:44.000000000 +0100
-@@ -168,6 +168,10 @@
+--- a/lib/zebra.h
++++ b/lib/zebra.h
+@@ -176,6 +176,10 @@ typedef int socklen_t;
#define RT_TABLE_MAIN 0
#endif /* HAVE_NETLINK */
#ifdef HAVE_NETDB_H
#include <netdb.h>
#endif /* HAVE_NETDB_H */
-diff -urN quagga-0.99.11/zebra/main.c quagga-0.99.11.new/zebra/main.c
---- quagga-0.99.11/zebra/main.c 2008-09-05 16:27:26.000000000 +0200
-+++ quagga-0.99.11.new/zebra/main.c 2008-11-22 20:48:44.000000000 +0100
+--- a/zebra/main.c
++++ b/zebra/main.c
@@ -44,6 +44,7 @@
struct zebra_t zebrad =
{
};
/* process id. */
-diff -urN quagga-0.99.11/zebra/multipath.h quagga-0.99.11.new/zebra/multipath.h
---- quagga-0.99.11/zebra/multipath.h 1970-01-01 01:00:00.000000000 +0100
-+++ quagga-0.99.11.new/zebra/multipath.h 2008-11-22 20:48:44.000000000 +0100
+--- /dev/null
++++ b/zebra/multipath.h
@@ -0,0 +1,37 @@
+/*
+ * multipath policy names.
+#endif
+#endif
+
-diff -urN quagga-0.99.11/zebra/rt_netlink.c quagga-0.99.11.new/zebra/rt_netlink.c
---- quagga-0.99.11/zebra/rt_netlink.c 2008-09-05 16:27:26.000000000 +0200
-+++ quagga-0.99.11.new/zebra/rt_netlink.c 2008-11-22 20:48:44.000000000 +0100
+--- a/zebra/rt_netlink.c
++++ b/zebra/rt_netlink.c
@@ -36,6 +36,7 @@
#include "thread.h"
#include "privs.h"
#include "zebra/zserv.h"
#include "zebra/rt.h"
#include "zebra/redistribute.h"
-@@ -1694,6 +1695,16 @@
+@@ -1694,6 +1695,16 @@ netlink_route_multipath (int cmd, struct
if (src)
addattr_l (&req.n, sizeof req, RTA_PREFSRC, &src->ipv4, bytelen);
if (rta->rta_len > RTA_LENGTH (0))
addattr_l (&req.n, 1024, RTA_MULTIPATH, RTA_DATA (rta),
RTA_PAYLOAD (rta));
-diff -urN quagga-0.99.11/zebra/zserv.c quagga-0.99.11.new/zebra/zserv.c
---- quagga-0.99.11/zebra/zserv.c 2008-09-24 17:22:51.000000000 +0200
-+++ quagga-0.99.11.new/zebra/zserv.c 2008-11-22 20:48:44.000000000 +0100
+--- a/zebra/zserv.c
++++ b/zebra/zserv.c
@@ -36,6 +36,7 @@
#include "privs.h"
#include "network.h"
#include "zebra/zserv.h"
#include "zebra/router-id.h"
-@@ -1120,6 +1121,9 @@
+@@ -1120,6 +1121,9 @@ zebra_client_create (int sock)
/* Set table number. */
client->rtm_table = zebrad.rtm_table_default;
/* Add this client to linked list. */
listnode_add (zebrad.client_list, client);
-@@ -1697,6 +1701,91 @@
+@@ -1697,6 +1701,91 @@ static struct cmd_node forwarding_node =
};
\f
/* Initialisation of zebra and installation of commands. */
void
zebra_init (void)
-@@ -1715,6 +1804,10 @@
+@@ -1715,6 +1804,10 @@ zebra_init (void)
install_node (&table_node, config_write_table);
install_node (&forwarding_node, config_write_forwarding);
install_element (VIEW_NODE, &show_ip_forwarding_cmd);
install_element (ENABLE_NODE, &show_ip_forwarding_cmd);
install_element (CONFIG_NODE, &ip_forwarding_cmd);
-@@ -1725,6 +1818,14 @@
+@@ -1725,6 +1818,14 @@ zebra_init (void)
install_element (VIEW_NODE, &show_table_cmd);
install_element (ENABLE_NODE, &show_table_cmd);
install_element (CONFIG_NODE, &config_table_cmd);
#endif /* HAVE_NETLINK */
#ifdef HAVE_IPV6
-diff -urN quagga-0.99.11/zebra/zserv.h quagga-0.99.11.new/zebra/zserv.h
---- quagga-0.99.11/zebra/zserv.h 2008-09-24 17:22:51.000000000 +0200
-+++ quagga-0.99.11.new/zebra/zserv.h 2008-11-22 20:48:44.000000000 +0100
-@@ -55,6 +55,9 @@
+--- a/zebra/zserv.h
++++ b/zebra/zserv.h
+@@ -55,6 +55,9 @@ struct zserv
/* default routing table this client munges */
int rtm_table;
/* This client's redistribute flag. */
u_char redist[ZEBRA_ROUTE_MAX];
-@@ -78,6 +81,9 @@
+@@ -78,6 +81,9 @@ struct zebra_t
/* default table */
int rtm_table_default;