summaryrefslogtreecommitdiff
path: root/net/quagga/files/patch-cvs-2-ribcode
diff options
context:
space:
mode:
authorSergey Matveychuk <sem@FreeBSD.org>2007-08-28 10:48:38 +0000
committerSergey Matveychuk <sem@FreeBSD.org>2007-08-28 10:48:38 +0000
commitffa593b51af801191dc5aeae98ff8ebed72dfb78 (patch)
tree1d486735a2c77c62394d89c2e15126e9ead7e9b0 /net/quagga/files/patch-cvs-2-ribcode
parentUpdate to 0.11 (diff)
- Integrate patches from quagga CVS.
They fix a few problems with inconsistences routes between quagga and kernel route tables, loss MTU, assert in route-map code, etc. Submitted by: Yandex company Approved by: maintainer
Notes
Notes: svn path=/head/; revision=198447
Diffstat (limited to 'net/quagga/files/patch-cvs-2-ribcode')
-rw-r--r--net/quagga/files/patch-cvs-2-ribcode46
1 files changed, 46 insertions, 0 deletions
diff --git a/net/quagga/files/patch-cvs-2-ribcode b/net/quagga/files/patch-cvs-2-ribcode
new file mode 100644
index 000000000000..bdf05a47561b
--- /dev/null
+++ b/net/quagga/files/patch-cvs-2-ribcode
@@ -0,0 +1,46 @@
+--- zebra/rt_socket.c.orig 2007-05-10 00:59:35.000000000 +0400
++++ zebra/rt_socket.c 2007-07-31 15:58:18.000000000 +0400
+@@ -99,9 +99,7 @@
+ if ((cmd == RTM_ADD
+ && CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_ACTIVE))
+ || (cmd == RTM_DELETE
+-#if 0
+ && CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_FIB)
+-#endif
+ ))
+ {
+ if (CHECK_FLAG (nexthop->flags, NEXTHOP_FLAG_RECURSIVE))
+@@ -138,9 +136,6 @@
+ }
+ }
+
+- if (cmd == RTM_ADD)
+- SET_FLAG (nexthop->flags, NEXTHOP_FLAG_FIB);
+-
+ if (gate && p->prefixlen == 32)
+ mask = NULL;
+ else
+@@ -152,7 +147,6 @@
+ #endif /* HAVE_STRUCT_SOCKADDR_IN_SIN_LEN */
+ mask = &sin_mask;
+ }
+- }
+
+ error = rtm_write (cmd,
+ (union sockunion *)&sin_dest,
+@@ -169,8 +163,13 @@
+ nexthop_num, error);
+ }
+ #endif
+-
+- nexthop_num++;
++ if (error == 0)
++ {
++ nexthop_num++;
++ if (cmd == RTM_ADD)
++ SET_FLAG (nexthop->flags, NEXTHOP_FLAG_FIB);
++ }
++ }
+ }
+
+ /* If there is no useful nexthop then return. */