diff options
author | Martin Wilke <miwi@FreeBSD.org> | 2006-11-08 23:07:29 +0000 |
---|---|---|
committer | Martin Wilke <miwi@FreeBSD.org> | 2006-11-08 23:07:29 +0000 |
commit | 76cd4a8426bbc090699eb73d823712e3e7ae4efc (patch) | |
tree | 8a8ac61daac0918bb890e91d1880c558fdbee7c7 /net/quagga | |
parent | eed17ecdff898bcbc8134d575bf1e208ec8f90df (diff) | |
download | ports-76cd4a8426bbc090699eb73d823712e3e7ae4efc.tar.gz ports-76cd4a8426bbc090699eb73d823712e3e7ae4efc.zip |
Notes
Diffstat (limited to 'net/quagga')
-rw-r--r-- | net/quagga/Makefile | 1 | ||||
-rw-r--r-- | net/quagga/files/patch-ospfd-ospf_packet.c | 51 |
2 files changed, 52 insertions, 0 deletions
diff --git a/net/quagga/Makefile b/net/quagga/Makefile index 0fcf7013abd1..4b863650ecf5 100644 --- a/net/quagga/Makefile +++ b/net/quagga/Makefile @@ -7,6 +7,7 @@ PORTNAME= quagga PORTVERSION= 0.99.5 +PORTREVISION= 1 CATEGORIES= net ipv6 MASTER_SITES= http://quagga.net/download/ \ http://www.ru.quagga.net/download/ \ diff --git a/net/quagga/files/patch-ospfd-ospf_packet.c b/net/quagga/files/patch-ospfd-ospf_packet.c new file mode 100644 index 000000000000..a31dfd2b64db --- /dev/null +++ b/net/quagga/files/patch-ospfd-ospf_packet.c @@ -0,0 +1,51 @@ +--- ospfd/ospf_packet.c.orig ++++ ospfd/ospf_packet.c +@@ -2712,25 +2712,9 @@ ospf_make_db_desc (struct ospf_interface + /* Set DD Sequence Number. */ + stream_putl (s, nbr->dd_seqnum); + ++ /* shortcut unneeded walk of (empty) summary LSDBs */ + if (ospf_db_summary_isempty (nbr)) +- { +- /* Sanity check: +- * +- * Must be here either: +- * - Initial DBD (ospf_nsm.c) +- * - M must be set +- * or +- * - finishing Exchange, and DB-Summary list empty +- * - from ospf_db_desc_proc() +- * - M must not be set +- */ +- if (nbr->state >= NSM_Exchange) +- assert (!IS_SET_DD_M(nbr->dd_flags)); +- else +- assert (IS_SET_DD_M(nbr->dd_flags)); +- +- return length; +- } ++ goto empty; + + /* Describe LSA Header from Database Summary List. */ + lsdb = &nbr->db_sum; +@@ -2785,9 +2769,17 @@ ospf_make_db_desc (struct ospf_interface + /* Update 'More' bit */ + if (ospf_db_summary_isempty (nbr)) + { +- UNSET_FLAG (nbr->dd_flags, OSPF_DD_FLAG_M); +- /* Rewrite DD flags */ +- stream_putc_at (s, pp, nbr->dd_flags); ++empty: ++ if (nbr->state >= NSM_Exchange) ++ { ++ UNSET_FLAG (nbr->dd_flags, OSPF_DD_FLAG_M); ++ /* Rewrite DD flags */ ++ stream_putc_at (s, pp, nbr->dd_flags); ++ } ++ else ++ { ++ assert (IS_SET_DD_M(nbr->dd_flags)); ++ } + } + return length; + } |