[vyatta-svn] BGP/OSPF/RIP/RIB routing daemons: Changes to 'master'
shemminger@suva.vyatta.com
shemminger at suva.vyatta.com
Thu Jul 31 14:44:55 PDT 2008
ChangeLog | 1
debian/vyatta-quagga.dirs | 4
debian/vyatta-quagga.files | 14
debian/vyatta-quagga.init.d | 151 ---
debian/vyatta-quagga.logrotate | 17
debian/vyatta-quagga.manpages | 8
debian/vyatta-quagga.postinst | 32
debian/vyatta-quagga.postrm | 19
debian/vyatta-quagga.preinst | 93 -
debian/vyatta-quagga.prerm | 3
debian/vyatta-quagga.quagga.pam | 5
zebra/if_linkdetect.c | 92 -
zebra/linkdetect_null.c | 28
ChangeLog | 1990 ++++++++++++++++++++++++++++++++++++++++
HACKING | 24
INSTALL.quagga.txt | 2
NEWS | 2
README.NetBSD | 2
bgpd/ChangeLog | 86 +
bgpd/IMPLEMENTATION.txt | 2
bgpd/bgp_advertise.c | 10
bgpd/bgp_attr.c | 55 -
bgpd/bgp_attr.h | 5
bgpd/bgp_community.c | 4
bgpd/bgp_main.c | 10
bgpd/bgp_network.c | 182 +--
bgpd/bgp_network.h | 6
bgpd/bgp_packet.c | 28
bgpd/bgp_route.c | 49
bgpd/bgp_route.h | 21
bgpd/bgp_routemap.c | 5
bgpd/bgp_table.c | 27
bgpd/bgp_table.h | 17
bgpd/bgp_vty.c | 132 +-
bgpd/bgpd.c | 192 +--
bgpd/bgpd.conf.sample | 2
bgpd/bgpd.h | 65 +
configure.ac | 52 -
debian/README | 5
debian/changelog | 7
debian/control | 12
debian/lintian | 4
debian/quagga.dirs | 4
debian/quagga.files | 14
debian/quagga.init.d | 151 +++
debian/quagga.logrotate | 17
debian/quagga.manpages | 8
debian/quagga.postinst | 32
debian/quagga.postrm | 19
debian/quagga.preinst | 89 +
debian/quagga.prerm | 3
debian/quagga.quagga.pam | 5
debian/rules | 3
isisd/dict.c | 4
isisd/dict.h | 4
lib/ChangeLog | 23
lib/command.c | 2
lib/log.c | 2
lib/log.h | 2
lib/md5.c | 2
lib/md5.h | 2
lib/memtypes.awk | 2
lib/memtypes.c | 3
lib/route_types.awk | 2
lib/sockopt.c | 85 +
lib/sockopt.h | 31
lib/sockunion.c | 8
lib/str.h | 2
lib/stream.c | 4
lib/stream.h | 4
lib/workqueue.c | 16
lib/workqueue.h | 3
lib/zassert.h | 2
lib/zebra.h | 1
mkinstalldirs | 161 +++
ospf6d/ospf6_main.c | 3
ospfd/OSPF-ALIGNMENT.txt | 2
ospfd/ospf_main.c | 3
pkgsrc/README.txt | 2
ripd/ChangeLog | 4
ripd/rip_main.c | 3
ripd/ripd.conf.sample | 2
ripngd/ripng_main.c | 3
ripngd/ripngd.conf.sample | 2
solaris/ChangeLog | 10
solaris/Makefile.am | 2
solaris/quagga.init.in | 193 +++
solaris/quagga.xml.in | 510 +++++++---
tests/ChangeLog | 4
tests/Makefile.am | 6
tests/bgp_mp_attr_test.c | 535 ++++++++++
tests/heavy-thread.c | 2
tests/heavy-wq.c | 2
tests/heavy.c | 2
tests/main.c | 2
tests/test-privs.c | 2
tools/multiple-bgpd.sh | 41
vtysh/ChangeLog | 10
vtysh/extract.pl.in | 4
vtysh/vtysh.c | 30
vtysh/vtysh.h | 4
vtysh/vtysh_main.c | 58 +
watchquagga/watchquagga.c | 2
zebra/ChangeLog | 30
zebra/Makefile.am | 7
zebra/client_main.c | 2
zebra/connected.c | 13
zebra/interface.c | 13
zebra/interface.h | 17
zebra/ioctl.c | 37
zebra/main.c | 3
zebra/rib.h | 16
zebra/rt_netlink.c | 71 -
zebra/zebra.conf.sample | 2
zebra/zebra_rib.c | 230 +++-
zebra/zserv.h | 1
116 files changed, 4672 insertions(+), 1388 deletions(-)
New commits:
commit b3d1820e48cfd5571ecbc16ed33977141da1e7ad
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Thu Jul 31 14:44:42 2008 -0700
Rename vyatta-quagga package to quagga
Use version string (rather than name) to distinquish vyatta
version of package.
commit 9ac8a4c84d38cec3017901316da0124037af9387
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Thu Jul 31 14:35:32 2008 -0700
Fix merge problems
Get rid of some conflicts / overlaps from merge of upstream.
commit f9ca20da1a62324d1ee9c11dd13c71f8986f4909
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Thu Jul 31 10:05:18 2008 -0700
Handle network interface renames
The interface index (rather than the name) is the primary key,
so if name changes just update the record rather than doing
a delete/update.
commit f2549f6629a96c8e70eafc5d70799c68702b2b1e
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Wed Jul 30 16:23:58 2008 -0700
Use netlink to find interfaces
Don't need if_proc code if using netlink
commit 2a0fe0138801016d601229912cb0686818aab8c2
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Wed Jul 30 14:16:47 2008 -0700
Add a --noerror option
There are times that configuration scripts want to run vtysh but
don't want to get error messages or failed exit status
commit 56ce2ed0a08645dedb448691cb81adba0b9dee61
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Mon Jul 28 15:07:46 2008 -0700
Do link detect in quagga, rather than kernel
Don't use kernel support for linkdetect in quagga.
This reverts commit 8d95ee9f88945ee49932b1a9f7af5abe6048e6e6.
commit 647b3bf5c2327a4a87abc2f685e974b2ba116600
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Mon Jul 28 15:04:56 2008 -0700
Return non-zero exit code on error.
If passed a bad command, return non-zero exit code
commit 50dfbf501a8659bfd2b2e18ed8f29352f1132722
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Mon Jul 28 14:38:25 2008 -0700
Don't seg fault if logging not enabled.
Check if log is turned on.
commit 5d07783dcb8914391af002aa4449f8bf1ae63228
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Mon Jul 28 12:19:04 2008 -0700
Make vtysh more useable for scripting
Add environment variable (VTYSH_LOG) for logging.
If a command fails, exit with non-zero exit code and don't
continue multipart commands.
commit b3bcf0b7945e2423916c6d7de0c2a675923a0038
Author: Stig Thormodsrud <stig at vyatta.com>
Date: Sun Jul 27 17:06:14 2008 -0700
Enable IPv6 routing daemons.
commit 4d188bf577f68e19aaaa74145b8595851a96fdf2
Author: Stig Thormodsrud <stig at vyatta.com>
Date: Sun Jul 27 17:05:19 2008 -0700
Remove vestigial watchlink code.
commit d10d6c178e3c91e0dc73b6924099cb8fa416c279
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Thu Jul 24 14:19:47 2008 -0700
Fix management of route changes
Earlier changes to route management caused any route change to cause
the whole RIB to marked as changed. This then causes route flapping.
Fix by being more selective about what changes get flagged.
Bugfix 3488
commit 09523599d75b0161bbfff62bde436e4782a5864e
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Wed Jul 23 09:44:02 2008 -0700
Only set ifindex on set pass
This makes code work like comments and probable original design.
commit d0cee3d3d7267f8f5c1d1ffd5c5fd8802a9db987
Author: paul <paul>
Date: Tue Jul 22 21:11:48 2008 +0000
[bgpd] Fix triggerable crash when compiled with --disable-bgp-announce
2008-07-22 Paul Jakma <paul.jakma at sun.com>
* HACKING: Document preference for compiler conditional code, over
cpp conditional.
* configure.ac: DISABLE_BGP_ANNOUNCE always should be defined.
* bgp_{packet,route,advertise}.c: change to compiler testing of
DISABLE_BGP_ANNOUNCE, rather than cpp.
2008-07-22 MIYAJIMA Mitsuharu <miyajima.mitsuharu at anchor.jp>
* bgp_packet.c: (bgp_update_packet_eor) Fix crash triggerable
if a bgpd was compiled with --disable-bgp-announce and if GR is
advertised by peer.
commit 42f57d1707f9da733ca2113bf8d9b176bf088ecf
Author: paul <paul>
Date: Tue Jul 22 19:56:56 2008 +0000
[bgpd] fix a couple of trivial compiler warnings
2008-07-22 Paul Jakma <paul.jakma at sun.com>
* bgp_community.c: (community_str2com) assigns defaults to local
vars
* bgp_attr.c: (bgp_attr_parse) match format specifier to arg
* bgp_table.{c,h}: (bgp_table_top) can take a * to a const, quelling
warning in bgp_route.c
commit 0eaaeb664b7f66e389f1c626befa28d777fe8e65
Author: paul <paul>
Date: Mon Jul 21 21:02:49 2008 +0000
[bgpd] TCP-MD5: password vty configuration and initial Linux support
2008-07-21 Paul Jakma <paul.jakma at sun.com>
* bgp_packet.c: (bgp_open_receive) fix warning in a zlog call
* bgp_vty.c: (bgp_vty_return) add return code
* bgpd.c: (bgp_master_init) setup the socket list.
* bgp_network.c: Remove the dual IPv4/6 socket thing for now, which
was implemented by Michael, until such time as its clear its
required for Linux (see sockopt comments). IPv6 support, including
IPv4 sessions on AF_INET6 sockets, therefore is broken, and the
'-l 0.0.0.0' arguments would need to be given to bgpd to make
things work here.
2008-07-21 Michael H. Warfield <mhw at wittsend.com>
YOSHIFUJI Hideaki <yoshfuji at linux-ipv6.org>
Tomohiko Kusuda <kusuda at inetcore.com>
Leigh Brown <leigh at solinno.co.uk>
* bgp_network.c: (bgp_md5_set_one) shim between libzebra tcp-md5
sockopt and bgpd.
(bgp_md5_set_socket) Helper for bgp_connect
(bgp_md5_set) setup TCP-MD5SIG for the given peer.
(bgp_connect) call out to bgp_md5_set_socket for the outgoing
connect socket.
(bgp_socket) save references to the listen sockets, needed if
TCP-MD5SIG is applied later or changed.
* bgp_vty.c: (*neighbor_password_cmd) New 'neighbor ... password'
commands.
* bgpd.c: (peer_{new,delete) manage TCP-MD5 password
(peer_group2peer_config_copy) inherit TCP-MD5 password
(peer_password_{un,}set) orchestrate the whole add/remove of TCP-MD5
passwords: applying checks, stopping peers, and trying to return
errors to UI, etc.
(bgp_config_write_peer) save password.
Fix missing newline in writeout of neighbor ... port.
2008-07-21 Paul Jakma <paul.jakma at sun.com>
* sockunion.c: ifdef out various places that converted
v4mapped sockets to pure v4. Doesn't seem necessary at all,
presumably a workaround for now historical inet_ntop bugs (?)
2008-07-21 Michael H. Warfield <mhw at wittsend.com>
YOSHIFUJI Hideaki <yoshfuji at linux-ipv6.org>
* sockopt.{c,h}: (sockopt_tcp_signature) Add TCP-MD5SIG support.
commit d9270db3072a6c218204682129ada7ddc034dccd
Author: paul <paul>
Date: Mon Jul 21 18:43:04 2008 +0000
[tools/multiple-bgpd.sh] make it easier to use IPv6 peer addresses
commit c82f7369d5de310aa68a7319da96b48649786e25
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Fri Jul 11 16:18:05 2008 -0700
Fix compiler warnings from incorrect format strings
Mostly from incorrect usage of z option. Need to use:
printf(" size = %zd", x->size);
commit 8f2f8530fee1635480f75df7e8126b596525d126
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Fri Jul 11 16:12:10 2008 -0700
Make some trivial functions on interfaces inline
Make the trivial boolean functions inline to help performance
and code size.
commit ce1508c002706a30e078de6b8b2669b6950707b4
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Fri Jul 11 14:17:56 2008 -0700
Add reference counting to bgp instance
This adds reference counting to avoid cases where bgp instance
is refered to by peers after bgp has been deleted. The style and
format matchs other reference counting in Quagga
commit 320ad162dd9cb47aafb68e9d0b751572d444ad30
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Fri Jul 11 13:56:58 2008 -0700
Change peer_lock/unlock to inline
These trivial functions can just be inlined.
commit e1af5757dd39131c33d51148f403d1bf4d24d192
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Fri Jul 11 13:53:17 2008 -0700
Change bgp_info_lock/unlock to be inline
These trivial functions take more code to call than to just
do inline.
commit 9027e127ef2dc2d4c15296818c60497f5915385f
Author: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Fri Jul 11 13:50:46 2008 -0700
Fix use after free in rsclient cleanup
The peer_unlock() in node_cleanup could be freeing the peer.
commit 9c39c3bfcdda055eb64876953729f5d4589ced63
Author: paul <paul>
Date: Thu Jul 3 20:41:08 2008 +0000
[solaris] Sync SMF bits with OpenSolaris SFW
2008-07-03 Paul Jakma <paul.jakma at sun.com>
* quagga.{xml,init}.in: Sync with OpenSolaris SFW. This changes the
SMF schema used, from the SMF schema supplied initially with
Quagga, to the version which was approved by the Sun PSARC for
inclusion into Solaris. This change is incompatible. Settings,
such as vty_port, etc. will not transfer over. The Sun schema is
however supported by Sun, and supports running Quagga in a zone
with IP instances, and configuration via the routeadm utility.
commit 1ea3c630931cb36f265529f1470b1df07bdd8ee7
Author: paul <paul>
Date: Thu Jul 3 19:34:48 2008 +0000
[vtysh] small fix to previous CMD_AS_RANGE patch, and add missing command
2008-07-03 MIYAJIMA Mitsuharu <miyajima.mitsuharu at anchor.jp>
* extract.pl.in: Fix as-range to match CPP output.
* vtysh.c: Add missing router_bgp_view_cmd alias.
commit 0a7c082247ec043bed301ea7961ec3726a33620a
Author: paul <paul>
Date: Wed Jul 2 13:40:33 2008 +0000
[vty] CMD_AS_RANGE accidently quoted and so not expanded in vty
2008-07-02 MIYAJIMA Mitsuharu <miyajima.mitsuharu at anchor.jp>
* *.c: CMD_AS_RANGE was being used inside command strings, and thus
not being expanded, fix by dequoting.
commit 1cfa62007bf969e1bc2d825d69df25ea5e40a9cf
Author: paul <paul>
Date: Wed Jul 2 02:12:07 2008 +0000
[bgpd] Fix double-free crash in bgp_table_finish, seen with rs-client
2008-07-02 Stephen Hemminger <stephen.hemminger at vyatta.com>
* bgp_table.{c,h}: (bgp_table_finish) Take a double pointer and
scrub pointer in caller, so fixing double-free crashes seen
with route-server-client configuration.
* *.c: Adjust all callers of bgp_table_finish
2008-07-02 Paul Jakma <paul.jakma at sun.com>
* bgp_table.{c,h}: (bgp_node_delete, bgp_table_free) shouldn't be
exported.
commit d32541332b3f59c69c24277e0220cbd92c3c1c98
Author: paul <paul>
Date: Tue Jul 1 18:24:58 2008 +0000
[zebra] Make BSD link-state deal more gracefully with GIFMEDIA ioctl error
2008-07-01 Paul Jakma <paul.jakma at sun.com>
* ioctl.c: (if_get_flags) Deal more gracefully with failure
of the BSD link-state SIOCGIFMEDIA ioctl, as some interfaces
apparently don't implement it (e.g. tun).
Also, make BSD link-state checking be conditional on the
'link-detect' interface configuration flag, as it should be.
Fixes bug #465.
commit 11f4f0e55dbd48a4dd56e96202731d6679041594
Author: paul <paul>
Date: Thu Jun 12 18:53:09 2008 +0000
[tools/multiple-bgpd] setup IPv6 advertisments
commit db54fd68292ee898b07ec639630419e755bf4a41
Author: paul <paul>
Date: Wed Jun 11 19:40:57 2008 +0000
[administrivia] commit missing ChangeLog update...
commit b930fcabb7bcb2e025cb35ba3455542a4c1f67ee
Author: paul <paul>
Date: Tue Jun 10 21:25:38 2008 +0000
[release] Bump version to 0.99.10
2008-06-10 Paul Jakma <paul at jakma.org>
* configure.ac: Bump version to 0.99.10
commit ac11987761b608c89dace7c6bccce289a82b625c
Author: paul <paul>
Date: Sat Jun 7 20:44:30 2008 +0000
[tests] BGP MP_(UN)REACH_NLRI unit tests (actual file..)
2008-06-07 Paul Jakma <paul at jakma.org
* bgp_mp_attr_test.c: MP_(UN)REACH_NLRI unit tests
commit 15382922a695cd9245da8a57546d51154c6a35f4
Author: paul <paul>
Date: Sat Jun 7 20:42:07 2008 +0000
[lib] trivial: add const qualifier to stream_put/write
2008-06-07 Paul Jakma <paul at jakma.org>
* stream.{c,h}: (stream_{put,write}) add const qualifier to source
argument. Change u_char to void *.
commit 3be53b16b4e4f7a6b5fd51553f471d0a0e0315cc
Author: paul <paul>
Date: Sat Jun 7 20:37:10 2008 +0000
[bgpd] minor changes to bgp_mp_reach_parse
2008-06-07 Paul Jakma <paul at jakma.org>
* bgp_attr.{c,h}: (bgp_mp_{un,}reach_parse) export, for unit tests.
* bgp_attr.c: (bgp_mp_reach_parse) Add logging. Tighten length test
to bounds check against the attribute length rather than the
stream length..
commit 814e2b5a7d72d997b931789937bbc341555dbb4f
Author: paul <paul>
Date: Sat Jun 7 20:32:38 2008 +0000
[tests] BGP MP_(UN)REACH_NLRI unit tests
2008-06-07 Paul Jakma <paul at jakma.org
* bgp_mp_attr_test.c: MP_(UN)REACH_NLRI unit tests
commit 16eb12a26536c6a2d9b9f1038d4194daa66c1dee
Author: pilot <pilot>
Date: Sat Jun 7 17:54:38 2008 +0000
+ note the meta-queue in NEWS
commit 90443036ecda07a5f8d5c3501faef465301365bd
Author: pilot <pilot>
Date: Mon Jun 2 12:03:22 2008 +0000
+ initial edition of meta-queue for RIB updates processing (bug #431)
commit ab8d703bf1eb4599479161d467fdd4b87c7efed1
Author: paul <paul>
Date: Sun Jun 1 14:29:03 2008 +0000
[bgpd] bug #419: partial aspath-limit incorrectly causes session reset
2008-06-01 jfletche at gmail.com
* bgp_attr.c: (bgp_attr_aspathlimit) fix silly bug in flags check
that was causing BGP to drop sessions if it received a
aspath-limit with partial set. Fixes bug #419.
commit f6fb57c58bbc808004486efa7fc1a47b7550efdb
Author: paul <paul>
Date: Sun Jun 1 14:26:48 2008 +0000
[tools] multiple-bgpd.sh: make paths more configurable
commit a75c0b43cd9a27e2c3f5113e1a2141e428fb2288
Author: paul <paul>
Date: Thu May 29 19:03:08 2008 +0000
[ripd] Fix mistaken empty string test
2008-05-29 Stephen Hemminger <stephen.hemminger at vyatta.com>
* ripd.c: (rip_auth_md5) fix bogus empty string test
commit a73770abf4e87b073ca51ca0cd4171d712ca9bff
Author: paul <paul>
Date: Thu May 29 18:29:16 2008 +0000
[daemons] Sanity check port number arguments before use
2008-05-29 Martin Nagy <mnagy at redhat.com>
* */*main.c: Sanity check port numbers before using.
commit bccd4b06852d712dd5de868c583102bd4c2bdea1
Author: paul <paul>
Date: Thu May 29 18:23:08 2008 +0000
[zebra/linux] Use BPF to filter out responses, to try avoid netlink overruns
2008-05-29 Stephen Hemminger <stephen.hemminger at vyatta.com>
* rt_netlink.c: (netlink_install_filter) BPF filter to catch and
drop responses to zebra's own route messages.
(kernel_init) add BPF filter on the netlink socket.
commit 7920889cfd2ecb3e2d3cf9c4e69748e79e835e38
Author: pilot <pilot>
Date: Thu Apr 10 11:53:33 2008 +0000
+ fix the set statement name
commit 76dc183651b95721cdba0e6652cb16289e2944d4
Author: pilot <pilot>
Date: Thu Apr 10 11:47:45 2008 +0000
+ [bgpd] Added new route-map set statement: "as-path ignore"
commit ac7a446d06688f8db705356f37be1ec5aee9486c
Author: paul <paul>
Date: Thu Mar 13 03:31:24 2008 +0000
[bgpd] remove unnecessary 0 entries from struct message's
2008-03-13 Paul Jakma <paul.jakma at sun.com>
* (various) Remove 0 entries from struct message's, unneeded due to
recent improvements in mes_lookup/LOOKUP.
commit c0d1a74a92ef1523ed1a49e964d4ec8d6cf51c2b
Author: paul <paul>
Date: Thu Mar 13 03:28:13 2008 +0000
[ripd] remove unnecessary 0 entries from struct message's
2008-03-13 Paul Jakma <paul.jakma at sun.com>
* ripd.c/rip_interface.c: Remove 0 entries from rip_msg
ri_version_msg struct message's, not needed with recent fixes
to mes_lookup.
commit 8bd8d860740dc0eefdc79d8ce26bb38cc780bc5c
Author: paul <paul>
Date: Thu Feb 28 23:26:02 2008 +0000
[lib] Fix the struct message LOOKUP function to be more robust
2008-02-28 Paul Jakma <paul.jakma at sun.com>
* log.c: (mes_lookup) Sowmini Varadhan diagnosed a problem where
this function can cause a NULL dereference, on lookups for unknown
indices, or messages with NULL strings. Can occur, e.g., debug
logging code when processing received messages. Fixed to accept a
pointer to a default string to be used if there is no match.
* log.h: LOOKUP adjusted to match
commit 3fd5ece7f5923e1722a29990a92afc60e27ecf07
Author: paul <paul>
Date: Thu Feb 28 00:09:04 2008 +0000
[lib/linklist] Enforce "nodes must have data" invariant more rigorously
2008-02-28 Paul Jakma <paul.jakma at sun.com>
* linklist.c: This implementation expects that the data pointer not
be null, e.g. listgetdata() asserts this. The list add methods
don't apply the same sanity check.
Noted by Jim Carlson in bug #437.
commit 3b98020d90eeb01eccf07b899585819ce7b6c8b1
Author: pilot <pilot>
Date: Tue Feb 26 14:02:24 2008 +0000
+ fix bug#326 by rib_lookup_and_pushup()
commit c38943974c6ddb8ba0ab15f61da65b08a9ecd091
Author: paul <paul>
Date: Tue Feb 26 09:16:09 2008 +0000
[c++] remove/rename some names in headers that clash with C++ reserved words
2008-01-30 Peter Szilagyi <sp615 at hszk.bme.hu>
* lib/stream.h: Remove named 'new' parameter in prototype
for c++ header compatibility.
* ospfd/ospf_opaque.h: ditto
* ospfd/ospfd.h: Renamed struct export to _export for c++
header compatibility.
* ospf6d/ospf6_area.h: ditto
commit 8bad3ecb08602a6aefcb5d191b4810c5a888522f
Author: paul <paul>
Date: Sat Feb 23 16:57:03 2008 +0000
[tests:bgp] Further tests for 0 sized as_path segments
2008-02-23 Paul Jakma <paul.jakma at sun.com>
* aspath_test.c: Test for 0-ASN sequences that still have data.
commit 28b1e7a8073abac7342f1df74cc9ca0c1c753269
Author: paul <paul>
Date: Tue Jan 29 19:29:44 2008 +0000
[isisd] Bug #437: fix ssert caused by bad list management
2008-01-29 James Carlson <james.d.carlson at sun.com>
* Fix bug #437, assert due to bogus index management
* isis_flags.c: (flags_initialize) new
* (flags_get_index) fix off by one, leading to list assert
on null node data.
(flags_free_index) ditto.
* isisd.c: (isis_area_create) use flags_initialize
(isis_area_destroy) deconfigure circuits when
taking down area.
commit 5f85b8539f7d2d8f510c6f03d65d1aede337b1c4
Author: paul <paul>
Date: Tue Jan 29 17:26:34 2008 +0000
[bgpd] fix crash on startup if compiled IPv4-only
2008-01-29 Jorge Boncompte <jorge at dti2.net>
* bgp_network.c: (bgp_socket) IPv4-only version crashes if -l is not
used as address will be null.
commit 5e33388bfae49d1404abea41e9e6699fddfa4252
Author: paul <paul>
Date: Sun Jan 13 18:52:15 2008 +0000
[solaris] add missing makefile.am dependency
2008-01-13 Paul Jakma <paul.jakma at sun.com>
* Makefile.am: pkg target should depend on the 'depend.%' files.
Crops up now that solaris/ doesn't get descended into by
general Quagga build.
commit 383e6e590e8d8571d926cf9594401e157085e3e8
Author: ajs <ajs>
Date: Fri Jan 11 16:33:59 2008 +0000
[link-detect] Improve BSD support.
2008-01-11 Ingo Flaschberger <if at xip.at>
* configure.ac: Improve HAVE_BSD_LINK_DETECT test.
commit 033305144d57b98416df160adf3f050cd7c20b35
Author: ajs <ajs>
Date: Fri Jan 11 15:57:13 2008 +0000
[link-detect] Improve BSD support.
2008-01-11 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* lib/zebra.h: Revert previous change, no need to include
<net/if_media.h> here.
* zebra/ioctl.c: If HAVE_BSD_LINK_DETECT is defined, include
<net/if_media.h>
(if_get_flags) Remove debug messages about BSD link state.
* zebra/kernel_socket.c: (bsd_linkdetect_translate) If link state
is unknown, we should set the IFF_RUNNING flag.
commit 1e70bfb680354e1ea007618851a16166d9397393
Author: ajs <ajs>
Date: Thu Jan 10 15:24:32 2008 +0000
[link-detect] Try to get BSD link-detect to work properly.
2008-01-10 Ingo Flaschberger <if at xip.at>
* configure.ac: Define HAVE_BSD_LINK_DETECT if <net/if_media.h> is
present.
* lib/zebra.h: If HAVE_BSD_LINK_DETECT is defined,
include <net/if_media.h>.
* zebra/ioctl.c: (if_get_flags) If HAVE_BSD_LINK_DETECT, use the
SIOCGIFMEDIA ioctl to ascertain link state.
* zebra/kernel_socket.c: (bsd_linkdetect_translate) New function to
map the ifm_data.ifi_link_state value into the IFF_RUNNING flag.
(ifm_read) Call bsd_linkdetect_translate to fix the IFF_RUNNING
flag before calling if_flags_update.
commit c31b318efc94a7e8df8f498bdd3703e8a87ba485
Author: ajs <ajs>
Date: Tue Jan 8 20:12:46 2008 +0000
[link-detect] Static interface routes should behave properly with link-detect.
2008-01-08 Michael Larson <mike at vyatta.com>
* zebra_rib.c: (nexthop_active_check) Replace if_is_up with
if_is_operative to solve problems with static interface
routes not behaving properly with link-detect.
commit 8dd8d2f5136af92abf9ad21eeaa8615299375971
Author: paul <paul>
Date: Tue Jan 8 13:50:11 2008 +0000
[lib] add mising UL qualifier to numerical constant
2008-01-08 Pavol Rusnak <prusnak at suse.cz>
* memory.c: (mtype_memstr) Fix accidental shift past width of type,
constant should have been forced to UL, rather than being left to
default to int.
commit 8355abdf5da8c2f0b264ef99a7d0c89e3065af69
Author: paul <paul>
Date: Sat Dec 22 16:49:52 2007 +0000
[bgpd] Fix number of DoS security issues, restricted to configured peers.
2007-12-22 Paul Jakma <paul.jakma at sun.com>
* Fix series of vulnerabilities reported by "Mu Security
Research Team", where bgpd can be made to crash by sending
malformed packets - requires that bgpd be configured with a
session to the peer.
* bgp_attr.c: (bgp_attr_as4_path) aspath_parse may fail, only
set the attribute flag indicating AS4_PATH if we actually managed
to parse one.
(bgp_attr_munge_as4_attrs) Assert was too general, it is possible
to receive AS4_AGGREGATOR before AGGREGATOR.
(bgp_attr_parse) Check that we have actually received the extra
byte of header for Extended-Length attributes.
* bgp_attr.h: Fix BGP_ATTR_MIN_LEN to account for the length byte.
* bgp_open.c: (cap_minsizes) Fix size of CAPABILITY_CODE_RESTART,
incorrect -2 left in place from a development version of as4-path
patch.
* bgp_packet.c: (bgp_route_refresh_receive) ORF length parameter
needs to be properly sanity checked.
* tests/bgp_capability_test.c: Test for empty capabilities.
commit cf67fbbea54dc8ccd3002e50f47bc14cba3068ae
Author: pilot <pilot>
Date: Tue Dec 18 15:13:06 2007 +0000
+ fixed no_set_aspath_prepend() to correctly match existing "set" statement
commit 2bceab82b5ccb05db536e3a5dda8e23980b5e07f
Author: paul <paul>
Date: Wed Nov 21 21:25:34 2007 +0000
[bgpd] Fix typo in previous commit to bgp_main.c
commit a3fb7552674afa663de20bb7e0af31f53e42f428
Author: paul <paul>
Date: Tue Nov 13 09:32:23 2007 +0000
[bgpd] small fix for crash if 'listenon' argument is not given
2007-11-13 Paul Jakma <paul.jakma at sun.com>
* bgp_main.c: Small fix, format string parameters should never
be NULL - it's not strictly valid and some libc's don't let
you away with.
commit b359e35f78c929071ed04d7f4d0b41f23c48e992
Author: pilot <pilot>
Date: Mon Nov 12 14:55:01 2007 +0000
+ fixed bug #418 (changing address on an existing interface doesn't cause existing static routes to be revalidated)
commit 024f3587fee751c4a95d8237087113bfeb10eab8
Author: paul <paul>
Date: Thu Nov 1 14:29:11 2007 +0000
2007-10-30 Nick Hilliard <nick at inex.ie>
* bgp_main.c: Add 'listenon' argument, to pass address to bind
to.
* bgp_network.c: (bgp_socket) Extend to take bind address.
* bgpd.c: (bgp_init) Pass stored address.
* bgpd.h: (struct bgp_master) storage for bind address
2007-11-01 Paul Jakma <paul.jakma at sun.com>
* tools/multiple-bgpd.sh: New, quick script to launch a bunch of
bgpds.
commit b4b69030ca3a25034613dab66eed4b91f2864bb8
Author: pilot <pilot>
Date: Wed Oct 24 13:13:21 2007 +0000
+ fix the bug reported by Milan Kocian (IPv6 route handling was broken by the RIB debug changeset).
after
commit 719fff6ccd5c13e888cf199b9e9f4756769437f8
Author: paul <paul>
Date: Mon Oct 22 18:34:41 2007 +0000
[ospf6d] Fix removal of defunct ASBR routes
2007-10-22 Phil Spagnolo <phillip.a.spagnolo at boeing.com>
* ospf6_asbr.c: (ospf6_asbr_lsentry_remove) Remove shortcut
of LSDB search - it's based on assumption non-BEST routes
can't have ASBR routes, which appears to be wrong. Safest to
search.
commit 1e758975b6029d986a3ee935488341e71c7a697b
Author: paul <paul>
Date: Mon Oct 22 15:53:17 2007 +0000
[snmp-smux] Fix problems if 'smux peer ...' is issued multiple times
2007-10-22 Lorenzo Colitti <lorenzo at colitti.com>
* smux.c: (smux_stop) Avoid cancelling a defunct thread pointer
(smux_start) Stop smux before trying to start it, possibly again.
commit 0f1fefc972c3fdd7f4623a41d887ade135b222b7
Author: paul <paul>
Date: Mon Oct 22 12:02:57 2007 +0000
[news] Fix top-line version
commit ec5b6b2fd5943231cc49fca4d1e9df6025ca3415
Author: paul <paul>
Date: Thu Oct 18 16:33:08 2007 +0000
[tests] Forgot to commit ecommunity_tests.c
commit c1d7668853803656d4565dc18003c7affb0ea398
Author: paul <paul>
Date: Sun Oct 14 22:32:21 2007 +0000
[bgpd] Merge AS4 support
2007-10-14 Paul Jakma <paul.jakma at sun.com>
* NEWS: Note that MRT dumps are now version 2
* (general) Merge in Juergen Kammer's AS4 patch.
2007-09-27 Paul Jakma <paul.jakma at sun.com>
* bgp_aspath.c: (assegment_normalise) remove duplicates from
from sets.
(aspath_reconcile_as4) disregard a broken part of the RFC around
error handling in path reconciliation.
* aspath_test.c: Test dupe-weeding from sets.
Test that reconciliation merges AS_PATH and AS4_PATH where
former is shorter than latter.
2007-09-26 Paul Jakma <paul.jakma at sun.com>
* aspath_test.c: Test AS4_PATH reconcilation where length
of AS_PATH and AS4_PATH is same.
2007-09-25 Paul Jakma <paul.jakma at sun.com>
* bgp_open.c: (peek_for_as4_capability) Fix to work.
* bgp_packet.c: (bgp_open_receive) Fix sanity check of as4.
* tests/bgp_capability_test.c: (general) Extend tests to validate
peek_for_as4_capability.
Add test of full OPEN Option block, with multiple capabilities,
both as a series of Option, and a single option.
Add some crap to beginning of stream, to prevent code depending
on getp == 0.
2007-09-18 Paul Jakma <paul.jakma at sun.com>
* bgp_open.c: (bgp_capability_as4) debug printf inline with others.
(peek_for_as4_capability) There's no need to signal failure, as
failure is better dealt with through full capability parser -
just return the AS4, simpler.
* bgp_packet.c: (bgp_open_receive) Update to match
peek_for_as4_capability change.
Allow use of BGP_AS_TRANS by 2b speakers.
Use NOTIFY_OPEN_ERR rather than CEASE for OPEN parsing errors.
(bgp_capability_msg_parse) missing argument to debug print
(bgp_capability_receive) missing return values.
* tests/bgp_capability_test.c: (parse_test) update for changes to
peek_for_as4_capability
2007-07-25 Paul Jakma <paul.jakma at sun.com>
* Remove 2-byte size macros, just make existing macros take
argument to indicate which size to use.
Adjust all users - typically they want '1'.
* bgp_aspath.c: (aspath_has_as4) New, return 1 if there are any
as4's in a path.
(aspath_put) Return the number of bytes actually written, to
fix the bug Juergen noted: Splitting of segments will change
the number of bytes written from that already written to the
AS_PATH header.
(aspath_snmp_pathseg) Pass 2-byte flag to aspath_put. SNMP
is still defined as 2b.
(aspath_aggregate) fix latent bug.
(aspath_reconcile_as4) AS_PATH+NEW_AS_PATH reconciliation
function.
(aspath_key_make) Hash the AS_PATH string, rather than
just taking the addition of assegment ASes as the hash value,
hopefully sligthly more collision resistant.
(bgp_attr_munge_as4_attrs) Collide the NEW_ attributes
together with the OLD 2-byte forms, code Juergen
had in bgp_attr_parse but re-organised a bit.
(bgp_attr_parse) Bunch of code from Juergen moves
to previous function.
(bgp_packet_attribute) Compact significantly by
just /always/ using extended-length attr header.
Fix bug Juergen noted, by using aspath_put's
(new) returned size value for the attr header rather
than the (guesstimate) of aspath_size() - the two could
differ when aspath_put had to split large segments, unlikely
this bug was ever hit in the 'wild'.
(bgp_dump_routes_attr) Always use extended-len and
use aspath_put return for header length. Output 4b ASN
for AS_PATH and AGGREGATOR.
* bgp_ecommunity.c: (ecommunity_{hash_make,cmp}) fix
hash callback declarations to match prototypes.
(ecommunity_gettoken) Updated for ECOMMUNITY_ENCODE_AS4,
complete rewrite of Juergen's changes (no asdot support)
* bgp_open.c: (bgp_capability_as4) New, does what it says
on the tin.
(peek_for_as4_capability) Rewritten to use streams and
bgp_capability_as4.
* bgp_packet.c: (bgp_open_send) minor edit
checked (in the abstract at least) with Juergen.
Changes are to be more accepting, e.g, allow AS_TRANS on
a 2-byte session.
* (general) Update all commands to use CMD_AS_RANGE.
* bgp_vty.c: (bgp_clear) Fix return vals to use CMD_..
Remove stuff replicated by VTY_GET_LONG
(bgp_clear_vty) Return bgp_clear directly to vty.
* tests/aspath_test.c: Exercise 32bit parsing. Test reconcile
function.
* tests/ecommunity_test.c: New, test AS4 ecommunity changes,
positive test only at this time, error cases not tested yet.
2007-07-25 Juergen Kammer <j.kammer at eurodata.de>
* (general) AS4 support.
* bgpd.h: as_t changes to 4-bytes.
* bgp_aspath.h: Add BGP_AS4_MAX and BGP_AS_TRANS defines.
* bgp_aspath.c: AS_VALUE_SIZE becomes 4-byte, AS16_VALUE_SIZE
added for 2-byte.
Add AS16 versions of length calc macros.
(aspath_count_numas) New, count number of ASes.
(aspath_has_as4) New, return 1 if there are any as4's in a
path.
(assegments_parse) Interpret assegment as 4 or 2 byte,
according to how the caller instructs us, with a new
argument.
(aspath_parse) Add use32bit argument to pass to
assegments_parse. Adjust all its callers to pass 1, unless
otherwise noted.
(assegment_data_put) Adjust to be able to write 2 or 4 byte
AS, according to new use32bit argument.
(aspath_put) Adjust to write 2 or 4.
(aspath_gettoken) Use a long for passed in asno.
* bgp_attr.c: (attr_str) Add BGP_ATTR_AS4_PATH and
BGP_ATTR_AS4_AGGREGATOR.
(bgp_attr_aspath) Call aspath_parse with right 2/4 arg, as
determined by received-capability flag.
(bgp_attr_aspath_check) New, code previously in attr_aspath
but moved to new func so it can be run after NEW_AS_PATH
reconciliation.
(bgp_attr_as4_path) New, handle NEW_AS_PATH.
(bgp_attr_aggregator) Adjust to cope with 2/4 byte ASes.
(bgp_attr_as4_aggregator) New, read NEW_AGGREGATOR.
(bgp_attr_parse) Add handoffs to previous parsers for the two
new AS4 NEW_ attributes.
Various checks added for NEW/OLD reconciliation.
(bgp_packet_attribute) Support 2/4 for AS_PATH and
AGGREGATOR, detect when NEW_ attrs need to be sent.
* bgp_debug.{c,h}: Add 'debug bgp as4'.
* bgp_dump.c: MRTv2 support, unconditionally enabled, which
supports AS4. Based on patches from Erik (RIPE?).
* bgp_ecommunity.c: (ecommunity_ecom2str) ECOMMUNITY_ENCODE_AS4
support.
* bgp_open.c: (peek_for_as4_capability) New, peek for AS4
capability prior to full capability parsing, so we know which
ASN to use for struct peer lookup.
(bgp_open_capability) Always send AS4 capability.
* bgp_packet.c: (bgp_open_send) AS4 handling for AS field
(bgp_open_receive) Peek for AS4 capability first, and figure
out which AS to believe.
* bgp_vty.c: (bgp_show_peer) Print AS4 cap
* tests/aspath_test.c: Support asn32 changes, call aspath_parse
with 16 bit.
* vtysh/extract.pl: AS4 compatibility for router bgp ASNUMBER
* vtysh/extract.pl.in: AS4 compatibility for router bgp ASNUMBER
* vtysh/vtysh.c: AS4 compatibility for router bgp ASNUMBER
commit ec99aa17ed4a6f0fa1197ebe451ce08163dc77de
Author: pilot <pilot>
Date: Thu Oct 4 15:09:19 2007 +0000
+ pidfiles are now always created with 0644 perms instead if LOGFILE_MASK (0600)
commit 62fa1121673046a05cfbea5f96078f157a470438
Author: pilot <pilot>
Date: Thu Oct 4 10:49:21 2007 +0000
+ rib_process() speedup for multi-nexthop route nodes
commit 932a9c104add252b9bb13bfcb460e8358efa252c
Author: pilot <pilot>
Date: Wed Oct 3 12:27:16 2007 +0000
+ Minor bugfix: IPv6 prefixes were logged incorrectly in RIB debugging calls. Fixed.
commit bddddc2528dd175feacd14f763b5a887e717d00d
Author: paul <paul>
Date: Tue Sep 18 18:07:18 2007 +0000
[privs/Solaris] Quagga should work in zones with IP instances
2007-09-18 Paul Jakma <paul.jakma at sun.com>
* privs.c: definition of ZCAP_NET_ADMIN on Solaris should
be PRIV_SYS_IP_CONFIG, when that's available. Thus allowing
Quagga to work with in Solaris zones with exclusive IP
instances.
commit 8fc395c49ca24ac6a700f3b44f4a094874fefb0b
Author: paul <paul>
Date: Tue Sep 18 12:11:26 2007 +0000
[bgpd] Fix typo, which prevented advertisement of MP (non-IPv4) prefixes
2007-09-17 Paul Jakma <paul.jakma at sun.com>
* bgp_open.c: (bgp_capability_mp) We were setting
afc_nego[safi][safi] rather than afc_nego[afi][safi], thus
failling to announce any non-IPv4 prefixes. Remove the extra,
typo-ed character.
* bgp_capability_test.c: Test that peer's adv_recv and adv_nego get
set correctly for MP capability and given AFI/SAFI.
Colour OK/failed result so it's easier to find them.
commit 3d144689daca77af8068fdd8cc665dbfedb9d2dc
Author: pilot <pilot>
Date: Tue Sep 18 09:03:13 2007 +0000
+ fix missing arg to zlog_warn()
commit bf29e7c38f97f9dee7aeb30b8f3ada4c87ee941d
Author: pilot <pilot>
Date: Tue Sep 18 09:01:13 2007 +0000
+ fix minor regression in OSPF sending buffer adjustment logic
commit d3c31e99d04a740b1ec3077f48c5abb075634e6b
Author: pilot <pilot>
Date: Fri Sep 14 14:56:28 2007 +0000
+ sayonara old_pid!
commit c3273834bc2fc09d74212a0a5723cf1808b58204
Author: pilot <pilot>
Date: Fri Sep 14 13:31:52 2007 +0000
+ fixed bug #402: now the second zebra process doesn't destroy routes
of the first one before dying
+ we are not going to receive routing messages originated by old_pid,
because rib_sweep_route() is called after damon() now. This will allow
to drop old_pid completely soon.
commit 2308b7bc49a0b57738de4dc34a6460f1576e4022
Author: pilot <pilot>
Date: Fri Sep 14 11:31:55 2007 +0000
Switch from LOOKUP() to lookup() for rtm_type (see bug #401 for details).
commit ae1d12b680a39bc249250115e1dea8f6c223cf54
Author: pilot <pilot>
Date: Wed Sep 12 15:24:27 2007 +0000
* rt_socket.c: (kernel_rtm_ipv4) prefix_buf could be passed
to zlog_err() uninitialized with debug disabled. Fixed.
commit 9710867ce3fcddaab7dc4c66b4ecd8ee768fe957
Author: paul <paul>
Date: Fri Sep 7 16:54:01 2007 +0000
[release] bump to 0.99.9
2007-09-07 Paul Jakma <paul.jakma at sun.com>
* configure.ac: Bump version to 0.99.9
commit 376ebca1a54b124c33c202fbea65bc4c63f523c0
Author: paul <paul>
Date: Fri Sep 7 14:24:55 2007 +0000
[bgpd] low-impact DoS: crash on malformed community with debug set
2007-09-07 Paul Jakma <paul.jakma at sun.com>
* (general) bgpd can be made crash by remote peers if debug
bgp updates is set, due to NULL pointer dereference.
Reported by "Mu Security Research Team",
<security at musecurity.com>.
* bgp_attr.c: (bgp_attr_community) If community length is 0,
don't set the community-present attribute bit, just return
early.
* bgp_debug.c: (community_str,community_com2str) Check com
pointer before dereferencing.
commit 241ca25d0d512a0cf71908ea0759fc71a57eb7a2
Author: pilot <pilot>
Date: Thu Sep 6 14:34:41 2007 +0000
+ fixed bug #400: adjusted rtread_sysctl.c:route_read()
commit 487be1bab641b49f18e0be0bc3d628830fb898df
Author: paul <paul>
Date: Thu Aug 30 13:36:17 2007 +0000
[bgpd] bug #398 Bogus free on out route-map, and assert() with rsclients
2007-08-27 Paul Jakma <paul.jakma at sun.com>
* bgp_route.c: (bgp_announce_check) Fix bug #398, slight
modification of Vladimir Ivanov's suggested fix - to keep
memory alloc conditional.
(bgp_process_announce_selected) Don't take struct attr as
argument, none of the callers need it and it needlessly
distances allocation from use.
Free the extended attr, the attr itself is on the stack.
Fix bad indentation.
* bgp_attr.c: (bgp_packet_attribute) Remove incorrect assert,
and adjust conditional to test attr->extra, diagnosis by
Vladimir Ivanov in bug #398.
2007-08-27 Vladimir Ivanov <wawa at yandex-team.ru>
* bgp_route.c: (bgp_announce_check_rsclient) copy of
ri->attr is no longer deep enough, due to addition of
attr->extra. It should use bgp_attr_dup, as
bgp_announce_check() does.
commit 12565c4db8f1f8ff50da36cd5063b62c7f39c805
Author: paul <paul>
Date: Thu Aug 23 23:22:02 2007 +0000
[bgpd] Pass NOSUB to regexec
2007-08-23 Paul Jakma <paul.jakma at sun.com>
* bgp_regex.c: (bgp_regcomp) Pass NOSUB flag to regcomp to
prevent parsing of substitutions, which can have profound
performance effects on bgpd and are of no use to the CLI
anyway. How much it helps depends on the regex
implementation.
commit 145d7ef8b69cccb5c415da16962c261c7a501613
Author: pilot <pilot>
Date: Tue Aug 21 16:32:56 2007 +0000
Bug #362 is fixed now.
commit 3bf3a9903982084a4b56488866719371947bd51d
Author: pilot <pilot>
Date: Tue Aug 21 16:15:39 2007 +0000
Looks like bug #320 is finally fixed now.
commit 6770d6fe71b33d65e255c2843ec6a3cc59a5f90f
Author: pilot <pilot>
Date: Tue Aug 21 16:12:40 2007 +0000
Fixed ioctl_solaris.c:if_get_mtu() for IPv6'less operation
commit a0536cff38cea9c67343f5e91ca0a00a8f35559a
Author: pilot <pilot>
Date: Fri Aug 17 14:16:30 2007 +0000
Fixed bug #394 "RTF_DONE is ignored in rtm_read()"
commit 6113aee5c6bd635ff0869d29af2981bde26235c7
Author: pilot <pilot>
Date: Tue Aug 14 09:46:48 2007 +0000
Merged own patch for bug #390 (rewrite zebra/zebra_rib.c:nexthop_active_update())
commit cd7af8958b703dde9f75d8ded37106d420d37c7b
Author: pilot <pilot>
Date: Mon Aug 13 16:03:06 2007 +0000
Merged own patch for the bug #391 (debugging and comments mostly).
commit 367abfb60028ca3af5d951d1e4362c919ee97005
Author: vize <vize>
Date: Fri Aug 10 06:25:20 2007 +0000
Use the proper field length for the peer's address (netlink_interface_addr)
commit 63eb3054ca69e9e31da81d3f74771ca1568a4abb
Author: paul <paul>
Date: Wed Aug 8 14:13:03 2007 +0000
[tests] Add bgp_capability_test.c, should have been part of earlier commit
commit 8e4db03e4318527e119e2f117585a66c37793bf1
Author: paul <paul>
Date: Wed Aug 8 11:19:27 2007 +0000
[isisd] Commit new files which should have been part of previous commit..
commit 2d192a330b41f105157945fde45d1f2a6cfd0b9e
Author: paul <paul>
Date: Tue Aug 7 18:49:18 2007 +0000
[isisd] Add support for Solaris DLPI
2007-08-07 James Carlson <james.d.carlson at sun.com>
* configure.ac: Added support for separate link-layer access
mechanisms in isisd.
* isis_network.c: split up into isis_bpf.c, isis_dlpi.c, and
isis_pfpacket.c, selected by autoconf, and added DLPI support.
* (general) Fixed to allow compilation and use on Solaris.
commit 420692ec70367ad8d2429ecf3bcab7843863ec49
Author: paul <paul>
Date: Tue Aug 7 16:22:05 2007 +0000
[ospfd] Finish explanatory comment started in previous commit..
2007-08-07 Paul Jakma <paul.jakma at sun.com>
* ospf_spf.c: (ospf_spf_next) Finish off the explanatory
comment made in previous commit
commit 9dc5038492d1608fbb0601ccde443c3d2d045988
Author: paul <paul>
Date: Mon Aug 6 19:25:11 2007 +0000
[zebra] Add extra debug logging for RIB and RIB queueing
2007-08-06 Denis Ovsienko
* zebra_rib.c: (general) Add extra debug logging for RIB and
RIB queue.
commit 610c53c8ef123d256f62bbe472a33908b7726eba
Author: paul <paul>
Date: Mon Aug 6 18:52:45 2007 +0000
[ospfd] Fix bad SPF calculation on some topologies - incorrect sorting
2007-08-07 Atis Elsts <atis at mikrotik.com>
* ospf_spf.c: (ospf_spf_next) Sort heap in correct direction
after vertex cost is changed, thus fixing incorrect SPF
calculation on certain topologies.
* lib/pqueue.{c,h}: Export trickle_up
commit 1f3d9fc78b550c2bb80f9febe3cf5acb93623f1d
Author: gdt <gdt>
Date: Mon Aug 6 15:50:20 2007 +0000
Fix last commit - add back in closing paren which was apparently
uninentionally deleted along with a test.
commit 29999a2f6a8b47191ad61fff1f36d2e37f9becc5
Author: paul <paul>
Date: Mon Aug 6 15:27:12 2007 +0000
[ospfd] Bug #331, NSSA ASBR regression - failure to set E-bit in NSSA areas
2007-08-06 Paul Jakma <paul.jakma at sun.com>
* ospf_lsa.c: (router_lsa_flags) Bug #331, NSSA regression caused
caused ASBRs to not advertise E-bit into NSSA areas.
commit cecab5e9725792e60a5e4b473e238a14cd85815d
Author: paul <paul>
Date: Mon Aug 6 15:24:51 2007 +0000
[bgpd] Add support for AS_PATHLIMIT / draft-ietf-idr-as-pathlimit
2007-07-31 Paul Jakma <paul.jakma at sun.com>
* (general) Support for draft-ietf-idr-as-pathlimit-03.
* bgp_attr.h: (struct attr) Add pathlimit struct
bgp_attr.c: (attr_str) Add BGP_ATTR_AS_PATHLIMIT string.
(attrhash_key_make) tally pathlimit too
(attrhash_cmp) cmp pathlimit attr
(bgp_attr_aspathlimit) New, parse AS_PATHLIMIT attr.
(bgp_attr_parse) ditto
(bgp_packet_attribute) Write out AS_PATHLIMIT when set
(bgp_dump_routes_attr) ditto
* bgp_route.h: (struct bgp_static) Add TTL field
* bgp_route.c: (bgp_announce_check) Drop paths that are over
their hop-count TTL before sending via EBGP.
Mangle ASN in pathlimit for confeds/private as best we can.
(bgp_static_update_{rsclient,main}) Add any configure pathlimit
information.
(bgp_pathlimit_update_parents) New, update atomic-aggr setting for
parents of an aspathlimit'ed static.
(bgp_static_set) Add TTL argument, for all the 'bgp network'
commands.
Call previous for TTL changed statics.
(bgp_static_unset) Call pathlimit_update_parents.
(various bgp network commands) Add 'pathlimit <0-255>' qualifier
to all the various forms, bar route-map - which can set ttl
itself.
* bgp_routemap.c: (general) Add support for 'set pathlimit ttl' and
'match pathlimit as'.
* doc/bgpd.texi: Document 'network ... pathlimit <ttl>'
commit b20d0bbe698d94c28b1c5f34bea8f48ea3c27192
Author: paul <paul>
Date: Mon Aug 6 15:21:45 2007 +0000
[bgpd] cleanup, compact and consolidate capability parsing code
2007-07-26 Paul Jakma <paul.jakma at sun.com>
* (general) Clean up and compact capability parsing slightly.
Consolidate validation of length and logging of generic TLV, and
memcpy of capability data, thus removing such from cap specifc
code (not always present or correct).
* bgp_open.h: Add structures for the generic capability TLV header
and for the data formats of the various specific capabilities we
support. Hence remove the badly named, or else misdefined, struct
capability.
* bgp_open.c: (bgp_capability_vty_out) Use struct capability_mp_data.
Do the length checks *before* memcpy()'ing based on that length
(stored capability - should have been validated anyway on input,
but..).
(bgp_afi_safi_valid_indices) new function to validate (afi,safi)
which is about to be used as index into arrays, consolidates
several instances of same, at least one of which appeared to be
incomplete..
(bgp_capability_mp) Much condensed.
(bgp_capability_orf_entry) New, process one ORF entry
(bgp_capability_orf) Condensed. Fixed to process all ORF entries.
(bgp_capability_restart) Condensed, and fixed to use a
cap-specific type, rather than abusing capability_mp.
(struct message capcode_str) added to aid generic logging.
(size_t cap_minsizes[]) added to aid generic validation of
capability length field.
(bgp_capability_parse) Generic logging and validation of TLV
consolidated here. Code compacted as much as possible.
* bgp_packet.c: (bgp_open_receive) Capability parsers now use
streams, so no more need here to manually fudge the input stream
getp.
(bgp_capability_msg_parse) use struct capability_mp_data. Validate
lengths /before/ memcpy. Use bgp_afi_safi_valid_indices.
(bgp_capability_receive) Exported for use by test harness.
* bgp_vty.c: (bgp_show_summary) fix conversion warning
(bgp_show_peer) ditto
* bgp_debug.h: Fix storage 'extern' after type 'const'.
* lib/log.c: (mes_lookup) warning about code not being in
same-number array slot should be debug, not warning. E.g. BGP
has several discontigious number spaces, allocating from
different parts of a space is not uncommon (e.g. IANA
assigned versus vendor-assigned code points in some number
space).
commit dff6177e7d40fbd9b770c0d47e9f67c8068fa99d
Author: gdt <gdt>
Date: Thu Aug 2 14:13:56 2007 +0000
Add comment questioning part of previous change (Denis?).
Fix indentation to match accumulated changes.
commit 876b693ee548b21dafebb3120932a6944fcdd163
Author: gdt <gdt>
Date: Thu Aug 2 14:07:07 2007 +0000
Bugzilla #384.
2007-08-02 Denis Ovsienko
* rt_socket.c (kernel_rtm_ipv4): Only call rtm_write when changes
are intended. Don't set FIB flag on failed additions (such as
occur with multiple paths.
http://bugzilla.quagga.net/attachment.cgi?id=235&action=view
commit 6cda37430f289c59833b299f4f059b837ca280e3
Author: gdt <gdt>
Date: Thu Aug 2 13:38:38 2007 +0000
disable gmake workaround now that solaris directory is not built by
default
commit 7df06c1480f8faf1d9e4b10166b636aacf7026c1
Author: gdt <gdt>
Date: Thu Aug 2 13:37:30 2007 +0000
note the use of GNU make extensions.
commit 73232ea6ecd5687582129cb55f2743a468616505
Author: gdt <gdt>
Date: Thu Aug 2 13:36:56 2007 +0000
Add --enable-solaris to descend into solaris-specific build directory.
While it doesn't take a long time to build, this is currently the only
thing in the tree that doesn't work with BSD make, and there's no
reason to build solaris package control files on other systems.
commit 8fbf32d1065e964bbc76d2f26ebb7a893e1559a6
Author: gdt <gdt>
Date: Thu Aug 2 13:23:57 2007 +0000
workaround buggy solaris/Makefile.am which requires GNU make.
commit fae996b95097d86eb214246f18a7f37055941d88
Author: paul <paul>
Date: Tue Jul 31 17:35:36 2007 +0000
[bgpd] Dont schedule dumps multiple times for same command
2007-07-31 Lorenzo Colitti <lorenzo at colitti.com>
* bgp_dump.c: (general) Add comments to code.
(bgp_dump_interval_add) remove some redundant lines.
(bgp_dump_set) Use enum for type argument.
Avoid scheduling dump twice if exact same command
is given twice..
commit 2df0f3ece56219618c2683b059f7fd537ddbd2cf
Author: paul <paul>
Date: Fri Jul 27 16:48:55 2007 +0000
2007-07-27 Paul Jakma <paul.jakma at sun.com>
* configure.ac: Bump version to 0.99.8
commit eae24b1a5af33cb94bc8d273014c8a95aeed1145
Author: ajs <ajs>
Date: Fri Jul 6 17:00:24 2007 +0000
[lib] Add comments regarding setsockopt_multicast_ipv4 arguments.
2007-07-06 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* sockopt.{c,h}: (setsockopt_multicast_ipv4) Add some comments about
the arguments.
commit d2709b9e648e55d0f33ee33d5d4ac2dc5fe40b6b
Author: paul <paul>
Date: Wed Jun 27 11:12:38 2007 +0000
[zebra] rib loop check for RIB_ENTRY_REMOVED checks wrong var
2007-06-25 Denis Ovsienko
* zebra_rib.c: (rib_add_ipv4_multipath) Loop through RIB
is using 'same' variable, but RIB_ENTRY_REMOVED check
is testing the constant 'rib' variable, fix. Impact
unknown at this point.
commit 122bc5d4276b933123c40827a696223ae3a39e9e
Author: hasso <hasso>
Date: Mon Jun 25 19:30:59 2007 +0000
2007-06-25 Hasso Tepper <hasso at quagga.net>
* configure.ac: Fix typo so it compiles again on BSD systems.
commit 8206c1372374edb69a56385b57d55e2dbf810225
Author: paul <paul>
Date: Fri Jun 22 19:11:14 2007 +0000
[bgpd] bug #368: Fix possible loop between peers going Idle<->OpenSent
2007-06-22 Paul Jakma <paul.jakma at sun.com>
* bgp_fsm.c: (struct FSM) Bug #368. TCP Errors during OpenSent
should cycle to Active, not to Idle or else peer bringup can
race and cycle Idle<->Active. Reported and fix tested by
Mukesh Agrawal.
commit c61376a3ecb45df549309357b8ddb2006259f7de
Author: paul <paul>
Date: Fri Jun 22 16:14:42 2007 +0000
[build] configure needs to check for struct icmphdr for IRDP
2007-06-22 Paul Jakma <paul.jakma at sun.com>
* configure.ac: IRDP also depends on struct icmphdr, enabling
only on in_pktinfo breaks when an OS acquires pktinfo, as
Solaris NV has. Reported by Jim Carlson.
commit 2fab1afcdcb0f729ee35eeb6de78c5c8305e143f
Author: paul <paul>
Date: Wed Jun 20 15:22:14 2007 +0000
[vtysh] bug #371: vtysh forgets to print 'end' for write-terminal
2007-06-20 Nicolas Deffayet <nicolas at deffayet.com>
* vtysh.c: (vtysh_write_terminal) Write 'end' when done,
to be consistent with telnet vty, and expected by tools
like rancid.
commit cc805779aaa2e0d3599b87aa6ad572911f5a0968
Author: paul <paul>
Date: Thu Jun 14 11:17:58 2007 +0000
[bgpd] bug #370, default-originate was broken by a silly thinko
2007-05-25 Paul Jakma <paul.jakma at sun.com>
* bgp_route.c: (bgp_default_originate) Sanity check added
previously was broken and always failed, thus this function
never could run, bug #370.
commit f3a941ac36c30a2c2e853f4f41e25f4c615c00d5
Author: ajs <ajs>
Date: Thu Jun 7 13:11:58 2007 +0000
[ospf6d] Fix silly bug: muse use strcmp to compare strings
2007-06-07 Pavol Rusnak <prusnak at suse.cz>
* ospf6_lsa.c: (no_debug_ospf6_lsa_hex_cmd) Fix bug: must use strcmp
to compare strings.
commit 7faa2b1518cb0ea9566e683a8ab315d2adb7652c
Author: ajs <ajs>
Date: Fri Jun 1 13:21:20 2007 +0000
[linux] Fix strange compilation problem by explicitly including <linux/types.h>
2007-06-01 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* zebra.h: On linux, we seem to need to include <linux/types.h> before
<sys/sysctl.h>, otherwise we get isisd compilation errors about
__be16 not being defined.
commit a84ac5f61e153dcb5703589324fd252ecf57827c
Author: ajs <ajs>
Date: Wed May 30 20:10:34 2007 +0000
[zebra] Trivial patches so we can compile when IPv6 is not enabled
2007-05-30 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* zebra_routemap.c: (route_set_src_compile) Use '#ifdef HAVE_IPV6'
as needed.
* zebra_vty.c: (vty_show_ip_route_detail, vty_show_ip_route) Use
'#ifdef HAVE_IPV6' as needed.
(show_ip_protocol) Move function definition outside of
'#ifdef HAVE_IPV6' section.
commit 15f92dc4cd5c5b433dc530901409c7f9a4863759
Author: ajs <ajs>
Date: Thu May 17 15:00:41 2007 +0000
[PtP] Fix BSD problems with PtP interfaces: must treat RTA_BRD as peer address
2007-05-17 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* kernel_socket.c: (ifam_read_mesg) Grab RTA_DST and RTA_GATEWAY
addresses from the message (if present, which seems unlikely on
current BSD platforms), and show them in the debug messages.
Also, add ifam_flags to the debug messages.
(ifam_read) If the interface is point-to-point, then the RTA_BRD
address should be treated as a peer address.
commit 76df3043e6b4e4a4f6c8f1a56cabd0fc5ef04350
Author: paul <paul>
Date: Thu May 10 17:05:16 2007 +0000
[autoconf] Fix missing space character in previous commit
commit 89510b0a476de0c12de5d91a5605d127bd8989e2
Author: paul <paul>
Date: Thu May 10 16:53:04 2007 +0000
[autoconf] GNU_SOURCE can be defined twice, through AC_FUNC_STRNLEN
2007-05-10 Paul Jakma <paul.jakma at sun.com>
* configure.ac: Use AC_GNU_SOURCE to define _GNU_SOURCE, rather
than having lib/zebra.h do it.
AC_FUNC_STRNLEN has side-effects with latest autoconf, use
AC_CHECK_FUNC on strnlen instead.
* lib/zebra.h: Don't try define _GNU_SOURCE, autoconf should do it.
commit 3634f82a121d9ff9bf14bcd585e71c7082e472d2
Author: paul <paul>
Date: Thu May 10 16:52:26 2007 +0000
[autoconf] add back check for inet_aton
2007-05-10 Paul Jakma <paul.jakma at sun.com>
* configure.ac: Add back check for inet_aton, which got dropped
somehow in previous jumbo patch.
commit 976e6a498f2457b559e40d7eebf45e551694f077
Author: paul <paul>
Date: Thu May 10 03:00:09 2007 +0000
[ospfd] Fix address qualified 'ip ospf auth' commands
2007-05-09 Milan Kocian <milon at wq.cz>
* ospf_vty.c: Fix commands: 'ip ospf authentication A.B.C.D',
'no ip ospf authentication A.B.C.D', 'no ip ospf
authentication-key A.B.C.D'. Simply fix argv's indexes and
argc check in DEFUN functions.
commit 66afda8a04f8fe0a64a4b4a5a94348b65f561885
Author: paul <paul>
Date: Thu May 10 02:38:51 2007 +0000
[autoconf] bugs 162,303,178: Fix 'present but can not be compiled' warnings
2007-05-09 Paul Jakma <paul.jakma at sun.com>
* configure.ac: sys/conf.h depends on sys/param.h, at least on
FBSD 6.2.
(bug #363) Should check for in_pktinfo for IRDP
2006-05-27 Paul Jakma <paul.jakma at sun.com>
* configure.ac: General cleanup of header and type checks, introducing
an internal define, QUAGGA_INCLUDES, to build up a list of
stuff to include so as to avoid 'present but cant be compiled'
warnings.
Misc additional checks of things missing according to autoscan.
Add LIBM, for bgpd's use of libm, so as to avoid burdening
LIBS, and all the binaries, with libm linkage.
Remove the bad practice of using m4 changequote(), just
quote the []'s in the case statements properly.
This should fix bugs 162, 303 and 178.
* */*.{c,h}: Update all HAVE_* to the standard autoconf namespaced
HAVE_* defines. I.e. HAVE_SA_LEN -> HAVE_STRUCT_SOCKADDR_SA_LEN,
* bgpd/Makefile.am: Add LIBM to bgpd's LDADD, for pow().
commit e352b56272789f2afe9c0ab2f066935431282389
Author: paul <paul>
Date: Mon May 7 16:38:35 2007 +0000
[ospfd] Bug #330 regression: Fix ospf_spf_add_parent assert
2007-05-07 Paul Jakma <paul.jakma at sun.com>
* ospf_spf.c: (ospf_vertex_new) Dont init vertices to infinity,
just let 0 be a special case.
(ospf_spf_add_parent) 0 distance candidate vertex is special,
cost still to be initialised - asserting that new distance
is <= existing only makes sense where w already has a cost.
(ospf_spf_next) Infinite cost links should not be followed,
bar those of the root.
commit 932cb1fbf80f1cc620c472dd6188c44b721a7416
Author: paul <paul>
Date: Fri May 4 20:15:47 2007 +0000
[bgpd] Trim memory usage of BGP routes
2007-05-03 Paul Jakma <paul.jakma at sun.com>
* bgp_route.h: (struct info) Move less frequently used
fields to a lazily allocated struct info_extra.
Export bgp_info_extra_get
* bgp_route.c: (bgp_info_extra_new) allocate extra
(bgp_info_extra_free) Free damp info and the info_extra.
(bgp_info_extra_get) Retrieve the info_extra of a struct
info, allocating as required.
(generally) adjust to use info->extra
* bgp_damp.c: (generally) use bgp_info_extra_get to access
dampinfo
* bgp_attr.h: Move rarely allocated attributes from struct attr
to a struct attr_extra, for a substantial saving in size of
struct attr.
* bgp_attr.c: (bgp_attr_extra_{new,free}), new, self-explanatory.
(bgp_attr_extra_get) Get the attr_extra for a given struct
attr, allocating it if needs be.
(bgp_attr_dup) Shallow copy the struct attr and its attr_extra.
(generally) adjust to know about attr->extra.
* bgp_debug.c: (bgp_dump_attr) ditto
* bgp_vty.c: (show_bgp_memory) print attr and info extra sizes.
* bgp_nexthop.c: (generally) adjust to know about attr->extra
and info->extra.
* bgp_{packet,routemap,snmp,zebra}.c: ditto
* lib/memtypes.c: Add MTYPE_ATTR_EXTRA and MTYPE_BGP_ROUTE_EXTRA
commit 439093ecf05d6df2b51d0534114a07e9a93b7b5b
Author: paul <paul>
Date: Fri May 4 20:13:20 2007 +0000
[zebra] Add zebra_routemap.c
* zebra_routemap.c should have been in the commit of Steven's
routemap patch.
commit fb6ce7ca5dfee02536e32ec5c76be7ae8737cb4e
Author: paul <paul>
Date: Wed May 2 16:05:35 2007 +0000
[zebra] Routemap support on received routes, with 'set src' command (linux)
2007-05-01 David L Stevens <dlstevens at us.ibm.com>
* (general) These changes collectively add route-map and
prefix-list support to zebra and fix a bug in "show
route-map" (with no argument).
* doc/main.texi: added route-map, prefix-list, ip protocol
and set src documentation
* lib/command.h: added PROTOCOL_NODE type
* lib/log.c: (proto_name2num) new function, protocol name to
number translation.
* lib/routemap.c: (vty_show_route_map) fixed "show route-map"
without route-map name
* lib/routemap.h: added RMAP_ZEBRA type
* lib/zebra.h: added proto_name2num() prototype
* vtysh/extract.pl.in: added VTYSH_ZEBRA flag for route-map and
plist
* vtysh/Makefile.am: added zebra_routemap.c
* vtysh/vtysh.h: added VTYSH_ZEBRA flag to VTYSH_RMAP
* zebra/connected.c: (connected_up_ipv4) added src preference argument
to rib_add_ipv4()
* zebra/kernel_socket.c: (rtm_read) ditto
* zebra/main.c: added prefix list initialization
* zebra/Makefile.am: added zebra_routemap.c source file
* zebra/rib.h: added generic address union "g_addr" and use in
existing places that had an explicit union.
Added "src" to struct nexthop.
Added preferred src arg to nexthop_ipv4_add and rib_add_ipv4.
* zebra/rt_netlink.c: (netlink_routing_table) set preferred source on
netlink messages.
(netlink_route_change) ditto
(netlink_route_multipath) ditto.
* zebra/rtread_getmsg.c: (handle_route_entry) added (NULL) src to
rib_add_ipv4() call.
* zebra/rtread_proc.c: (proc_route_read) ditto
* zebra/zebra_rib.c: (nexthop_ipv4_add) add src argument.
(nexthop_ipv4_ifindex_add) ditto
(rib_add_ipv4) ditto
(nexthop_active_check) Add route-map processing.
* zebra/zebra_routemap.c: new file for zebra route-map commands.
* zebra/zebra_vty.c: (ip_protocol_cmd) Apply route-map to protocol
(vty_show_ip_route_detail) added "src" printing
(vty_show_ip_route) ditto
(show_ip_protocol_cmd) new command, list routemaps.
(config_write_protocol) write out routemap protocl config.
(zebra_vty_init) Install the new routemap protocol commands.
* zebra/zserv.c: (zread_ipv4_add) added (NULL) src arg
(zebra_init) init zebra route-maps.
* zebra/zserv.h: add zebra_route_map_init
commit c69790c5465dc87f6c9e136328158c87a111bf2a
Author: ajs <ajs>
Date: Mon Apr 30 19:14:08 2007 +0000
[build] Improve portability by invoking gcc with -std=gnu99 instead of -std=c99
2007-04-30 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* configure.ac: Change gcc CFLAGS from '-std=c99' to '-std=gnu99'
to improve portability.
commit 9eee1cadf2cc2f49d43177259ae30458c5f58ef4
Author: ajs <ajs>
Date: Mon Apr 30 16:52:05 2007 +0000
[ospfd] network command now behaves more logically when a peer prefix is defined
2007-04-30 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ospfd/ospfd.c: (ospf_network_match_iface) Comment out
COMPATIBILITY_MODE. Going forward, the ospf "network" command
will use a simple test: does the network command prefix
contain the connected (destination) prefix of the interface?
* doc/ospfd.texi: Add a paragraph to the description of the OSPFv2
network command to explain how we handle interfaces with
peer addresses.
commit c96d9379e0973589482cb130bdea7aa8ad1eaabf
Author: paul <paul>
Date: Sun Apr 29 20:13:35 2007 +0000
[0.99] Version bump to 0.99.7
2007-04-29 Paul Jakma <paul.jakma at sun.com>
* configure.ac: Bump to 0.99.7
commit b8c9ca468e536fc8f3ca0f528a5eccbd0efc229d
Author: paul <paul>
Date: Sun Apr 29 18:31:07 2007 +0000
[bgpd] Use defines for default weight
2007-04-22 Sebastien Tandel <sebastien at tandel.be>
* bgp_attr.h : Definition of BGP_ATTR_DEFAULT_WEIGHT.
* bgp_attr.c : (bgp_attr_default_intern) now uses
bgp_attr_default_set instead of duplicating the same code.
(general) Use of BGP_ATTR_DEFAULT_WEIGHT. Replace two 16 by
IPV6_MAX_BYTELEN.
commit ecc21b46cd3bc078777eb387b61b8ec929cad220
Author: paul <paul>
Date: Sun Apr 29 18:25:17 2007 +0000
[bgpd] Fix warnings: hash callbacks should match hash API declarations
2007-04-22 Sebastien Tandel <sebastien at tandel.be>
* bgp_advertise.c : (baa_hash_alloc, baa_hash_key, baa_hash_cmp)
conforms to quagga hash API. Defines _hash_[alloc|key|cmp] with
void * arguments as defined by the API.
* bgp_aspath.c,h : (aspath_key_make) conforms to quagga hash API.
Defines _hash_[alloc|key|cmp] with void * arguments as defined by
the API.
* bgp_attr.c,h : (cluster_hash_alloc, cluster_hash_key_make,
cluster_hash_cmp, transit_hash_alloc, transit_hash_key_make,
transit_hash_cmp, attrhash_key_make, attrhash_cmp,
bgp_attr_hash_alloc) conforms to quagga hash API. Defines
_hash_[alloc|key|cmp] with void * arguments as defined by the API.
commit 86b06c86337b7d4fa8f6686ede7d2aebb32891e9
Author: paul <paul>
Date: Sun Apr 29 17:32:08 2007 +0000
[zebra/solaris] fix if_get_index passing wrong arg to lifreq_set_name
2007-04-29 Paul Jakma <paul.jakma at sun.com>
* if_ioctl_solaris.c: (if_get_index) Fix bogus argument passed
to lifreq_set_name().
commit 2997ba49ce6e80bf3ab8bd8836b57a89469c0ddf
Author: paul <paul>
Date: Sun Apr 29 16:50:46 2007 +0000
[zebra] Fix merge error in previous solaris changeset
2007-04-29 Paul Jakma <paul.jakma at sun.com>
* ioctl{_solaris,}.c: (if_get_mtu) Fix missing ; in last commit.
commit d108165de1b0ab760d996e1c297d888e08618d99
Author: ajs <ajs>
Date: Sun Apr 29 15:48:22 2007 +0000
[logging] Minor performance tweak
2007-04-29 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* log.c: (quagga_timestamp) Optimize the subsecond timestamp generation.
commit 3f22ce86e6da9e2109bb4ef465ec11c5caf43432
Author: ajs <ajs>
Date: Sun Apr 29 15:24:15 2007 +0000
[logging] Add new "log timestamp precision" command for subsecond timestamps
2007-04-29 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* basic.texi: Document the new 'log timestamp precision' command.
commit 28938ce590318f4f4751626f576821aa7c7ca4cd
Author: ajs <ajs>
Date: Sun Apr 29 03:53:31 2007 +0000
[logging] Add new "log timestamp precision" command for subsecond timestamps
2007-04-28 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* vtysh.c: (vtysh_log_timestamp_precision,
no_vtysh_log_timestamp_precision) Implement new log timestamp
precision commands: send to all daemons.
(vtysh_init_vty) Install new log timestamp precision commands.
commit 870a1b5e5b7a25411fdb9c66d3a90ff463d8535e
Author: ajs <ajs>
Date: Sat Apr 28 22:14:10 2007 +0000
[logging] Add new "log timestamp precision" command for subsecond timestamps
2007-04-28 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* command.c: (config_write_host) Save "log timestamp precision"
if not default value.
(show_logging) Show configured timestamp precision.
(config_log_timestamp_precision) Enable configuration of timestamp
precision.
(no_config_log_timestamp_precision) Restore default timestamp
precision.
(cmd_init) Install new timestamp precision commands.
* log.h: (struct zlog) New timestamp_precision field.
(quagga_timestamp) New function to generate a timestamp with the
desired precision.
(struct timestamp_control) Declare a structure for use in avoiding
repeated duplicate calls to quagga_timestamp.
* log.c: (quagga_timestamp) New function to generate a timestamp
of the desired precision.
(time_print) Call quagga_timestamp if the time hasn't already been
calculated.
(vzlog) Initialize a timestamp_control structure and pass it to
time_print and vty_log.
(zlog_backtrace) Fix 64-bit problem: cannot print size_t with %u.
* vty.h: Must now include "log.h".
(vty_log) Takes an additional struct timestamp_control argument.
* vty.c: (vty_log_out) Use new struct timestamp_control and new
quagga_timestamp function to print timestamps of the desired
precision.
(vty_time_print) Use new quagga_timestamp function.
(vty_log) Accept new struct timestamp_control argument and pass it
down to vty_log_out.
commit 11fbf18fb9b0712c3c963c7f335c4b708e359045
Author: ajs <ajs>
Date: Fri Apr 27 18:13:15 2007 +0000
[64-bit] Fix 4 problems with printf formats and 64-bit size_t
2007-04-27 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* lib/smux.c: (smux_trap) Fix printf format to work with 64-bit size_t.
* ospf6d/ospf6_snmp.c: (ospfv3AreaEntry, ospfv3AreaLsdbEntry) Fix some
zlog_debug printf formats to work with 64-bit size_t.
commit 6c44cd4095599ad96ff750c8a64973a513f93eed
Author: ajs <ajs>
Date: Fri Apr 27 18:03:11 2007 +0000
[ripd, ripngd] Remove useless code in rip_vty_out_uptime function
2007-04-27 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ripd/ripd.c: (rip_vty_out_uptime) Remove unused variable timer_now.
* ripngd/ripngd.c: (ripng_vty_out_uptime) Remove unused variable
timer_now.
commit 1ab7eee16a111011fc5b12660d3490db9de2209c
Author: ajs <ajs>
Date: Sat Apr 21 20:46:31 2007 +0000
[ospfd] Fix bug in 'passive-interface default' behavior
2007-04-21 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ospf_interface.c: (ospf_if_set_multicast) Fix bug: was testing
interface passive status improperly in light of the recent
'passive-interface default' patch. Now need to test
OSPF_IF_PASSIVE_STATUS(oi) instead of
OSPF_IF_PARAM(oi, passive_interface).
commit b0d83a468da6c71810b1a93ea7a2e215d00432a8
Author: dyoung <dyoung>
Date: Mon Apr 16 23:13:01 2007 +0000
Use 'path (category)' form.
commit f1eaadbd69152da75917f652ffbb52cd33194a6d
Author: dyoung <dyoung>
Date: Mon Apr 16 23:11:19 2007 +0000
Note my change to zebra/connected.c.
commit 9d0392fdbe6cbb796102c2cb55f5ad33312e4456
Author: dyoung <dyoung>
Date: Mon Apr 16 05:54:02 2007 +0000
Only suppress adding a connected route to the kernel if it is
already marked "real" (ZEBRA_IFC_REAL), i.e., "in kernel." According
to Paul Jakma, this probably fixes Quagga bug #202.
commit 8bb64b758588a85a7cc389bec78937c298a933c0
Author: ajs <ajs>
Date: Sun Apr 15 19:17:24 2007 +0000
[bgpd] Minor performance improvement patch
2007-04-15 Sebastien Tandel <sebastien at tandel.be>
* bgp_aspath.c: (aspath_as_add, aspath_segment_add) Minor performance
optimization: while loop should test one pointer instead of two.
commit 89e6a961d0cacb5ea74e2144078e018cf660c092
Author: vincent <vincent>
Date: Thu Apr 12 07:43:49 2007 +0000
Fix the display of some timers. (show ipv6 ripng and show ipv6 ripng status)
commit 4401fc12253ecfbe5fe78d070394c6d92d454008
Author: vincent <vincent>
Date: Wed Apr 11 15:12:05 2007 +0000
Fix the display of route timeout in "show ip rip". (Use thread_timer_remain_second)
commit 7c2602a1df9aaeec980d05683ca88890315d0bc5
Author: paul <paul>
Date: Tue Apr 10 19:43:43 2007 +0000
[zebra] MTU change should propogate to zserv client on BSD/Solaris
2007-04-10 Paul Jakma <paul.jakma at sun.com>
* ioctl{_solaris,}.c: (if_get_mtu) Ping clients via
zebra_interface_up_update if MTU is changed.
commit 3e3ddfe0eaec1c2fbf85e3e2692d15fe0d017455
Author: paul <paul>
Date: Tue Apr 10 19:36:48 2007 +0000
[bgpd] Bug #354: Take care to keep reads of MP_(UN)REACH_NLRI in bounds
2007-04-08 Paul Jakma <paul.jakma at sun.com>
* bgp_attr.c: (general) Bug #354: parsing of MP_REACH_NLRI and
MP_UNREACH_NLRI does not take sufficient care to ensure reads
from stream buffer stay in-bounds. Hence bgpd may attempt to read
beyond end of stream, if given a crafted packet. As it uses the
stream access methods to do so, this will typically result in
assert() being hit in stream.c. Where code is compiled without
assert() enabled, result is unknown.
(struct message attr_str) should be static.
(bgp_mp_reach_parse) Carefully check length remaining in stream
against amount desired to read from stream, prior to each read,
particularly where lengths are conditional on data obtained from
stream - using STREAM_READABLE.
Remove code to parse SNPA-number, it's a defunct field and changed
to a fixed size in latest BGP MP update RFC - log warning if
SNPA-number is not 0.
(bgp_mp_unreach_parse) Check withdraw_length carefully against
STREAM_READABLE.
(bgp_attr_parse) If attribute-parser function returns error, log
warning.
Log attribute type on mismatch.
commit f777db6d305cfba4a4b2bb367aa9b440213eff9a
Author: paul <paul>
Date: Tue Apr 10 19:32:10 2007 +0000
[bgpd] V. quick route flap gets mistaken for duplicate, route is then ignored
2007-04-08 Paul Jakma <paul.jakma at sun.com>
* bgp_route.c: (general) Same bug as fixed on 2006-11-28 by ajs for
bgp static routes, but for main BGP RIB: Quick 'flap' of routes
can cause bgpd to mistake a new route for a duplicate route,
due to presence of removed, but not yet processed BGP RIB entry.
(bgp_update_rsclient) Ignore REMOVED bgp_info for duplicate,
restore route instead.
(bgp_update_main) Ditto.
commit 760499ccb836bdd300687474ecc689d90e7c5dc9
Author: paul <paul>
Date: Tue Apr 10 19:30:20 2007 +0000
[zebra] Retain configured IPv4 address upon removal by kernel
2007-04-08 Paul Jakma <paul.jakma at sun.com>
* interface.c: (if_delete_update) Address removal triggered
by kernel shouldn't remove configured IPv4 address from connected
list.
commit 253f5780556115e52717926df555390b97f34eb7
Author: paul <paul>
Date: Tue Apr 10 19:28:04 2007 +0000
[testzebra] stubs should call kernel_address_add on IP address install
2007-04-08 Paul Jakma <paul.jakma at sun.com>
* {ioctl,kernel}_null.c: Install of IP address should
reflect back to zebra via kernel_address_add..., makes
testzebra more useful.
commit 7450a19a3407361bdbc91b07dc8b50ba363a7dce
Author: paul <paul>
Date: Tue Apr 10 19:24:45 2007 +0000
[zebra] Bug #351: Don't redistribute routes to ipv4 link-local prefixes
2007-04-07 Paul Jakma <paul.jakma at sun.com>
* lib/prefix.h: Add define to match IPv4 Link-Local addresses
* zebra/redistribute.c: (zebra_check_addr) Don't redistribute routes
to IPv4 link-local prefixes, fixes bug #351.
* zebra/redistribute.h: Export zebra_check_addr.
* zebra/router-id.c: (router_id_bad_address) re-use zebra_check_addr
rather than implementing similar logic.
commit d3fbe6e66cb381516b8450cdbba581c2f6a0bf29
Author: paul <paul>
Date: Tue Apr 10 19:20:29 2007 +0000
[bgpd] bug #352: IPv6/Multicast address-family config not written out
2007-04-07 Paul Jakma <paul.jakma at sun.com>
* bgpd.c: (general) Fix bug #352
(bgp_config_write_family_header) write ipv6/multicast
address family header.
(bgp_config_write) write out ipv6 multicast AF config.
commit a367c20ba477455db5a2582eda516434393fe5d0
Author: paul <paul>
Date: Fri Mar 23 11:19:08 2007 +0000
[ospfd] Bug #330 regression: failure to calculate routes through networks
2007-03-23 Paul Jakma <paul.jakma at sun.com>
* ospf_spf.c: (ospf_nexthop_calculation) Fix silly regression
causing ospfd to fail to calculate paths past networks not
attached to root vertex, introduced with bug #330 fixes.
commit daf98eb6569acbe896c9e837d75f2b4ebf5afcc4
Author: paul <paul>
Date: Fri Mar 23 11:17:28 2007 +0000
[ospfd] Instrument ospf_spf with more debug log messages
2007-03-23 Paul Jakma <paul.jakma at sun.com>
* ospf_spf.c: (various) Add more debug statements.
commit ac7ace4a823a3e2e35ca73e6cc6b3e943e44115c
Author: ajs <ajs>
Date: Wed Mar 21 21:03:44 2007 +0000
[doc] Makefile VPATH patch
2007-03-21 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* Makefile.am: Patch rule for draft-zebra-00.txt to work
in VPATH build environments.
commit d7044bc6326d650cac62504427cfc5af7675b3ed
Author: ajs <ajs>
Date: Wed Mar 21 18:57:38 2007 +0000
[ripd] Fix "show ip rip status" display of time until next update
2007-03-21 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ripd.c: (show_ip_rip_status) Use new thread_timer_remain_second
function instead of rip_next_thread_timer to display the time until
next update properly.
(rip_next_thread_timer) Remove obsolete function.
commit 2afa1544a80c883d534701626c467c446353cf3b
Author: ajs <ajs>
Date: Tue Mar 20 20:48:27 2007 +0000
[lib] Make message lookup function more robust.
2007-03-20 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* log.c: (mes_lookup) Make the function more robust: check for
cases where the index does not match the key value at that position.
If so, give a warning and fall back to a linear search.
And improve the error message in cases where even that fails.
commit bf31e2f961211bb3ccfbe5e76afdf0134b216a72
Author: ajs <ajs>
Date: Wed Mar 14 22:05:18 2007 +0000
[ospfd] Return SNMP standard neighbor state values, not quagga internal ones
2007-03-14 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ospf_snmp.c: (ospf_snmp_neighbor_state) New function to
map internal quagga neighbor states to SNMP standard values.
(ospfNbrEntry) Call new ospf_snmp_neighbor_state function.
commit bc9cc94ba54dde3f36743df17ab26f51e276e383
Author: ajs <ajs>
Date: Wed Mar 14 20:21:43 2007 +0000
[ospfd] Fix two debug messages that used inet_ntoa more than once
2007-03-14 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ospf_zebra.c: (ospf_zebra_add, ospf_zebra_delete) Fix bug
where inet_ntoa was used twice in the same debug message,
which doesn't work because there's a single shared buffer
for the returned string. The fix is to use inet_ntop.
commit b58cef00a0e1f9f88d76e581b90e2ed30c53fb62
Author: paul <paul>
Date: Thu Mar 8 17:50:01 2007 +0000
[ospf6d] Bug 322: ospf6d show ipv6 neighbour showing wrong times
2007-03-08 David Siebörger d.sieborger at ru.ac.za
* ospf6_neighbor.c: (ospf6_neighbor_show) Fix bug #322, ospf6d
wasn't updated to match thread times changing to relative
time.
commit fc18121589a2fecd71cf300c277b49c8c3696854
Author: paul <paul>
Date: Tue Mar 6 13:43:05 2007 +0000
[zebra] Fix interface metric bug on BSD
2007-03-06 Paul Jakma <paul.jakma at sun.com>
* kernel_socket.c: (ifam_read) Do not update interface metric on
receipt of NEW/DEL ADDR messages, bogus as: a) some systems
dont include iface metric for address events b) we didn't
update clients either. Initial diagnosis by Eugene Grosbein.
commit 877127ceaed35f30e9df6f74ecce761676654cb8
Author: ajs <ajs>
Date: Tue Feb 27 15:24:36 2007 +0000
[ospf6d] Fix string comparison bug in ospf6_lsa_handler_name.
2007-02-27 Pavol Rusnak <prusnak at suse.cz>
* ospf6_lsa.c: (ospf6_lsa_handler_name) Fix bug: must use strcmp
to compare strings.
commit 4b81db8d5d2e4b0db4a34d9007d0227416380588
Author: ajs <ajs>
Date: Tue Feb 27 13:55:46 2007 +0000
[ospfd] Fix bug: should exit immediately on SIGTERM if OSPF not actually running
2007-02-27 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ospfd.c: (ospf_terminate) Exit immediately if ospf is not
actually running (e.g. the config file was empty). Fixes
bug where SIGTERM would not kill ospfd.
commit a116ca11a4979744cb59e17c05da78691fbc3b2a
Author: paul <paul>
Date: Mon Feb 26 17:14:48 2007 +0000
[ospfd] Fix regression in SPF introduced by bug#330 fixes
2007-02-26 Paul Jakma <paul.jakma at sun.com>
* ospf_spf.c: Fix regression introduced with bug #330 fix: The
cost update added to ospf_spf_add_parent only handled PtP
case, differing from same functionality in higher-level
ospf_spf_next. Regression diagnosed by Anders Pedersen,
mailnews+router-quagga-dev at news.cohaesio.com.
(ospf_vertex_new) Initialise vertices to max-cost.
(ospf_spf_init) Root vertex always creates with 0 cost.
(ospf_spf_add_parent) Remove the buggy V->W cost calculating
code, instead take the new distance as a parameter.
(ospf_nexthop_calculation) Take distance as parameter, so it
can be passed down to add_parent.
(ospf_spf_next) Dont initialise candiate vertex distance,
vertex_new does so already. Pass distance down to
nexthop_calculation (see above).
commit f4c334e8032b1d9201d61cbba4efc7ca238d2533
Author: paul <paul>
Date: Mon Feb 26 17:11:45 2007 +0000
[zebra] IRDP should ignore non-IPv4 addresses
2007-02-26 Robert Olsson <Robert.Olsson at data.slu.se>
* irdp_main.c: (irdp_send_thread) Skip non-AF_INET addresses,
i.e. do not try interpret IPv6 addresses as IPv4 addresses
to broadcast in IRDP announcements..
commit 20c0f6917a0845557660d30e8eeadb2ce9ff0ec5
Author: paul <paul>
Date: Thu Feb 22 17:55:20 2007 +0000
[solaris] Add licence boilerplate to files for clarity
2007-02-22 Paul Jakma <paul.jakma at sun.com>
* quagga.{xml,init}.in: Add licence boilerplate to ensure
licence terms are clear.
commit d1a809bbfd69938d22233e077690aaeb8ce0c168
Author: paul <paul>
Date: Thu Feb 22 17:48:42 2007 +0000
[bgpd] Peer delete can race with reconfig leading to crash
2007-02-22 Paul Jakma <paul.jakma at sun.com>
* bgp_fsm.c: (bgp_fsm_change_status) Handle state change into
clearing or greater here. Simpler.
(bgp_event) Clearing state change work moved to previous
* bgp_route.c: (bgp_clear_route_node) Clearing adj-in here
is too late, as it leaves a race between a peer being deleted
and an identical peer being configured before clearing
completes, leading to a crash.
Simplest fix is to clean peers Adj-in up-front, rather than
queueing such work.
(bgp_clear_route_table) Clear peer's Adj-In and Adj-Out
up-front here, rather than queueing such work.
Extensive comment added on the various bits of indexed data
that exist and how they need to be dealt with.
(bgp_clear_route) Update comment.
commit 7ca67954c4ef76b0c8763033d087517925566d29
Author: gdt <gdt>
Date: Tue Feb 6 20:10:35 2007 +0000
use generic sed test so this works on autoconf 2.59
commit 74e8886cb0fbaca91a746f1708b77268fc369353
Author: gdt <gdt>
Date: Tue Feb 6 19:56:31 2007 +0000
de-support NetBSD 1.6, and note that FreeBSD 4 is on thin ice.
Update notes on required tool versions Note that autoconf 2.59 is the
standard (even though it's old, 2.60 and 2.61 are pretty recent). For
others, pick releases that are at least 1.5 years old.
Note that GNU awk is required.
Replace update-autotools reference with bootstrap.sh.
(no changelog, doc change only, per GNU coding standards)
commit d99058d6c9b2e34628e14b553ccabfd7bb555221
Author: gdt <gdt>
Date: Tue Feb 6 19:36:47 2007 +0000
Better comment explaining that GNU awk is really required.
commit 608326934fcbfbe9a06c8ce726b85c80b9705702
Author: gdt <gdt>
Date: Tue Feb 6 19:28:28 2007 +0000
autoreconf -i
commit ab0eea7e4e3fdbd2af33001b7fa1200130ad0e81
Author: gdt <gdt>
Date: Sat Feb 3 22:30:02 2007 +0000
add AC_PROC_SED
commit dfeda3f2f4f15bd9ec32ab80cf3a7b53a395c4f8
Author: gdt <gdt>
Date: Sat Feb 3 01:07:01 2007 +0000
remove crufty m4 files from 2004. With the files, autoheader (2.61)
bombs on NetBSD. (Without, all is ok. We may need workarounds, but
first we should identify minimum tool versions and figure out what's
still wrong.)
ok'd by paul.
commit eb66f42e856b2d408e11346fd0876dbeb491ce4e
Author: gdt <gdt>
Date: Fri Feb 2 17:03:03 2007 +0000
use bootstrap.sh
commit 7caffc4eaf782b21b179652c4aabaf1cf086e52f
Author: gdt <gdt>
Date: Fri Feb 2 17:01:58 2007 +0000
Provide 'standard interface', even if it just invokes autoreconf.
commit 29c05b398f3c8659a4efb7ae027ba36bc10a9756
Author: gdt <gdt>
Date: Fri Feb 2 16:54:23 2007 +0000
ospf6d.h: remove declaration of errno (should be via header)
(from pkgsrc)
commit 20e9e14d2fbfdfb8d271f4f7900d37f514189a24
Author: gdt <gdt>
Date: Fri Feb 2 16:52:38 2007 +0000
* README.NetBSD: use update-autotools instead of autoreconf
* update-autotools: print out tool name before invoking to aid debugging
commit db5741fb3b5fab74f893d03717be9a243ec435e9
Author: paul <paul>
Date: Wed Jan 24 14:51:51 2007 +0000
[ospfd] Bug #330: SPF must consider that nexthop-calc may fail
2007-01-24 Paul Jakma <paul.jakma at sun.com>
* ospf_spf.c: Bug #330: Nexthop calculation sometimes may fail,
and it needs to indicate this result to SPF.
(ospf_spf_add_parent) Flush of parent list needs to be done here,
for simplicity.
(ospf_nexthop_calculation) Caller needs to know whether
nexthop calculation succeeded. Every return statement must
correctly indicate such.
(ospf_spf_next) Queueing/prioritisation of vertices in SPF
must take into account whether nexthop_calculation succeeded,
or SPF may fail to find best paths.
commit 0f892679e7114ace5d8af696d55aeb6e95d57de1
Author: ajs <ajs>
Date: Wed Dec 13 15:44:15 2006 +0000
[zebra] For solaris IPv6 PtP interfaces, try to support prefixlen != 128
2006-12-13 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* if_ioctl_solaris.c: (if_get_addr) For IPv6, stop assuming
that all IFF_POINTOPOINT have prefixlen of IPV6_MAX_BITLEN.
Instead, always try the SIOCGLIFSUBNET ioctl; if that fails,
then we fall back to IPV6_MAX_BITLEN for PtP interfaces.
commit 5473a17309434869238cb6cfedf07a2e88f6de6d
Author: ajs <ajs>
Date: Tue Dec 12 19:18:21 2006 +0000
[PtP over ethernet] New peer flag allows much more addressing flexibility
2006-12-12 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* if.h: (struct connected) Add new ZEBRA_IFA_PEER flag indicating
whether a peer address has been configured. Comment now shows
the new interpretation of the destination addr: if ZEBRA_IFA_PEER
is set, then it must contain the destination address, otherwise
it may contain the broadcast address or be NULL.
(CONNECTED_DEST_HOST,CONNECTED_POINTOPOINT_HOST) Remove obsolete
macros that were specific to IPv4 and not fully general.
(CONNECTED_PEER) New macro to check ZEBRA_IFA_PEER flag.
(CONNECTED_PREFIX) New macro giving the prefix to insert into
the RIB: if CONNECTED_PEER, then use the destination (peer) address,
else use the address field.
(CONNECTED_ID) New macro to come up with an identifying address
for the struct connected.
* if.c: (if_lookup_address, connected_lookup_address) Streamline
logic with new CONNECTED_PREFIX macro.
* prefix.h: (PREFIX_COPY_IPV4, PREFIX_COPY_IPV6) New macros
for better performance than the general prefix_copy function.
* zclient.c: (zebra_interface_address_read) For non-null destination
addresses, set prefixlen to equal the address prefixlen. This
is needed to get the new CONNECTED_PREFIX macro to work properly.
* connected.c: (connected_up_ipv4, connected_down_ipv4,
connected_up_ipv6, connected_down_ipv6) Simplify logic using the
new CONNECTED_PREFIX macro.
(connected_add_ipv4) Set prefixlen in destination addresses (required
by the CONNECTED_PREFIX macro). Use CONNECTED_PEER macro instead
of testing for IFF_POINTOPOINT. Delete invalid warning message.
Warn about cases where the ZEBRA_IFA_PEER is set but no
destination address has been supplied (and turn off the flag).
(connected_add_ipv6) Add new flags argument so callers may set
the ZEBRA_IFA_PEER flag. If peer/broadcast address satisfies
IN6_IS_ADDR_UNSPECIFIED, then reject it with a warning.
Set prefixlen in destination address so CONNECTED_PREFIX will work.
* connected.h: (connected_add_ipv6) Add new flags argument so
callers may set the ZEBRA_IFA_PEER flag.
* interface.c: (connected_dump_vty) Use CONNECTED_PEER macro
to decide whether the destination address is a peer or broadcast
address (instead of checking IFF_BROADCAST and IFF_POINTOPOINT).
* if_ioctl.c: (if_getaddrs) Instead of setting a peer address
only when the IFF_POINTOPOINT is set, we now accept a peer
address whenever it is available and not the same as the local
address. Otherwise (no peer address assigned), we check
for a broadcast address (regardless of the IFF_BROADCAST flag).
And must now pass a flags value of ZEBRA_IFA_PEER to
connected_add_ipv4 when a peer address is assigned.
The same new logic is used with the IPv6 code as well (and we
pass the new flags argument to connected_add_ipv6).
(if_get_addr) Do not bother to check IFF_POINTOPOINT: just
issue the SIOCGIFDSTADDR ioctl and see if we get back
a peer address not matching the local address (and set
the ZEBRA_IFA_PEER in that case). If there's no peer address,
try to grab SIOCGIFBRDADDR regardless of whether IFF_BROADCAST is set.
* if_ioctl_solaris.c: (if_get_addr) Just try the SIOCGLIFDSTADDR ioctl
without bothering to check the IFF_POINTOPOINT flag. And if
no peer address was found, just try the SIOCGLIFBRDADDR ioctl
without checking the IFF_BROADCAST flag. Call connected_add_ipv4
and connected_add_ipv6 with appropriate flags.
* if_proc.c: (ifaddr_proc_ipv6) Must pass new flags argument to
connected_add_ipv6.
* kernel_socket.c: (ifam_read) Must pass new flags argument to
connected_add_ipv6.
* rt_netlink.c: (netlink_interface_addr) Copy logic from iproute2
to determine local and possible peer address (so there's no longer
a test for IFF_POINTOPOINT). Set ZEBRA_IFA_PEER flag appropriately.
Pass new flags argument to connected_add_ipv6.
(netlink_address) Test !CONNECTED_PEER instead of if_is_broadcast
to determine whether the connected destination address is a
broadcast address.
* bgp_nexthop.c: (bgp_connected_add, bgp_connected_delete)
Simplify logic by using new CONNECTED_PREFIX macro.
* ospf_interface.c: (ospf_if_is_configured, ospf_if_lookup_by_prefix,
ospf_if_lookup_recv_if) Simplify logic using new CONNECTED_PREFIX
macro.
* ospf_lsa.c: (lsa_link_ptop_set) Using the new CONNECTED_PREFIX
macro, both options collapse into the same code.
* ospf_snmp.c: (ospf_snmp_if_update) Simplify logic using new
CONNECTED_ID macro.
(ospf_snmp_is_if_have_addr) Simplify logic using new CONNECTED_PREFIX
macro.
* ospf_vty.c: (show_ip_ospf_interface_sub) Use new CONNECTED_PEER macro
instead of testing the IFF_POINTOPOINT flag.
* ospfd.c: (ospf_network_match_iface) Use new CONNECTED_PEER macro
instead of testing with if_is_pointopoint. And add commented-out
code to implement alternative (in my opinion) more elegant behavior
that has no special-case treatment for PtP addresses.
(ospf_network_run) Use new CONNECTED_ID macro to simplify logic.
* rip_interface.c: (rip_interface_multicast_set) Use new CONNECTED_ID
macro to simplify logic.
(rip_request_interface_send) Fix minor bug: ipv4_broadcast_addr does
not give a useful result if prefixlen is 32 (we require a peer
address in such cases).
* ripd.c: (rip_update_interface) Fix same bug as above.
commit 7db8ac32d96a6dfed8c7c450d44c0a296d1125f5
Author: paul <paul>
Date: Fri Dec 8 21:27:08 2006 +0000
[0.99] Bump version to 0.99.6
2006-12-08 Paul Jakma <paul.jakma at sun.com>
* configure.ac: Bump to 0.99.6
commit bdeb7580d3f90876dc8d05ce57aa8d99dc96f926
Author: paul <paul>
Date: Fri Dec 8 01:09:50 2006 +0000
[isisd] Fix compiler warnings and allow v4-only compilation
2006-12-08 Hannes Gredler <hannes at gredler.at>
* isis_adjacency.c: (isis_new_adj) Allow NULL snpa argument.
* isis_pdu.c: (various) Update calls to isis_new_adj() to pass
NULL and use default.
* (general) Add forward declarations where required.
Fix up const char *'s.
Allow V4-only compilation.
commit 983bf4abef71566c61b757cf2a6a54ceae3d50ef
Author: paul <paul>
Date: Fri Dec 8 00:53:14 2006 +0000
[zebra] Changes of nexthops of static routes didnt take effect
2006-12-08 Piotr Chytla <pch at packetconsulting.pl>
* zebra_rib.c: (static_install_ipv{4,6}) Case where existing
RIB is updated must explicitely rib_addqueue the route_node,
to ensure the update actually takes effect.
commit 98cd2f2958864526b36766921de707679b1c75e7
Author: paul <paul>
Date: Fri Dec 8 00:31:22 2006 +0000
[bgpd] Bug #302, bgpd can get stuck in state Clearing
2006-12-07 Paul Jakma <paul.jakma at sun.com>
* bgp_fsm.c: Bug #302 fix, diagnosis, suggestions and testing
by Juergen Kammer <j.kammer at eurodata.de>. Fix follows from
his suggested fix, just made in a slightly different way.
(bgp_event) Transitions into Clearing always must call
bgp_clear_route_all().
(bgp_stop) No need to clear routes here, BGP FSM should do
it.
commit bf6804ce1d1d331ba0290cf0f48d31eabde8b46c
Author: ajs <ajs>
Date: Mon Dec 4 18:26:37 2006 +0000
[ospfd] Consider all connected addresses when creating ospf interfaces
2006-12-04 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ospfd.c: (ospf_network_run) Remove an offending 'break' statement.
Previously, after creating a single ospf_interface on a given
network interface, the code would skip to the next interface
without considering other connected addresses on the interface.
After removing the 'break', we now consider all connected addresses.
commit a99935f9f0ab166facf077e2abc4c948a4104f43
Author: ajs <ajs>
Date: Thu Nov 30 16:36:57 2006 +0000
[bgpd] Implement 'debug bgp zebra' to log all messages to and from zebra.
2006-11-30 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* bgp_debug.h: Declare new bgp_debug_zebra conf and term flags,
and define BGP_DEBUG_ZEBRA.
* bgp_debug.c: Declare conf_bgp_debug_zebra and term_bgp_debug_zebra.
(debug_bgp_zebra, no_debug_bgp_zebra, undebug_bgp_zebra) New
functions to enable/disable bgp zebra debugging.
(no_debug_bgp_all) Turn off zebra debugging.
(show_debugging_bgp) Show whether zebra debugging is on.
(bgp_config_write_debug) Add 'debug bgp zebra' if configured.
(bgp_debug_init) Add new zebra debugging commands.
* bgp_zebra.c: (bgp_router_id_update, bgp_interface_add,
bgp_interface_delete, bgp_interface_up, bgp_interface_down,
bgp_interface_address_add, bgp_interface_address_delete,
zebra_read_ipv4, zebra_read_ipv6, bgp_zebra_announce,
bgp_zebra_withdraw, bgp_redistribute_set, bgp_redistribute_unset)
If zebra debugging is enabled, log an appropriate debug message.
commit a04310a56d3874df924ea166f024c196643f667c
Author: ajs <ajs>
Date: Thu Nov 30 16:17:02 2006 +0000
[ospfd] Add debug messages for a few zebra messages that had been overlooked
2006-11-30 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ospf_zebra.c: (ospf_router_id_update_zebra,
ospf_interface_address_add, ospf_interface_address_delete)
If (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE)) is enabled, then
add a debug message about what Zebra is telling us.
(ospf_zebra_add_discard) Add a debug message matching the one
already in ospf_zebra_delete_discard.
commit be13d47199ca10fce523ebf9600257e251bca486
Author: ajs <ajs>
Date: Tue Nov 28 19:50:46 2006 +0000
[bgpd] Fix bug where a deleted route that was quickly re-added was being lost
2006-11-28 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* bgp_route.c: (bgp_info_restore) New function that undoes
the effects of a previous call to bgp_info_delete. This is
used when a route is deleted and quickly re-added before the
deletion has been processed.
(bgp_static_update_rsclient, bgp_static_update_main,
bgp_redistribute_add) Check whether a pre-existing route
has the BGP_INFO_REMOVED set, and, if so, we need to call
bgp_info_restore to resurrect it.
commit 9afa1081944cd188386eb65f476a85a3b39c12e1
Author: ajs <ajs>
Date: Tue Nov 28 16:36:39 2006 +0000
[ospfd] Fix bug in passive-interface default commands.
2006-11-28 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ospf_vty.c: (ospf_passive_interface_default) Take additional
'newval' arg so we can update ospf->passive_interface_default inside
this function. More importantly, we now call ospf_if_set_multicast
on all ospf_interfaces.
(ospf_passive_interface, no_ospf_passive_interface) Fix bug:
for 'default' case, argv[0] is undefined, so we must test for
(argc == 0) before using argv[0]. And since
ospf_passive_interface_default now calls ospf_if_set_multicast as
needed, we can just return after calling
ospf_passive_interface_default.
commit 25b4ee9914a98fe03566b65444c604da2e481c94
Author: paul <paul>
Date: Fri Oct 27 16:58:20 2006 +0000
[bgpd] trivial: non C99 u_int.._t should be uint.._t
2006-10-27 Paul Jakma <paul.jakma at sun.com>
* bgp_route.c: (bgp_table_stats) oops, u_intXX_t should be
uintXX_t
commit ae3bf3c182cb62e2423d1b10f7d43d412f7aa442
Author: ajs <ajs>
Date: Tue Oct 24 19:04:26 2006 +0000
[ospfd] Stop losing subsequent default-information originate 'always' info
2006-10-24 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ospf_zebra.c: (ospf_redistribute_default_set) Fix bug where
a new value for ospf->default_originate was being ignored
if a previous 'default-information originate' command
had already been processed.
commit 3f0a0ac188e55b2fdf30071a13888903a29ba7df
Author: paul <paul>
Date: Sun Oct 22 20:07:53 2006 +0000
[ospfd] Add passive-interface default support
2006-10-22 Yar Tikhiy <yar at comp.chem.msu.su>
* (general) Add support for passive-interface default (with
minor edits by Paul Jakma).
* ospf_interface.h: Add OSPF_IF_PASSIVE_STATUS macro, looking
at configured value, or the global 'default' value, as
required.
* ospf_interface.c: (ospf_if_new_hook) Leave passive
unconfigured per default, allowing global 'default' to
take effect for unconfigured interfaces.
* ospf_packet.c: (various) use OSPF_IF_PASSIVE_STATUS
* ospf_vty.c: (ospf_passive_interface_default) new function,
unset passive from all interfaces if default is enabled, as
the per-iface settings become redundant.
(ospf_passive_interface_update) new func, update passive
setting taking global default into account.
({no,}ospf_passive_interface_addr_cmd) Add support for
'default' variant of command.
(show_ip_ospf_interface_sub) Update to take global
default into account when printing passive status.
(ospf_config_write) ditto.
* ospfd.c: (ospf_new) set global passive-interface default.
* ospfd.h: (struct ospf) Add field for global
passive-interface.
commit f6a371d9165c2efa83cf180e2de825e28d182b70
Author: paul <paul>
Date: Sun Oct 22 19:13:07 2006 +0000
[bgpd] struct peer must have bgp field valid (redistribute crash)
2006-10-19 Paul Jakma <paul.jakma at sun.com>
* bgpd.c: (peer_new) bgp element of peer absolutely must be
filled in, make peer_new() require it as argument and update
all callers. Fixes a crash reported by Jan 'yanek' Bortl and
Andrew Schorr where bgpd would crash in bgp_pcount_adjust
trying to dereference the bgp member of bgp->peer_self,
triggered through redistribution.
* bgp_route.c: (bgp_pcount_adjust) assert sanity of arguments.
commit 2f80bca7f982c9c3be0b10d4fedf0b64796b6f4f
Author: paul <paul>
Date: Sun Oct 15 23:50:16 2006 +0000
[bgpd] Coverity CID #64: Needless NULL check, CID #64: Deref of potentially NULL pointer.
2006-10-15 Paul Jakma <paul.jakma at sun.com>
* bgp_packet.c: (bgp_update_packet) adv->rn can not be NULL,
check is bogus - changed to assert(), CID#64.
binfo is checked for NULL, but then dereferenced
unconditionally, fix, CID #63.
(bgp_withdraw_packet) Assert adv->rn is valid, as with
bgp_update_packet().
commit 4b6be254d1ab72ac1a7652ee9c2a466130486ba8
Author: paul <paul>
Date: Sun Oct 15 23:41:16 2006 +0000
[bgpd] CID#73, potential crash in bgp statistics if called for AFI/SAFI with emtpy table
2006-10-15 Paul Jakma <paul.jakma at sun.com>
* bgp_route.c: (bgp_table_stats_walker) NULL deref if table is
empty, bgp_table_top may return NULL, Coverity CID#73.
commit bc14a82f0ec5f3c3008348903ec0db4eed91f1ee
Author: paul <paul>
Date: Sun Oct 15 23:39:59 2006 +0000
[bgpd] Bug #302 fixes. ClearingCompleted event gets flushed, leaving peers stuck in Clearing.
2006-10-14 Paul Jakma <paul.jakma at sun.com>
* bgp_fsm.h: Remove BGP_EVENT_FLUSH_ADD, dangerous and not
needed.
* bgp_fsm.c: (bgp_stop) Move BGP_EVENT_FLUSH to the top of the
of the function, otherwise it could flush a ClearingCompleted
event, bug #302.
* bgp_packet.c: Replace all BGP_EVENT_FLUSH_ADD with
BGP_EVENT_ADD, fixing bug #302.
commit 70ad2da67e6edee613c6eefae9480c9e9955c2fc
Author: paul <paul>
Date: Sun Oct 15 23:35:57 2006 +0000
[daemon startup] Add --dry-run/-C argument to daemons, to check config file syntax
2006-10-04 Oliver Hookins <ohookins at gmail.com>
* bgpd/bgp_main.c: Add configuration check option, with
'-C' rather than '-c' for consistency between daemons.
* isisd/isis_main.c: ditto
* ospf6d/ospf6_main.c: ditto
* ospfd/ospf_main.c: ditto
* ripngd/ripng_main.c: ditto
* vtysh/vtysh_main.c: ditto
* ripd/rip_main.c: Change the config check option to
'-C' and tidy up the code.
* zebra/main.c: ditto
2006-10-04 Stergiakis Alexandros <astergiakis at antcor.com>
* ripd/rip_main.c: This trivial patch introduces a new
command-line option '-c', which instructs zebra/ripd
to check its configuration file for validity, print
any error message, and then exit. This is useful when
the configuration file is edited by hand or otherwise,
and you simply want to validate it without any other
effect.
* zebra/main.c: ditto
commit 4bac3bd5f3ef6190de68b1a970171cf536ebb992
Author: paul <paul>
Date: Sun Oct 15 23:33:50 2006 +0000
[lib] Handle upgrade from SUNWzebra to Quagga for 'interface fooX:Y' commands
2006-10-14 Paul Jakma <paul.jakma at sun.com>
* if.c: (general) Handle upgrades from SUNWzebra, which tried
to track each logical interface as a seperate struct
interface, to Quagga, which assigns only one struct interface
per ifindex.
(if_sunwzebra_get) Try decompose a logical interface name
(fooX:Y) to the 'primary' name (fooX), for Solaris.
(interface_cmd) Use if_sunwzebra_get on Solaris.
commit 355f37976bcbeedb0c268cfa444964d8539c8676
Author: ajs <ajs>
Date: Tue Sep 26 15:30:43 2006 +0000
[snmp] Fix asn_build calls to pass correct variable sizes (fixes 64-bit issues)
2006-09-26 Pierre-Yves Ritschard <pierre-yves at spootnik.org>
* smux.c: (smux_open,smux_trap,smux_register) Fix various
asn_build_* calls to pass the proper length in the final
argument: use sizeof(<variable>) instead of sizeof(<type>),
since there were several inconsistencies between the actual
variable type and the size that was passed. This should
fix some problems on 64-bit architectures where sizeof(int)
!= sizeof(long).
commit 7a1adac66c950f3db67a069d09ba4bb344f11ab2
Author: ajs <ajs>
Date: Mon Sep 25 13:26:14 2006 +0000
[ospfd] Improve some warning messages.
2006-09-25 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* ospf_packet.c: (ospf_packet_dup, ospf_make_md5_digest)
Fix zlog_warn messages to eliminate compiler warnings.
(ospf_hello) Improve warning messages to show why we
are complaining.
commit 6c866d19516dda220948d48f2b93aafde2e75981
Author: gdt <gdt>
Date: Wed Sep 20 14:46:07 2006 +0000
Add recent NetBSD/FreeBSD versions to list of what ought to work.
Add Dragonfly.
Clarify that the C99 requirement includes libraries and headers, not
just compiler.
commit dcf98c6731d3d836c815ea2fab5e5100c37384e0
Author: ajs <ajs>
Date: Tue Sep 19 18:51:53 2006 +0000
[bgpd] Trivial fix of printf format/arg mismatch
2006-09-19 Andrew J. Schorr <ajschorr at alumni.princeton.edu>
* bgpd.c: (peer_uptime) Fix printf format/arg mismatch in
zlog_warn message (%ld/size_t -> %lu/u_long).
commit 5d67aab0d487dcd11b1ddb64d0c3f20cc0a76ba2
Author: paul <paul>
Date: Thu Sep 14 03:38:16 2006 +0000
[bgpd] reduce the process queue hold time to something more sensible
2006-09-14 Paul Jakma <paul.jakma at sun.com>
* bgp_route.c: (bgp_process_queue_init) process queue hold time
too high, adds extra memory load. Change to be much lower,
until such time as it's made configurable.
commit 619c93ea9e230f8f23171ae37a1f9f2adbbb9465
Author: paul <paul>
Date: Thu Sep 14 03:06:54 2006 +0000
[bgpd] RIB statistics address space size shouldnt double count space
2006-09-14 Paul Jakma <paul.jakma at sun.com>
* bgp_route.c: (bgp_table_stats_walker) Address space announced
should only count top-level unaggregateable prefixes, to
avoid falling afoul of anti-dodgy-accounting regulations
in various jurisdictions.. ;)
commit 7529b9ebd0b84f174be55c4d2a3438e91bd51000
Author: paul <paul>
Date: Thu Sep 14 03:02:02 2006 +0000
[bgpd] simplify peer refcounts, squash slow peer leak
2006-09-14 Paul Jakma <paul.jakma at sun.com>
* (general) fix the peer refcount issue exposed by previous, by
just removing refcounting of peer threads, which is mostly
senseless as they're references leading from struct peer,
which peer_free cancels anyway. No need to muck around..
* bgp_fsm.h: Just remove the refcounting from the various
TIMER/READ/WRITE/EVENT ON/OFF/ADD macros.
* bgp_fsm.c: (bgp_stop) use BGP_EVENT_FLUSH, no refcounts attached
to events anymore.
(bgp_event) remove peer_unlock, events not refcounted.
* bgpd.c: (peer_free) flush events before free.
commit ddf4cb34870f7e7ae31b02b97d3a942e75f20072
Author: paul <paul>
Date: Thu Sep 14 02:58:49 2006 +0000
[bgpd] Fix 0.99 shutdown regression, introduce Clearing and Deleted states
2006-09-14 Paul Jakma <paul.jakma at sun.com>
* (general) Fix some niggly issues around 'shutdown' and clearing
by adding a Clearing FSM wait-state and a hidden 'Deleted'
FSM state, to allow deleted peers to 'cool off' and hit 0
references. This introduces a slow memory leak of struct peer,
however that's more a testament to the fragility of the
reference counting than a bug in this patch, cleanup of
reference counting to fix this is to follow.
* bgpd.h: Add Clearing, Deleted states and Clearing_Completed
and event.
* bgp_debug.c: (bgp_status_msg[]) Add strings for Clearing and
Deleted.
* bgp_fsm.h: Don't allow timer/event threads to set anything
for Deleted peers.
* bgp_fsm.c: (bgp_timer_set) Add Clearing and Deleted. Deleted
needs to stop everything.
(bgp_stop) Remove explicit fsm_change_status call, the
general framework handles the transition.
(bgp_start) Log a warning if a start is attempted on a peer
that should stay down, trying to start a peer.
(struct .. FSM) Add Clearing_Completed
events, has little influence except when in state
Clearing to signal wait-state can end.
Add Clearing and Deleted states, former is a wait-state,
latter is a placeholder state to allow peers to disappear
quietly once refcounts settle.
(bgp_event) Try reduce verbosity of FSM state-change debug,
changes to same state are not interesting (Established->Established)
Allow NULL action functions in FSM.
* bgp_packet.c: (bgp_write) Use FSM events, rather than trying
to twiddle directly with FSM state behind the back of FSM.
(bgp_write_notify) ditto.
(bgp_read) Remove the vague ACCEPT_PEER peer_unlock, or else
this patch crashes, now it leaks instead.
* bgp_route.c: (bgp_clear_node_complete) Clearing_Completed
event, to end clearing.
(bgp_clear_route)