--------------------- PatchSet 1239 Date: 2005/05/03 10:07:56 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-03 Paul Jakma * stream.h: Add comment about the special zero-ing ability of stream_put. (stream_recvmsg, stream_write) should return ssize_t and size_t respectively. Should both be extern linkage. (stream_recvfrom) Stream aware wrapper around recvfrom, in style of stream_read_try. * stream.c: (stream_recvfrom) new function, wrapper around recvfrom. (stream_recvmsg, stream_write) ssize_t and size_t return values Members: lib/ChangeLog:1.184->1.185 lib/stream.c:1.9->1.10 lib/stream.h:1.7->1.8 --------------------- PatchSet 1240 Date: 2005/05/03 10:27:23 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-03 Paul Jakma * (general) More cleaning up of stream abuse, isisd should be back to previous functionality. Replace various XMALLOC+memset's with XCALLOC * isis_tlv.c: (tlv_add_padding) use stream_put to clear the stream rather than forward endp, as isisd reuses streams. * isis_pdu.c: (process_lsp) cleanup direct reference to stream endp (send_lsp) manual copy of a stream cleaned up to use stream_copy. * isis_network.c: (isis_recv_pdu_bcast) replace direct memcpy with stream_write (isis_recv_pdu_p2p) replace recvfrom directly into stream with stream_recvfrom. Remove dangerous and now unneeded manual update of endp. (isis_recv_pdu_bcast / non-GNU_LINUX) Replace direct memcpy with stream_write. (isis_recv_pdu_p2p) replace read direct into stream with stream_read_try, and hence remove the manual update of endp. * isis_lsp.c: (lsp_update_data) manual stream dup replaced with stream_dup. (lsppdu_realloc) mempcy into stream data replaced with stream_put. (lsp_build_nonpseudo) remove mysterious stream_forward_endp's - which were originally stream_set_putp - shouldn't be needed now that all the manual fiddling of private stream data has been corrected. (build_topology_lsp_data) remove unneeded twiddling of endp, appears to be due to lsppdu_realloc(), but it appears to sort of do the right thing wrt streams. Members: isisd/ChangeLog:1.45->1.46 isisd/isis_lsp.c:1.20->1.21 isisd/isis_network.c:1.9->1.10 isisd/isis_pdu.c:1.16->1.17 isisd/isis_tlv.c:1.13->1.14 --------------------- PatchSet 1243 Date: 2005/05/06 20:33:35 Author: hasso Branch: HEAD Tag: (none) Log: * sockunion.c: Fix warning message. Members: lib/ChangeLog:1.185->1.186 lib/sockunion.c:1.8->1.9 --------------------- PatchSet 1244 Date: 2005/05/06 22:25:49 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-06 Paul Jakma * (general) extern and static'ification of functions in code and header. Cleanup any definitions with unspecified arguments. Add casts for callback assignments where the callback is defined, typically, as passing void *, but the function being assigned has some other pointer type defined as its argument, as gcc complains about casts from void * to X* via function arguments. Fix some old K&R style function argument definitions. Add noreturn gcc attribute to some functions, as appropriate. Add unused gcc attribute to some functions (eg ones meant to help while debugging) Add guard defines to headers which were missing them. * command.c: (install_node) add const qualifier, still doesnt shut up the warning though, because of the double pointer. (cmp_node) ditto * keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived fromn vty.h ones to fix some of the (long) < 0 warnings. * thread.c: (various) use thread_empty (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type * vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they removed from ospfd/ospf_vty.h * zebra.h: Move definition of ZEBRA_PORT to here, to remove dependence of lib on zebra/zserv.h Members: lib/ChangeLog:1.186->1.187 lib/buffer.h:1.8->1.9 lib/checksum.c:1.1->1.2 lib/command.c:1.47->1.48 lib/command.h:1.18->1.19 lib/distribute.c:1.4->1.5 lib/distribute.h:1.2->1.3 lib/filter.c:1.5->1.6 lib/filter.h:1.2->1.3 lib/getopt.h:1.1->1.2 lib/hash.c:1.3->1.4 lib/hash.h:1.1->1.2 lib/if.c:1.30->1.31 lib/if.h:1.20->1.21 lib/if_rmap.c:1.6->1.7 lib/if_rmap.h:1.4->1.5 lib/jhash.h:1.1->1.2 lib/keychain.c:1.5->1.6 lib/keychain.h:1.2->1.3 lib/linklist.c:1.9->1.10 lib/linklist.h:1.6->1.7 lib/log.h:1.17->1.18 lib/md5.c:1.1->1.2 lib/memory.c:1.13->1.14 lib/memory.h:1.12->1.13 lib/network.h:1.5->1.6 lib/plist.c:1.5->1.6 lib/plist.h:1.2->1.3 lib/pqueue.c:1.2->1.3 lib/pqueue.h:1.2->1.3 lib/prefix.c:1.7->1.8 lib/prefix.h:1.6->1.7 lib/privs.h:1.4->1.5 lib/routemap.c:1.11->1.12 lib/routemap.h:1.6->1.7 lib/sigevent.c:1.8->1.9 lib/sigevent.h:1.2->1.3 lib/smux.h:1.4->1.5 lib/sockopt.h:1.10->1.11 lib/sockunion.c:1.9->1.10 lib/sockunion.h:1.3->1.4 lib/str.h:1.2->1.3 lib/stream.h:1.8->1.9 lib/table.c:1.2->1.3 lib/table.h:1.1->1.2 lib/thread.c:1.17->1.18 lib/thread.h:1.9->1.10 lib/vector.h:1.2->1.3 lib/vty.h:1.10->1.11 lib/workqueue.h:1.2->1.3 lib/zclient.c:1.17->1.18 lib/zclient.h:1.5->1.6 lib/zebra.h:1.33->1.34 --------------------- PatchSet 1245 Date: 2005/05/06 22:27:33 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-06 Paul Jakma * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now Members: zebra/ChangeLog:1.87->1.88 zebra/zserv.h:1.10->1.11 --------------------- PatchSet 1246 Date: 2005/05/06 22:37:42 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-06 Paul Jakma * (general) extern and static qualifiers added. unspecified arguments in definitions fixed, typically they should be 'void'. function casts added for callbacks. Guards added to headers which lacked them. Proper headers included rather than relying on incomplete definitions. gcc noreturn function attribute where appropriate. * ospf_opaque.c: remove the private definition of ospf_lsa's ospf_lsa_refresh_delay. * ospf_lsa.h: export ospf_lsa_refresh_delay * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const, correct thing to do - removes need for the casts later. * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's home-brewed versions, shuts up several warnings. * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX moved to lib/vty.h. * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky overloading of the THREAD_ARG pointer should at least use uintptr_t. Members: ospfd/ChangeLog:1.118->1.119 ospfd/ospf_abr.c:1.15->1.16 ospfd/ospf_abr.h:1.2->1.3 ospfd/ospf_api.h:1.2->1.3 ospfd/ospf_apiserver.c:1.18->1.19 ospfd/ospf_apiserver.h:1.2->1.3 ospfd/ospf_asbr.c:1.2->1.3 ospfd/ospf_asbr.h:1.2->1.3 ospfd/ospf_ase.c:1.11->1.12 ospfd/ospf_ase.h:1.1->1.2 ospfd/ospf_dump.c:1.17->1.18 ospfd/ospf_dump.h:1.4->1.5 ospfd/ospf_flood.c:1.14->1.15 ospfd/ospf_flood.h:1.1->1.2 ospfd/ospf_ia.c:1.7->1.8 ospfd/ospf_ia.h:1.1->1.2 ospfd/ospf_interface.c:1.33->1.34 ospfd/ospf_interface.h:1.10->1.11 ospfd/ospf_ism.c:1.8->1.9 ospfd/ospf_ism.h:1.1->1.2 ospfd/ospf_lsa.c:1.35->1.36 ospfd/ospf_lsa.h:1.10->1.11 ospfd/ospf_lsdb.c:1.4->1.5 ospfd/ospf_lsdb.h:1.3->1.4 ospfd/ospf_main.c:1.22->1.23 ospfd/ospf_neighbor.c:1.7->1.8 ospfd/ospf_neighbor.h:1.2->1.3 ospfd/ospf_network.h:1.1->1.2 ospfd/ospf_nsm.c:1.9->1.10 ospfd/ospf_nsm.h:1.1->1.2 ospfd/ospf_opaque.c:1.14->1.15 ospfd/ospf_opaque.h:1.2->1.3 ospfd/ospf_packet.c:1.74->1.75 ospfd/ospf_packet.h:1.5->1.6 ospfd/ospf_route.c:1.12->1.13 ospfd/ospf_route.h:1.4->1.5 ospfd/ospf_routemap.c:1.4->1.5 ospfd/ospf_snmp.h:1.1->1.2 ospfd/ospf_spf.c:1.17->1.18 ospfd/ospf_spf.h:1.5->1.6 ospfd/ospf_te.c:1.10->1.11 ospfd/ospf_vty.c:1.32->1.33 ospfd/ospf_vty.h:1.1->1.2 ospfd/ospf_zebra.c:1.31->1.32 ospfd/ospf_zebra.h:1.2->1.3 ospfd/ospfd.c:1.30->1.31 ospfd/ospfd.h:1.13->1.14 --------------------- PatchSet 1247 Date: 2005/05/07 03:22:51 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-07 Yar Tikhiy * configure.ac: Check for OSes which support passing ifindex in struct ip_mreq. * lib/sockopt.c: Add support for BSD style ifindex in ip_mreq. * ospfd/ospf_network.c: Log ifindex on multicast membership leave/join events. Members: ChangeLog:1.123->1.124 configure.ac:1.105->1.106 lib/ChangeLog:1.187->1.188 lib/sockopt.c:1.20->1.21 ospfd/ChangeLog:1.119->1.120 ospfd/ospf_network.c:1.10->1.11 --------------------- PatchSet 1248 Date: 2005/05/11 16:56:21 Author: ajs Branch: HEAD Tag: (none) Log: 2005-05-11 Andrew J. Schorr * rip_interface.c (rip_interface_add): Need to call rip_passive_interface_apply (was already calling it in rip_interface_up). [backport candidate] Members: ripd/ChangeLog:1.36->1.37 ripd/rip_interface.c:1.27->1.28 --------------------- PatchSet 1250 Date: 2005/05/11 19:09:59 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-11 Paul Jakma * (general) Fix memory leaks in opaque AS-scope LSAs, reported and with much debugging done by by scott collins . (possible backport candidate?) * ospf_lsa.c: (ospf_discard_from_db) dont call ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are never registered with ase in the first place. * ospf_packet.c: (general) Disabuse opaque related code of its tendency to try gather up things into temporary lists. (ospf_ls_upd) remove the temporary lists opaque uses, call opaque functions inline, just like all other types. (ospf_ls_ack) ditto. (ospf_recv_packet) fixup sign warning. * ospf_opaque.c: (general) fix the unneeded use of lists, and untwist some of the logic. (ospf_opaque_self_originated_lsa_received) take a single LSA as argument, not a list of them. Remove the list loop. Logic otherwise unchanged. (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic, move the actions up into the switch block, remove the goto's and sanitise the logic near the end a bit. * ospf_opaque.h: Adjust definitions of aforementioned functions in ospf_opaque.c to match. Members: ospfd/ChangeLog:1.120->1.121 ospfd/ospf_lsa.c:1.36->1.37 ospfd/ospf_opaque.c:1.15->1.16 ospfd/ospf_opaque.h:1.3->1.4 ospfd/ospf_packet.c:1.75->1.76 --------------------- PatchSet 1251 Date: 2005/05/13 08:09:50 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-13 Paul Jakma * configure.ac: Comment out the touch doc/quagga.info hack. I'm hoping it's not needed anymore, cause it breaks out of tree builds which i've become fond of.. Plus I think we sorted out most of the original problems (updated texinfo.tex, moved the version info to an autogenerated by automake version.texi). Dist users most definitely wont be affected. Members: ChangeLog:1.124->1.125 configure.ac:1.106->1.107 --------------------- PatchSet 1252 Date: 2005/05/13 08:15:35 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-13 Paul Jakma * quagga.xml.in: Sigh, XML child elements are order-sensitive. * prototype.doc.in: info/dir doesnt get created always.. comment out for now, likely needs to be done with an install method. Members: solaris/prototype.doc.in:1.1->1.2 solaris/quagga.xml.in:1.1->1.2 --------------------- PatchSet 1253 Date: 2005/05/13 08:16:28 Author: paul Branch: HEAD Tag: (none) Log: - Forgot to commit ChangeLog Members: solaris/ChangeLog:1.6->1.7 --------------------- PatchSet 1254 Date: 2005/05/13 08:26:07 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-13 Paul Jakma * prototype.daemons.in: Move the Solaris 10 SMF specific stuff to a seperate package. * depend.smf: dependencies for smf package * pkginfo.smf.tmpl.in: pkginfo for smf * prototype.smf.in: prototype for smf * Makefile.am: Add smf to pkg_names Members: solaris/ChangeLog:1.7->1.8 solaris/Makefile.am:1.5->1.6 solaris/depend.smf:INITIAL->1.1 solaris/pkginfo.smf.tmpl.in:INITIAL->1.1 solaris/prototype.daemons.in:1.2->1.3 solaris/prototype.smf.in:INITIAL->1.1 --------------------- PatchSet 1255 Date: 2005/05/13 21:11:53 Author: paul Branch: HEAD Tag: (none) Log: - revert the commenting of touch doc/quagga.info, wont work because defines.texi is autogenerated every configure time so it will always be newer than quagga.info, and hence require quagga.info to be built. drat. Members: ChangeLog:1.125->1.126 configure.ac:1.107->1.108 --------------------- PatchSet 1256 Date: 2005/05/15 15:25:08 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-15 Paul Jakma * getopt.h: It's not just __GNU_LIBRARY__ which defines getopt, eg __EXTENSIONS__ does too on SunOS. It still seems awfully fragile though. * getopt.c: include zebra.h after config.h, before including getopt.h so that things at least are consistent.. * getopt1.c: ditto Members: lib/ChangeLog:1.188->1.189 lib/getopt.c:1.1->1.2 lib/getopt.h:1.2->1.3 lib/getopt1.c:1.1->1.2 --------------------- PatchSet 1257 Date: 2005/05/19 00:29:57 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-19 Paul Jakma * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug a less serious one. 1: this function is supposed to lookup entries in the oifs ospf_interface route_table and return either an existing oi or NULL to indicate not found, its caller depends on this, yet this function uses route_node_get which /always/ returns a route_node - one is created if none exists. Use route_node_lookup instead. This should fix root cause of the reports of the (ospf_add_to_if) assert being hit. 2: oi's are inserted into this table with prefixlength set to /32 (indeed, it should be a hash table, not a route_table), however prefixlength to lookup was not changed, if no valid entry can be inserted other than /32, then nothng but /32 should be looked up. This possibly only worked by fluke.. Fix confirmed by 2 reporters (one list, one IRC), definitely a backport candidate once it has been incubated in HEAD for a while. Thanks to Patrick Friedel and Ivan Warren for testing. Members: ospfd/ChangeLog:1.121->1.122 ospfd/ospf_interface.c:1.34->1.35 --------------------- PatchSet 1258 Date: 2005/05/19 02:30:53 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-19 Paul Jakma * thread.c: (thread_cancel_event) the number of pending events cancelled is potentially useful information, dont throw it away, pass it back to the caller. Members: lib/ChangeLog:1.189->1.190 lib/thread.c:1.18->1.19 lib/thread.h:1.10->1.11 --------------------- PatchSet 1259 Date: 2005/05/19 02:37:50 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-19 Paul Jakma * sockunion.c: (sockunion_getsockname) use MTYPE_SOCKUNION, not TMP (sockunion_getpeername) ditto Members: lib/ChangeLog:1.190->1.191 lib/sockunion.c:1.10->1.11 --------------------- PatchSet 1260 Date: 2005/05/19 02:50:11 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-19 Paul Jakma * bgp_fsm.c: (bgp_stop) use sockunion_free, not XFREE.. * bgp_network.c: (bgp_getsockname) ditto * bgp_routemap.c: (route_match_peer) ditto, als use a ret value and remove one sockunion_free. * bgpd.c: (peer_delete) ditto Members: bgpd/ChangeLog:1.54->1.55 bgpd/bgp_fsm.c:1.11->1.12 bgpd/bgp_network.c:1.11->1.12 bgpd/bgp_routemap.c:1.13->1.14 bgpd/bgpd.c:1.20->1.21 --------------------- PatchSet 1261 Date: 2005/05/19 03:12:25 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-19 Paul Jakma * bgp_network.c: (bgp_accept) use XSTRDUP * bgpd.c: (peer_delete) XFREE the correct memtype, not free. (peer_create) use XSTRDUP * bgp_packet.c: (bgp_stream_dup) deleted, stream_dup should be used (various) update -> s/bgp_stream_dup/stream_dup Members: bgpd/ChangeLog:1.55->1.56 bgpd/bgp_network.c:1.12->1.13 bgpd/bgp_packet.c:1.18->1.19 bgpd/bgpd.c:1.21->1.22 --------------------- PatchSet 1262 Date: 2005/05/19 03:13:28 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-19 Paul Jakma * memtypes.c: (memory_list_bgp) add MTYPE_BGP_PEER_HOST Members: lib/ChangeLog:1.191->1.192 lib/memtypes.c:1.4->1.5 --------------------- PatchSet 1263 Date: 2005/05/23 13:33:58 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-23 Paul Jakma * memtypes.awk: use character classes, which work correctly in all LC_COLLATE environments, unlike A-Z, which doesnt work in eg estonian collate order. Reported by Hasso. Members: lib/ChangeLog:1.192->1.193 lib/memtypes.awk:1.2->1.3 --------------------- PatchSet 1264 Date: 2005/05/23 13:43:34 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-23 Paul Jakma * routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command is used, which does not supply an argv[0]. this is a backport candidate /iff/ the trailing ; is removed from VTY_GET_INTEGER_RANGE * vty.h: fix the VTY_GET macros, do {..} while(0) so they have correct function like syntax in usage. Members: lib/ChangeLog:1.193->1.194 lib/routemap.c:1.12->1.13 lib/vty.h:1.11->1.12 --------------------- PatchSet 1265 Date: 2005/05/23 14:17:29 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-23 Paul Jakma * bgp_routemap.c: add semi-colons to VTY_GET_* to match vty.h change Members: bgpd/ChangeLog:1.56->1.57 bgpd/bgp_routemap.c:1.14->1.15 --------------------- PatchSet 1266 Date: 2005/05/23 14:42:46 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-23 Paul Jakma * workqueue.h: Add a WQ_QUEUE_BLOCKED item_status return code, to allow a queue function to indicate the queue is not ready/blocked - rather than any problem with the item at hand. Add a notion of being able to 'plug' and 'unplug' a queue. Add helpers to plug/unplug a queue. Add a completion callback, to be called when a queue is emptied. * workqueue.c: (work_queue_new) remove useless list_free. (work_queue_schedule) new internal helper function to schedule queue, if appropriate. (work_queue_add) use work_queue_schedule (show_work_queues) Print 'P' if queue is plugged. (work_queue_plug) new API function, plug a queue - ie prevent it from 'drained' / processed / scheduled. (work_queue_unplug) unplug a queue, allowing it to be drained / scheduled / processed again. (work_queue_run) Add support for WQ_QUEUE_BLOCKED. Add comment for RETRY_NOW case. Make hysteris more aggresive in ramping up granularity, improves performance significantly. Add support for calling completion callback when queue is emptied, possibly useful for knowing when to unplug a queue. Members: lib/ChangeLog:1.194->1.195 lib/workqueue.c:1.3->1.4 lib/workqueue.h:1.3->1.4 --------------------- PatchSet 1267 Date: 2005/05/23 15:19:54 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-23 Paul Jakma * bgp_fsm.h: Add extern qualifier to exported functions * bgp_nexthop.c: add static to nexthop specific globals * *.h: Add guard defines Members: bgpd/ChangeLog:1.57->1.58 bgpd/bgp_advertise.h:1.1->1.2 bgpd/bgp_aspath.h:1.3->1.4 bgpd/bgp_attr.h:1.4->1.5 bgpd/bgp_clist.h:1.3->1.4 bgpd/bgp_community.h:1.3->1.4 bgpd/bgp_damp.h:1.2->1.3 bgpd/bgp_debug.h:1.3->1.4 bgpd/bgp_dump.h:1.2->1.3 bgpd/bgp_ecommunity.h:1.4->1.5 bgpd/bgp_filter.h:1.2->1.3 bgpd/bgp_fsm.h:1.3->1.4 bgpd/bgp_mplsvpn.h:1.3->1.4 bgpd/bgp_network.h:1.1->1.2 bgpd/bgp_nexthop.c:1.12->1.13 bgpd/bgp_nexthop.h:1.1->1.2 bgpd/bgp_open.h:1.2->1.3 bgpd/bgp_packet.h:1.3->1.4 bgpd/bgp_regex.h:1.2->1.3 bgpd/bgp_route.h:1.7->1.8 bgpd/bgp_snmp.h:1.1->1.2 bgpd/bgp_table.h:1.2->1.3 bgpd/bgp_vty.h:1.2->1.3 bgpd/bgp_zebra.h:1.2->1.3 bgpd/bgpd.h:1.20->1.21 --------------------- PatchSet 1268 Date: 2005/05/24 10:33:52 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-24 Paul Jakma * memtypes.h: update this auto-built file. (maybe we should just remove it, is GNU awk a terrible dependency to have?) Members: lib/ChangeLog:1.195->1.196 lib/memtypes.h:1.2->1.3 --------------------- PatchSet 1269 Date: 2005/05/25 13:21:13 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-25 Paul Jakma * isisd.c: (show_isis_generated_topology) change to _RO version of list macro. remove the extra listnode variable. one of the macros had had incorrect number of arguments. Members: isisd/ChangeLog:1.46->1.47 isisd/isisd.c:1.15->1.16 --------------------- PatchSet 1272 Date: 2005/05/25 22:00:28 Author: hasso Branch: HEAD Tag: (none) Log: * bgpd.c: Fix obvious (routeserver patch) merge error. This makes "no neighbor x.x.x.x routemap [export|import] commands work again. Fixes bugzilla #184. [backport candidate] Members: bgpd/ChangeLog:1.58->1.59 bgpd/bgpd.c:1.22->1.23 --------------------- PatchSet 1273 Date: 2005/05/25 22:15:32 Author: hasso Branch: HEAD Tag: (none) Log: * rip_routemap.c: Make "match interface" routemap command match both - in and out interfaces. Fixes bugzilla #185. [backport candidate] Members: ripd/ChangeLog:1.37->1.38 ripd/rip_routemap.c:1.7->1.8 --------------------- PatchSet 1274 Date: 2005/05/26 07:26:40 Author: hasso Branch: HEAD Tag: (none) Log: * rip_routemap.c: In case of '0.0.0.0' used as 'nexthop', use sender address as nexthop in routemap. Fixes bugzilla #186. [backport candidate] Members: ripd/ChangeLog:1.38->1.39 ripd/rip_routemap.c:1.8->1.9 --------------------- PatchSet 1275 Date: 2005/05/26 09:29:07 Author: hasso Branch: HEAD Tag: (none) Log: * bgpd.c: Don't crash while deleting list of peer-groups. [backport candidate] Members: bgpd/ChangeLog:1.59->1.60 bgpd/bgpd.c:1.23->1.24 --------------------- PatchSet 1276 Date: 2005/05/26 12:30:38 Author: hasso Branch: HEAD Tag: (none) Log: * isis_dr.c: Fix copy&paste error in isis_dr_resign(). [backport candidate] Members: isisd/ChangeLog:1.47->1.48 isisd/isis_dr.c:1.11->1.12 --------------------- PatchSet 1277 Date: 2005/05/26 18:11:13 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-26 Paul Jakma * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself had been fixed long ago by Sowmini. Members: ospfd/ChangeLog:1.122->1.123 ospfd/ospf_abr.c:1.16->1.17 --------------------- PatchSet 1278 Date: 2005/05/26 23:12:33 Author: hasso Branch: HEAD Tag: (none) Log: * bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups deleting fix. Avoid leaking bgp->group, bgp->peer and bgp->rsclient lists. [backport candidate] Members: bgpd/ChangeLog:1.60->1.61 bgpd/bgpd.c:1.24->1.25 --------------------- PatchSet 1279 Date: 2005/05/27 04:26:57 Author: hasso Branch: HEAD Tag: (none) Log: * bgp_routemap.c: Stop leaking communities. Fixes bugzilla #89. [backport candidate] Members: bgpd/ChangeLog:1.61->1.62 bgpd/bgp_routemap.c:1.15->1.16 --------------------- PatchSet 1286 Date: 2005/05/28 05:50:54 Author: hasso Branch: HEAD Tag: (none) Log: Sync bgpd and ripd set_metric_addsub_cmd commands. Fixes bugzilla #192. [backport candidate] Members: bgpd/ChangeLog:1.62->1.63 bgpd/bgp_routemap.c:1.16->1.17 ripd/ChangeLog:1.39->1.40 ripd/rip_routemap.c:1.9->1.10 --------------------- PatchSet 1287 Date: 2005/05/29 12:27:24 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-29 Paul Jakma * ripd.c: (rip_output_process) fix error which crept in my previous rip auth untanglement commit - it had become impossible to not have authentication (even for v1). Members: ripd/ChangeLog:1.40->1.41 ripd/ripd.c:1.42->1.43 --------------------- PatchSet 1288 Date: 2005/05/31 09:38:50 Author: paul Branch: HEAD Tag: (none) Log: 2005-05-31 Paul Jakma * zserv.c: (zsend_route_multipath) Fix bug if route is sent with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX and ZAPI_MESSAGE_NEXTHOP are always set, clients would try read non-existent nexthop information and hit stream assert. Zserv is still broken for multi-nexthop messages, but it always was. Members: zebra/ChangeLog:1.88->1.89 zebra/zserv.c:1.30->1.31 --------------------- PatchSet 1289 Date: 2005/05/31 10:18:25 Author: hasso Branch: HEAD Tag: (none) Log: Ignore generated prototype.smf. Members: solaris/.cvsignore:1.2->1.3 --------------------- PatchSet 1290 Date: 2005/05/31 11:24:28 Author: hasso Branch: HEAD Tag: pre_bgp_workqueus Log: * ospf6d.c: No need for double ';'. Fixes parsing "show ipv6 ospf6 database ..." commands for vtysh by extract.pl. Remove duplicate install_element calls. Fixes bugzilla #194. [backport candidate] Members: ospf6d/ChangeLog:1.42->1.43 ospf6d/ospf6d.c:1.18->1.19 --------------------- PatchSet 1293 Date: 2005/06/01 12:17:05 Author: paul Branch: HEAD Tag: post_bgp_workqueus Log: 2005-06-01 Paul Jakma * bgpd/(general) refcount struct peer and bgp_info, hence allowing us add work_queues for bgp_process. * bgpd/bgp_route.h: (struct bgp_info) Add 'lock' field for refcount. Add bgp_info_{lock,unlock} helper functions. Add bgp_info_{add,delete} helpers, to remove need for users managing locking/freeing of bgp_info and bgp_node's. * bgpd/bgp_table.h: (struct bgp_node) Add a flags field, and BGP_NODE_PROCESS_SCHEDULED to merge redundant processing of nodes. * bgpd/bgp_fsm.h: Make the ON/OFF/ADD/REMOVE macros lock and unlock peer reference as appropriate. * bgpd/bgp_damp.c: Remove its internal prototypes for bgp_info_delete/free. Just use bgp_info_delete. * bgpd/bgpd.h: (struct bgp_master) Add work_queue pointers. (struct peer) Add reference count 'lock' (peer_lock,peer_unlock) New helpers to take/release reference on struct peer. * bgpd/bgp_advertise.c: (general) Add peer and bgp_info refcounting and balance how references are taken and released. (bgp_advertise_free) release bgp_info reference, if appropriate (bgp_adj_out_free) unlock peer (bgp_advertise_clean) leave the adv references alone, or else call bgp_advertise_free cant unlock them. (bgp_adj_out_set) lock the peer on new adj's, leave the reference alone otherwise. lock the new bgp_info reference. (bgp_adj_in_set) lock the peer reference (bgp_adj_in_remove) and unlock it here (bgp_sync_delete) make hash_free on peer conditional, just in case. * bgpd/bgp_fsm.c: (general) document that the timers depend on bgp_event to release a peer reference. (bgp_fsm_change_status) moved up the file, unchanged. (bgp_stop) Decrement peer lock as many times as cancel_event canceled - shouldnt be needed but just in case. stream_fifo_clean of obuf made conditional, just in case. (bgp_event) always unlock the peer, regardless of return value of bgp_fsm_change_status. * bgpd/bgp_packet.c: (general) change several bgp_stop's to BGP_EVENT's. (bgp_read) Add a mysterious extra peer_unlock for ACCEPT_PEERs along with a comment on it. * bgpd/bgp_route.c: (general) Add refcounting of bgp_info, cleanup some of the resource management around bgp_info. Refcount peer. Add workqueues for bgp_process and clear_table. (bgp_info_new) make static (bgp_info_free) Ditto, and unlock the peer reference. (bgp_info_lock,bgp_info_unlock) new exported functions (bgp_info_add) Add a bgp_info to a bgp_node in correct fashion, taking care of reference counts. (bgp_info_delete) do the opposite of bgp_info_add. (bgp_process_rsclient) Converted into a work_queue work function. (bgp_process_main) ditto. (bgp_processq_del) process work queue item deconstructor (bgp_process_queue_init) process work queue init (bgp_process) call init function if required, set up queue item and add to queue, rather than calling process functions directly. (bgp_rib_remove) let bgp_info_delete manage bgp_info refcounts (bgp_rib_withdraw) ditto (bgp_update_rsclient) let bgp_info_add manage refcounts (bgp_update_main) ditto (bgp_clear_route_node) clear_node_queue work function, does per-node aspects of what bgp_clear_route_table did previously (bgp_clear_node_queue_del) clear_node_queue item delete function (bgp_clear_node_complete) clear_node_queue completion function, it unplugs the process queues, which have to be blocked while clear_node_queue is being processed to prevent a race. (bgp_clear_node_queue_init) init function for clear_node_queue work queues (bgp_clear_route_table) Sets up items onto a workqueue now, rather than clearing each node directly. Plugs both process queues to avoid potential race. (bgp_static_withdraw_rsclient) let bgp_info_{add,delete} manage bgp_info refcounts. (bgp_static_update_rsclient) ditto (bgp_static_update_main) ditto (bgp_static_update_vpnv4) ditto, remove unneeded cast. (bgp_static_withdraw) see bgp_static_withdraw_rsclient (bgp_static_withdraw_vpnv4) ditto (bgp_aggregate_{route,add,delete}) ditto (bgp_redistribute_{add,delete,withdraw}) ditto * bgpd/bgp_vty.c: (peer_rsclient_set_vty) lock rsclient list peer reference (peer_rsclient_unset_vty) ditto, but unlock same reference * bgpd/bgpd.c: (peer_free) handle frees of info to be kept for lifetime of struct peer. (peer_lock,peer_unlock) peer refcount helpers (peer_new) add initial refcounts (peer_create,peer_create_accept) lock peer as appropriate (peer_delete) unlock as appropriate, move out some free's to peer_free. (peer_group_bind,peer_group_unbind) peer refcounting as appropriate. (bgp_create) check CALLOC return value. (bgp_terminate) free workqueues too. * lib/memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and MTYPE_BGP_CLEAR_NODE_QUEUE Members: bgpd/ChangeLog:1.63->1.64 bgpd/bgp_advertise.c:1.3->1.4 bgpd/bgp_damp.c:1.2->1.3 bgpd/bgp_fsm.c:1.12->1.13 bgpd/bgp_fsm.h:1.4->1.5 bgpd/bgp_packet.c:1.19->1.20 bgpd/bgp_route.c:1.31->1.32 bgpd/bgp_route.h:1.8->1.9 bgpd/bgp_table.h:1.3->1.4 bgpd/bgp_vty.c:1.23->1.24 bgpd/bgpd.c:1.25->1.26 bgpd/bgpd.h:1.21->1.22 lib/ChangeLog:1.196->1.197 lib/memtypes.c:1.5->1.6 --------------------- PatchSet 1294 Date: 2005/06/01 12:20:51 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-01 Akihiro Mizutani * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug. Members: ospfd/ChangeLog:1.123->1.124 ospfd/ospf_ism.c:1.9->1.10 --------------------- PatchSet 1295 Date: 2005/06/02 09:20:53 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-01 Paul Jakma * rip_interface.c: Fix authentication, no-auth impossible to specify (rip_interface_new) default to RIP_NO_AUTH (rip_interface_reset) ditto (rip_interface_config_write) write out config for simple Members: ripd/ChangeLog:1.41->1.42 ripd/rip_interface.c:1.28->1.29 --------------------- PatchSet 1296 Date: 2005/06/02 09:22:47 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-01 Paul Jakma * NEWS: bgpd work queues and ripd auth-mode change Members: ChangeLog:1.126->1.127 NEWS:1.17->1.18 --------------------- PatchSet 1297 Date: 2005/06/02 17:33:53 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-02 Paul Jakma * quagga.xml.in: Fix mistake in bgpd definition. Change dependency on zebra to optional. Remove the duplicated stability statements. * quagga.init.in: svcprop should check PACKAGE_TARNAME, not _NAME. no need to check for config file either, there's already a dependency in the manifest. Members: solaris/ChangeLog:1.8->1.9 solaris/quagga.init.in:1.2->1.3 solaris/quagga.xml.in:1.2->1.3 --------------------- PatchSet 1298 Date: 2005/06/03 18:46:49 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-03 Paul Jakma * ripd.c: (rip_create_socket) move it up so rip_send_packet can use it too. Members: ripd/ChangeLog:1.42->1.43 ripd/ripd.c:1.43->1.44 --------------------- PatchSet 1299 Date: 2005/06/03 19:01:50 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-03 Paul Jakma * ripd.c: (rip_create_socket) Make it static. Remove the getservbyname stuff, as RFC2453 3.9.2 says non-RIP port messages should be discarded, quagga doesnt accept them, no need to lookup port. Take a 'to' argument, if socket should be bound to something else. setsockopt_so_recvbuf might need privs, move it to the raised privileges section. dont forget to close the socket if bind fails. (rip_send_packet) use strncpy, just in case (address is under our control anyway, but still). dont duplicate rip_create_socket - just use it. (rip_create) rip_create_socket takes an argument now, modify. Members: ripd/ChangeLog:1.43->1.44 ripd/ripd.c:1.44->1.45 --------------------- PatchSet 1301 Date: 2005/06/07 20:54:04 Author: hasso Branch: HEAD Tag: (none) Log: * ospf_apiserver.c: Fix obvious error in notifying clients about ISM changes - oi->ifp->status doesn't give to us info about ISM, oi->state does. [backport candidate] Members: ospfd/ChangeLog:1.124->1.125 ospfd/ospf_apiserver.c:1.19->1.20 --------------------- PatchSet 1303 Date: 2005/06/12 12:28:18 Author: hasso Branch: HEAD Tag: (none) Log: * rt_netlink.c: Remove unused netlink-addr socket declaration. * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is unsigned and one zlog call had swapped arguments. * rt_netlink.c (netlink_route_multipath): Fix compile with disabled IPv6 support. [backport candidate] - with stuff commited to rt_netlink.c before to fix logging in netlink_route_multipath(). Members: zebra/ChangeLog:1.89->1.90 zebra/rt_netlink.c:1.36->1.37 --------------------- PatchSet 1307 Date: 2005/06/13 14:57:16 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-13 Paul Jakma * ospf_spf.c: Try get more information on a SEGV under ospf_spf_vertex_add_parent. (ospf_vertex_free) NULL out the child and nexthop lists (ospf_vertex_add_parent) nexthop and child can not be NULL vertex_nexthop's parent->child list can not be NULL (ospf_spf_next) w and cw are per-loop iteration variables, move declarations into loop body. Members: ospfd/ChangeLog:1.125->1.126 ospfd/ospf_spf.c:1.18->1.19 --------------------- PatchSet 1309 Date: 2005/06/14 15:07:07 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-14 Paul Jakma * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and RTM{ADDR,MASK}GET macros into generic rta_addrs macros, RTA_{ADDR,ATTR}_GET. (af_check) could use 'inline' attribute (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to generic macro. (rtm_read_mesg) similar Members: zebra/ChangeLog:1.90->1.91 zebra/kernel_socket.c:1.24->1.25 --------------------- PatchSet 1310 Date: 2005/06/15 12:00:11 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-15 Paul Jakma * quagga.xml.in: Pass the FMRI to the method, removing need for daemon_name property and deducing the FMRI. remove the empty config_file and pid_file definitions, they just make things difficult in the method script, cause it then has to deal with svcprop returning "" for defined empty properties. Remove daemon_name everywhere. * quagga.init.in: Take the FMRI as an argument Remove deducing the FMRI from the defunct daemon_name property. Use svcprop -q to test for presence of a property first. Default vty_port to 0 and vty_addr to 127.1 if equivalent SMF properties are not set. Deduce the pid_file, we can infer it from @quagga_statedir@ I think, it's probably not useful to allow it to be configurable as a property anyway. /var/run/ is on tmpfs on Solaris, so we probably will need to create @quagga_statedir@ first run after boot. Use @sbindir@, not /usr/local/sbin. Members: solaris/ChangeLog:1.9->1.10 solaris/quagga.init.in:1.3->1.4 solaris/quagga.xml.in:1.3->1.4 --------------------- PatchSet 1311 Date: 2005/06/15 12:24:44 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-15 Paul Jakma * README.txt: updated to match changed SMF manifest and its changed service, instance and property group names. Members: solaris/ChangeLog:1.10->1.11 solaris/README.txt:1.1->1.2 --------------------- PatchSet 1313 Date: 2005/06/15 20:15:35 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-15 Paul Jakma * bgpd.c: (bgp_terminate) workqueue's are lazy allocated and its possible to terminate bgpd before workqueues were setup, causing an abort/crash. Reported by Ashish Mehta of Sun. Members: bgpd/ChangeLog:1.64->1.65 bgpd/bgpd.c:1.26->1.27 --------------------- PatchSet 1314 Date: 2005/06/18 17:55:20 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-18 Paul Jakma * memtypes.h: update autobuilt file to match memtypes.c changes Members: lib/ChangeLog:1.197->1.198 lib/memtypes.h:1.3->1.4 --------------------- PatchSet 1316 Date: 2005/06/20 21:42:26 Author: hasso Branch: HEAD Tag: (none) Log: * ospf_nsm.c: Make database exchange for NSSA database work. [backport candidate] Members: ospfd/ChangeLog:1.126->1.127 ospfd/ospf_nsm.c:1.10->1.11 --------------------- PatchSet 1318 Date: 2005/06/20 21:50:10 Author: hasso Branch: HEAD Tag: (none) Log: Fix date. Members: ospfd/ChangeLog:1.127->1.128 --------------------- PatchSet 1319 Date: 2005/06/24 02:20:25 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-24 Pawel Worach * getopt.h: add further tests for full getopt declaration on various systems. Members: lib/ChangeLog:1.198->1.199 lib/getopt.h:1.3->1.4 --------------------- PatchSet 1320 Date: 2005/06/24 08:50:12 Author: hasso Branch: HEAD Tag: (none) Log: * ospf6_interface.c: fix the way inactivity_timer is called. Because inactivity_timer() deletes the neighbor from the neighbor_list, it cannot be called by thread_execute() from inner side of the neighbor_list for-loop. (Although crash was already fixed in Quagga, it's better follow the GNU Zebra logic). [port from GNU Zebra] Members: ospf6d/ChangeLog:1.43->1.44 ospf6d/ospf6_interface.c:1.16->1.17 --------------------- PatchSet 1321 Date: 2005/06/24 09:17:51 Author: hasso Branch: HEAD Tag: (none) Log: * ospf6_message.c: Changed to be insensitive to changes of neighbors' IP source address in the OSPF packets. It was sometimes problematic in actual operation (needed some operational cost: restarting all-neighbor routers when I/F NIC was changed). Due to this change, a previously safe case, attaching multiple interface to the same link will now be dengerous and will not work. Remedy to that should be applied later. [port from GNU Zebra] Members: ospf6d/ChangeLog:1.44->1.45 ospf6d/ospf6_message.c:1.13->1.14 --------------------- PatchSet 1322 Date: 2005/06/24 09:44:02 Author: hasso Branch: HEAD Tag: (none) Log: * ospf6_abr.[ch], ospf6_area.[ch]: Add area filter-list (in|out) support and area import and export lists support. Members: ospf6d/ChangeLog:1.45->1.46 ospf6d/ospf6_abr.c:1.13->1.14 ospf6d/ospf6_abr.h:1.6->1.7 ospf6d/ospf6_area.c:1.10->1.11 ospf6d/ospf6_area.h:1.5->1.6 --------------------- PatchSet 1324 Date: 2005/06/28 01:19:48 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-28 Paul Jakma * INSTALL.quagga.txt: GNU make is required now, because of manual automatic rules in solaris/Makefile.am. (If someone knows how to do these in a better way..). GNU AWK is required for CVS checkout builds. Members: ChangeLog:1.127->1.128 INSTALL.quagga.txt:1.9->1.10 --------------------- PatchSet 1325 Date: 2005/06/28 13:44:16 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-28 Paul Jakma * (global) The great bgpd extern and static'ification. * bgp_routemap.c: remove unused ROUTE_MATCH_ASPATH_OLD code (route_set_metric_compile) fix u_int32_t to ULONG_MAX comparison warnings. * bgp_route.h: (bgp_process, bgp_withdraw, bgp_update) export these used by various files which had their own private declarations, in the case of mplsvpn - incorrect. Members: bgpd/ChangeLog:1.65->1.66 bgpd/bgp_advertise.c:1.4->1.5 bgpd/bgp_advertise.h:1.2->1.3 bgpd/bgp_aspath.c:1.5->1.6 bgpd/bgp_aspath.h:1.4->1.5 bgpd/bgp_attr.c:1.11->1.12 bgpd/bgp_attr.h:1.5->1.6 bgpd/bgp_clist.c:1.5->1.6 bgpd/bgp_clist.h:1.4->1.5 bgpd/bgp_community.c:1.3->1.4 bgpd/bgp_community.h:1.4->1.5 bgpd/bgp_damp.c:1.3->1.4 bgpd/bgp_damp.h:1.3->1.4 bgpd/bgp_debug.c:1.7->1.8 bgpd/bgp_debug.h:1.4->1.5 bgpd/bgp_dump.c:1.9->1.10 bgpd/bgp_dump.h:1.3->1.4 bgpd/bgp_ecommunity.c:1.4->1.5 bgpd/bgp_ecommunity.h:1.5->1.6 bgpd/bgp_filter.c:1.5->1.6 bgpd/bgp_filter.h:1.3->1.4 bgpd/bgp_fsm.c:1.13->1.14 bgpd/bgp_mplsvpn.c:1.4->1.5 bgpd/bgp_mplsvpn.h:1.4->1.5 bgpd/bgp_network.c:1.13->1.14 bgpd/bgp_network.h:1.2->1.3 bgpd/bgp_nexthop.c:1.13->1.14 bgpd/bgp_nexthop.h:1.2->1.3 bgpd/bgp_open.c:1.7->1.8 bgpd/bgp_open.h:1.3->1.4 bgpd/bgp_packet.c:1.20->1.21 bgpd/bgp_packet.h:1.4->1.5 bgpd/bgp_regex.h:1.3->1.4 bgpd/bgp_route.c:1.32->1.33 bgpd/bgp_route.h:1.9->1.10 bgpd/bgp_routemap.c:1.17->1.18 bgpd/bgp_snmp.h:1.2->1.3 bgpd/bgp_table.c:1.2->1.3 bgpd/bgp_table.h:1.4->1.5 bgpd/bgp_vty.c:1.24->1.25 bgpd/bgp_vty.h:1.3->1.4 bgpd/bgp_zebra.c:1.10->1.11 bgpd/bgp_zebra.h:1.3->1.4 bgpd/bgpd.c:1.27->1.28 bgpd/bgpd.h:1.22->1.23 --------------------- PatchSet 1326 Date: 2005/06/28 18:17:12 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-28 Paul Jakma * (global) Extern and static'ification, with related fixups of declarations, ensuring files include their own headers, etc. if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in list loop Members: zebra/ChangeLog:1.91->1.92 zebra/connected.c:1.13->1.14 zebra/connected.h:1.1->1.2 zebra/debug.c:1.1->1.2 zebra/debug.h:1.1->1.2 zebra/if_ioctl.c:1.7->1.8 zebra/interface.c:1.26->1.27 zebra/interface.h:1.7->1.8 zebra/ioctl.c:1.8->1.9 zebra/ioctl.h:1.3->1.4 zebra/ipforward.h:1.1->1.2 zebra/ipforward_proc.c:1.6->1.7 zebra/ipforward_solaris.c:1.7->1.8 zebra/ipforward_sysctl.c:1.3->1.4 zebra/main.c:1.21->1.22 zebra/redistribute.h:1.2->1.3 zebra/rib.h:1.6->1.7 zebra/router-id.c:1.2->1.3 zebra/rt.h:1.1->1.2 zebra/rt_ioctl.c:1.3->1.4 zebra/rtadv.c:1.20->1.21 zebra/rtadv.h:1.2->1.3 zebra/rtread_proc.c:1.3->1.4 zebra/zebra_rib.c:1.20->1.21 zebra/zebra_vty.c:1.10->1.11 zebra/zserv.c:1.31->1.32 zebra/zserv.h:1.11->1.12 --------------------- PatchSet 1327 Date: 2005/06/28 18:20:26 Author: paul Branch: HEAD Tag: (none) Log: 2005-06-28 Paul Jakma * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check should be on DEST argument Members: zebra/ChangeLog:1.92->1.93 zebra/kernel_socket.c:1.25->1.26 --------------------- PatchSet 1328 Date: 2005/06/30 14:52:20 Author: hasso Branch: HEAD Tag: (none) Log: * configure.ac: Actually test whether libc has IPv6 support. [backport candidate] Members: ChangeLog:1.128->1.129 configure.ac:1.108->1.109 --------------------- PatchSet 1330 Date: 2005/07/12 16:15:02 Author: paul Branch: HEAD Tag: (none) Log: 2005-07-12 Christian Hammers * vtysh_user.c: rename struct user to struct vtysh_user to avoid clashes with sys/user.h on ARM. Members: vtysh/ChangeLog:1.39->1.40 vtysh/vtysh_user.c:1.6->1.7 --------------------- PatchSet 1331 Date: 2005/07/12 17:47:01 Author: paul Branch: HEAD Tag: (none) Log: - Fix ChangeLog entry to properly refer to problem being Linux/ARM, not ARM in general. Members: vtysh/ChangeLog:1.40->1.41 --------------------- PatchSet 1332 Date: 2005/07/12 21:04:22 Author: paul Branch: HEAD Tag: (none) Log: 2005-07-12 Paul Jakma * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make OSPF_ABR_CISCO be the default ABR type. * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable abr_type. default abr_type should be OSPF_ABR_DEFAULT. (ospf_config_write) test whether default abr_type against OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE. Members: ospfd/ChangeLog:1.128->1.129 ospfd/ospf_vty.c:1.33->1.34 ospfd/ospfd.c:1.31->1.32 ospfd/ospfd.h:1.14->1.15 --------------------- PatchSet 1333 Date: 2005/07/26 07:07:22 Author: paul Branch: HEAD Tag: (none) Log: 2005-07-26 Paul Jakma * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG should be on lsa not old, which may be freed for one thing, obviously. Members: ospfd/ChangeLog:1.129->1.130 ospfd/ospf_abr.c:1.17->1.18 --------------------- PatchSet 1334 Date: 2005/07/26 15:35:37 Author: ajs Branch: HEAD Tag: (none) Log: 2005-07-26 Andrew J. Schorr * prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is in range before dereferencing it. [backport candidate] Members: lib/ChangeLog:1.199->1.200 lib/prefix.c:1.8->1.9 --------------------- PatchSet 1335 Date: 2005/07/26 20:55:31 Author: ajs Branch: HEAD Tag: (none) Log: 2005-07-26 Andrew J. Schorr * prefix.c: (prefix_ipv4_new, prefix_ipv6_new): Call prefix_new to allocate the memory to make sure that all struct prefix pointers point to objects of the same length (avoids memory overruns on struct prefix assignments). (prefix_ipv4_free, prefix_ipv6_free): Simply call prefix_free. It is interesting to note that these functions are never actually called anywhere in the code. Instead prefix_free was already being called directly, despite the previous MTYPE incompatibility. [backport candidate] Members: lib/ChangeLog:1.200->1.201 lib/prefix.c:1.9->1.10 --------------------- PatchSet 1336 Date: 2005/07/29 15:36:00 Author: paul Branch: HEAD Tag: (none) Log: 2005-07-29 Paul Jakma * interface.c: (if_delete_update) should always be available, not just on RTM_IFANNOUNCE/NETLINK systems. * kernel_socket.c: (ifan_read) only call if_delete_update when interface departs, dont if_delete, because we wish to retain interface configuration state even when interfaces are removed. (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning to down state is only chance we have to clean up interface in case it is deleted (eg Solaris down -> unplumb -> plumb up). * redistribute.c: (zebra_interface_delete_update) should always be available, we /will/ call it now on all systems, via if_delete_update. * zserv.c: (zsend_interface_delete) ditto (zsend_interface_address) Update the call-flow diagramme, to reflect that if_delete_update /is/ now called on all systems, potentially. * zserv.h: (zsend_interface_delete) unconditionally exported, as above. Members: zebra/ChangeLog:1.93->1.94 zebra/interface.c:1.27->1.28 zebra/kernel_socket.c:1.26->1.27 zebra/redistribute.c:1.9->1.10 zebra/zserv.c:1.32->1.33 zebra/zserv.h:1.12->1.13 --------------------- PatchSet 1341 Date: 2005/08/03 18:23:20 Author: hasso Branch: HEAD Tag: (none) Log: * bgp_routemap.c: Revert part of leaking communities fix commited in 2005-05-27. While ecommunity fix seems to be correct, community case isn't. Fixes bugzilla #209. [backport candidate] Members: bgpd/ChangeLog:1.66->1.67 bgpd/bgp_routemap.c:1.18->1.19 --------------------- PatchSet 1343 Date: 2005/08/05 08:40:15 Author: hasso Branch: HEAD Tag: (none) Log: * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX] for default-information. Fixes bugzilla #208. [backport candidate] Members: ospfd/ChangeLog:1.130->1.131 ospfd/ospf_zebra.c:1.32->1.33 --------------------- PatchSet 1345 Date: 2005/08/10 14:20:03 Author: gdt Branch: HEAD Tag: (none) Log: 2005-08-10 Greg Troxel * getopt.h: Don't declare getopt (rather than getopt_long), since quagga doesn't need it. * getopt.c (getopt): Don't define getopt. Fixes build breakage on NetBSD, and seems likely to work on most platforms since it avoids the entire issue of system getopt declarations and whether they conform to POSIX.2. Note that this change doesn't address system getopt_long declarations, but also doesn't change anything about getopt_long. Members: lib/ChangeLog:1.201->1.202 lib/getopt.c:1.2->1.3 lib/getopt.h:1.4->1.5 --------------------- PatchSet 1346 Date: 2005/08/10 16:07:02 Author: gdt Branch: HEAD Tag: (none) Log: rework clarify make (BSD make not working is a bug, and GNU make not working is a really serious bug) declare POSIX.2 as a semi-requirement, with notion that workarounds for non-posix must be clean. list OS versions for which not working is a bug. add instructions for using info and emacs/info, and remove admonition to use pinfo add note about GNU awk (really needed? BSD awk) Note that NetBSD 2.99.15 has texinfo 4.7 Members: INSTALL.quagga.txt:1.10->1.11 --------------------- PatchSet 1347 Date: 2005/08/10 16:08:21 Author: hasso Branch: HEAD Tag: (none) Log: * topology/spgrid.c: MAXLONG is deprecated, use LONG_MAX instead. values.h, where MAXLONG is defined, is deprecated as well. Thanks to Greg for noticing and to Rivo for fix. Members: isisd/ChangeLog:1.48->1.49 isisd/topology/spgrid.c:1.1->1.2 --------------------- PatchSet 1348 Date: 2005/08/10 16:11:21 Author: gdt Branch: HEAD Tag: (none) Log: add INSTALL.quagga.txt to the distribution, so that people who apply patches and lose because of old autoconf/automake versions have the opportunity to find tout what to do. Members: ChangeLog:1.129->1.130 Makefile.am:1.20->1.21 --------------------- PatchSet 1349 Date: 2005/08/10 16:46:11 Author: paul Branch: HEAD Tag: (none) Log: 2005-08-09 Paul Jakma * ospf6_asbr.c: (ospf6_asbr_redistribute_add) Fix sense of testing of route_map_apply return code, it can return many things other than RMAP_MATCH which do not indicate DENY. Should test explicitly for equality to RMAP_DENYMATCH instead. [backport candidate] Members: ospf6d/ChangeLog:1.46->1.47 ospf6d/ospf6_asbr.c:1.17->1.18 --------------------- PatchSet 1350 Date: 2005/08/13 14:42:38 Author: paul Branch: HEAD Tag: (none) Log: 2005-08-13 Paul Jakma * Makefile.am: (EXTRA_DIST) Add the trailing slash back in which greg left out - tools bits weren't being included in dist, which broke rpm builds :). Members: ChangeLog:1.130->1.131 Makefile.am:1.21->1.22 --------------------- PatchSet 1351 Date: 2005/08/16 16:22:14 Author: paul Branch: HEAD Tag: (none) Log: 2005-08-16 Paul Jakma * ripd.c: (general) Fix previous commit, broke multicast bind and hence setting of source port, which broke communication with non-borken ripd. Fix removes more stuff from rip_interface.c than it adds to ripd.c ;) (rip_create_socket) the to argument really is a from argument, rename it. Set the source port to RIP port unconditionally, it's required. (rip_send_packet) Set from address correctly for multicast. (rip_output_process) trivial: num can be BSS specified, rather than in body. * rip_interface.c: (rip_interface_multicast_set) strip out redundant stuff related to bind, which rip_create_socket does. Just make it set the multicast socket option, as per the interface concerned, no more. Members: ripd/ChangeLog:1.44->1.45 ripd/rip_interface.c:1.29->1.30 ripd/ripd.c:1.45->1.46 --------------------- PatchSet 1352 Date: 2005/08/16 18:23:15 Author: paul Branch: HEAD Tag: (none) Log: 2005-08-16 Paul Jakma * README.txt: point to the opensolaris.org sources for the SMF manifest class scripts. Make step 3 slightly more explicit about what 'this directory' is. Members: solaris/ChangeLog:1.11->1.12 solaris/README.txt:1.2->1.3 --------------------- PatchSet 1353 Date: 2005/08/16 21:58:12 Author: hasso Branch: HEAD Tag: (none) Log: * isis_misc.[ch]: Fix some warnings, making some strings const. Members: isisd/ChangeLog:1.49->1.50 isisd/isis_misc.c:1.8->1.9 isisd/isis_misc.h:1.5->1.6 --------------------- PatchSet 1354 Date: 2005/08/17 14:31:47 Author: hasso Branch: HEAD Tag: (none) Log: * ospf_vty.c: Check carefully if interface exists before trying to print info about it. Fixes bugzilla #213. [backport candidate] Members: ospfd/ChangeLog:1.131->1.132 ospfd/ospf_vty.c:1.34->1.35 --------------------- PatchSet 1356 Date: 2005/08/21 21:01:15 Author: hasso Branch: HEAD Tag: (none) Log: * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work. Interface should be specified by name now. [backport candidate] Members: ospfd/ChangeLog:1.132->1.133 ospfd/ospf_vty.c:1.35->1.36 --------------------- PatchSet 1357 Date: 2005/08/22 23:34:41 Author: paul Branch: HEAD Tag: (none) Log: 2005-08-22 Paul Jakma * bgp_route.h: (struct bgp_info) add a new flag, BGP_INFO_REMOVED. BGP_INFO_VALID is already overloaded, don't care to do same thing to STALE or HISTORY. * bgpd.h: (BGP_INFO_HOLDDOWN) Add INFO_REMOVED to the macro, as a route which should generally be ignored. * bgp_route.c: (bgp_info_delete) Just set the REMOVE flag, rather than doing actual work, so that bgp_process (called directly, or indirectly via the scanner) can catch withdrawn routes. (bgp_info_reap) Actually remove the route, what bgp_info_delete used to do, only for use by bgp_process. (bgp_best_selection) reap any REMOVED routes, other than the old selected route. (bgp_process_rsclient) reap the old-selected route, if appropriate (bgp_process_main) ditto (bgp_rib_withdraw, bgp_rib_remove) make them more consistent with each other. Don't play games with the VALID flag, bgp_process is async now, so it didn't make a difference anyway. Remove the 'force' argument from bgp_rib_withdraw, withdraw+force is equivalent to bgp_rib_remove. Update all its callers. (bgp_update_rsclient) bgp_rib_withdraw and force set is same as bgp_rib_remove. (route_vty_short_status_out) new helper to print the leading route-status string used in many command outputs. Consolidate. (route_vty_out, route_vty_out_tag, damp_route_vty_out, flap_route_vty_out) use route_vty_short_status_out rather than duplicate. (route_vty_out_detail) print state of REMOVED flag. (BGP_SHOW_SCODE_HEADER) update for Removed flag. Members: bgpd/ChangeLog:1.67->1.68 bgpd/bgp_route.c:1.33->1.34 bgpd/bgp_route.h:1.10->1.11 bgpd/bgpd.h:1.23->1.24 --------------------- PatchSet 1358 Date: 2005/08/22 23:39:56 Author: paul Branch: HEAD Tag: (none) Log: 2005-08-22 Hugo Santos * command.h: (enum node_type) Add BGP_IPV6M_NODE * command.c: (node_parent) Handle BGP_IPV6M_NODE node (config_exit, config_end) ditto * vty.c: (vty_end_config) Handle BGP_IPV6M_NODE node Members: lib/ChangeLog:1.202->1.203 lib/command.c:1.48->1.49 lib/command.h:1.19->1.20 lib/vty.c:1.44->1.45 --------------------- PatchSet 1359 Date: 2005/08/22 23:42:08 Author: paul Branch: HEAD Tag: (none) Log: 2005-08-22 Hugo Santos * bgp_vty.c: (general) Add support for BGP IPv6 Multicast SAFI commands and BGP_IPV6M_NODE. Members: bgpd/ChangeLog:1.68->1.69 bgpd/bgp_vty.c:1.25->1.26 --------------------- PatchSet 1360 Date: 2005/08/22 23:44:29 Author: paul Branch: HEAD Tag: (none) Log: 2005-08-22 Hugo Santos * vtysh.c: Add support for BGP_IPV6M_NODE Members: vtysh/ChangeLog:1.41->1.42 vtysh/vtysh.c:1.43->1.44 --------------------- PatchSet 1361 Date: 2005/08/25 13:00:58 Author: hasso Branch: HEAD Tag: (none) Log: * configure.ac, vtysh/Makefile.am: Only vtysh needs to be linked against libreadline and friends. Members: ChangeLog:1.131->1.132 configure.ac:1.109->1.110 vtysh/Makefile.am:1.19->1.20 --------------------- PatchSet 1362 Date: 2005/08/25 15:50:05 Author: paul Branch: HEAD Tag: (none) Log: 2005-08-25 Paul Jakma * configure.ac: Add -fno-omit-frame-pointer after -Os in default cflags, just to be sure. Fedora's readline library does not itself link to termcap, hence we must pass the result of termcap tests in via OTHER-LIBRARIES argument, otherwise the test of main in readline will fail due to missing termcap systems. On systems like Debian, -ltermcap is not needed for the readline test, because libreadline already links to it. Members: ChangeLog:1.132->1.133 configure.ac:1.110->1.111 --------------------- PatchSet 1365 Date: 2005/08/26 13:58:38 Author: hasso Branch: HEAD Tag: (none) Log: * bgp_route.c: Third (?) attempt to fix best selection breakage introduced long time ago with route server patch. Hopefully it's last case to fix - route-server client not in peer group. [backport candidate] Members: bgpd/ChangeLog:1.69->1.70 bgpd/bgp_route.c:1.34->1.35 --------------------- PatchSet 1367 Date: 2005/08/27 07:05:47 Author: hasso Branch: HEAD Tag: (none) Log: * zebra_rib.c, rib.h: Add distance and metric arguments to the rib_add_ipv6() function so that IPv6 routes in RIB can have correct metric. No IPv6 routing daemon uses distance yet though. * zserv.c, connected.c, kernel_socket.c, rt_netlink.c, rtread_proc.c,zserv.c: Pass metric and distance info to the rib_add_ipv6(). Forwardport from stable branch. Members: zebra/ChangeLog:1.94->1.95 zebra/connected.c:1.14->1.15 zebra/kernel_socket.c:1.27->1.28 zebra/rib.h:1.7->1.8 zebra/rt_netlink.c:1.37->1.38 zebra/rtread_proc.c:1.4->1.5 zebra/zebra_rib.c:1.21->1.22 zebra/zserv.c:1.33->1.34 --------------------- PatchSet 1368 Date: 2005/08/27 07:19:39 Author: hasso Branch: HEAD Tag: (none) Log: * ripng_zebra.c, ripngd.[ch]: Pass metric info to the zebra daemon. Forwardport from stable branch. Members: ripngd/ChangeLog:1.25->1.26 ripngd/ripng_zebra.c:1.7->1.8 ripngd/ripngd.c:1.19->1.20 ripngd/ripngd.h:1.5->1.6 --------------------- PatchSet 1370 Date: 2005/09/01 18:52:33 Author: hasso Branch: HEAD Tag: (none) Log: * isis_adjacency.c, isis_lsp.c, isisd.c: Replace XMALLOC && memset with XCALLOC. * isis_lsp.c (lsp_build_pseudo): Fix adding ES neighbour. * isis_tlv.c: More compact free_tlvs() function. * isis_lsp.c (lsp_build_nonpseudo) : Try to fix one more regression introduced by stream cleanup. Seek enp to the right place before starting to fill stream with TLVs. Members: isisd/ChangeLog:1.50->1.51 isisd/isis_adjacency.c:1.11->1.12 isisd/isis_lsp.c:1.21->1.22 isisd/isis_tlv.c:1.14->1.15 isisd/isisd.c:1.16->1.17 --------------------- PatchSet 1371 Date: 2005/09/01 19:18:47 Author: hasso Branch: HEAD Tag: (none) Log: * random.c, spgrid.[ch]: Fix warnings with hope that I didn't broke anything. These floats to longs and vice versa casts are starnge indeed. * isis_pdu.c: As we don't use %z for size_t for now because we support older compilers, cast them to unsigned long. Also fix previous changelog entry. Isisd compiles cleanly now again. Members: isisd/ChangeLog:1.51->1.52 isisd/isis_pdu.c:1.17->1.18 isisd/topology/random.c:1.1->1.2 isisd/topology/spgrid.c:1.2->1.3 isisd/topology/spgrid.h:1.1->1.2 --------------------- PatchSet 1372 Date: 2005/09/02 02:38:16 Author: hasso Branch: HEAD Tag: (none) Log: * isis_lsp.c: Less TLV leaking. Members: isisd/ChangeLog:1.52->1.53 isisd/isis_lsp.c:1.22->1.23 --------------------- PatchSet 1373 Date: 2005/09/03 17:29:40 Author: hasso Branch: HEAD Tag: (none) Log: * isis_lsp.c: Yet another regression introduced by stream cleanup. Similar fix to the one commited to lsp_build_nonpseudo() some days ago. Members: isisd/ChangeLog:1.53->1.54 isisd/isis_lsp.c:1.23->1.24 --------------------- PatchSet 1374 Date: 2005/09/04 22:36:36 Author: hasso Branch: HEAD Tag: (none) Log: * *.c: Try to be less verbose by default (without any debug options on). * isis_lsp.c (lsp_build_nonpseudo): Use stream_reset() instead of touching endp directly. * isis_lsp.c (lsp_build_pseudo): Ditto. Members: isisd/ChangeLog:1.54->1.55 isisd/isis_circuit.c:1.18->1.19 isisd/isis_csm.c:1.6->1.7 isisd/isis_dr.c:1.12->1.13 isisd/isis_events.c:1.11->1.12 isisd/isis_lsp.c:1.24->1.25 isisd/isis_main.c:1.18->1.19 isisd/isis_pdu.c:1.18->1.19 isisd/isis_spf.c:1.14->1.15 isisd/isis_zebra.c:1.17->1.18 isisd/isisd.c:1.17->1.18 isisd/isisd.h:1.5->1.6 --------------------- PatchSet 1375 Date: 2005/09/05 12:54:13 Author: paul Branch: HEAD Tag: (none) Log: 2005-09-05 Paul Jakma * command.c: (install_element) be more robust. Eg, cmd_init need not have been called, some applications may use other library subsystems, which call install_element, without the application wanting commands and hence not calling cmd_init. Members: lib/ChangeLog:1.203->1.204 lib/command.c:1.49->1.50 --------------------- PatchSet 1376 Date: 2005/09/05 15:00:09 Author: paul Branch: HEAD Tag: (none) Log: 2004-09-05 Paul Jakma * heavy-wq.c: (slow_func_del,slow_func_err) make them take void * argument to shut up silly gcc warning. Members: tests/ChangeLog:1.6->1.7 tests/heavy-wq.c:1.1->1.2 --------------------- PatchSet 1377 Date: 2005/09/07 00:08:01 Author: paul Branch: HEAD Tag: (none) Log: 2004-09-06 Paul Jakma * test-buffer.c: include memory.h (main) call memory_init(). Members: tests/ChangeLog:1.7->1.8 tests/test-buffer.c:1.1->1.2 --------------------- PatchSet 1378 Date: 2005/09/08 16:18:39 Author: paul Branch: HEAD Tag: (none) Log: * Thu Sep 12 2005 Paul Jakma - Steal some changes from Fedora spec file: - Add with_rtadv variable - Test for groups/users with getent before group/user adding - Readline need not be an explicit prerequisite - install-info delete should be postun, not preun Members: redhat/quagga.spec.in:1.27->1.28 --------------------- PatchSet 1379 Date: 2005/09/10 00:49:49 Author: paul Branch: HEAD Tag: (none) Log: 2005-09-10 Paul Jakma * bgp_vty.c: (bgp_vty_init) gcc 4 compile fix. static function declarations shouldn't be inside functions. * bgp_dump.c: (bgp_dump_interval_add) ditto. Members: bgpd/ChangeLog:1.70->1.71 bgpd/bgp_dump.c:1.10->1.11 bgpd/bgp_vty.c:1.26->1.27 --------------------- PatchSet 1380 Date: 2005/09/10 17:55:02 Author: paul Branch: HEAD Tag: (none) Log: 2005-09-10 Paul Jakma * Makefile.am: bgpd shouldn't list libgp's sources as its own. Use LDADD. * bgp_aspath.h: (struct assegment) New struct, abstract representation of a list of AS_PATH segments and the contained ASNs. (struct aspath) Remove the raw-data related fields, reference the abstract struct assegment instead. Remove several other computed fields, it's just a headache to maintain them and they're cheap to compute from struct assegment. (aspath_parse) parse a stream, not a pointer to raw data. (aspath_count_{hops,confeds,size}) helpers to access information formerly directly contained in struct aspath. (aspath_snmp_pathseg) Helper for SNMP, BGP MIB wants to be able to output hex representation of raw data. * bgp_aspath.c: (general) partial-rewrite. Store aspath data as an abstract singly-linked list of abstract segments, rather than storing the raw data, and parsing it each and every time. Remove several count/size fields which are cheap to compute from the abstract segment structure. (global) Include stream.h, needed for aspath_parse, and others. Couple of helper macros added. (struct assegment_header) Just the header, and only the header. (assegment_data_{new,free}) convenience functions for AS_SEG_DATA allocation, the dynamic, per-segment array of ASNs. (assegment_{new,free,free_all,dup,dup_all}) convenience functions for creating struct assegments. The _all forms will follow the entire chain of segments from the given segment. (assegment_prepend_asns) new function, prepend an ASN N times to segment. (assegment_append_asns) Append a list (array) of ASNs to segment. (int_cmp) convenience function for the aspath hash. (assegment_normalise) new function. Normalise the given segment chain to meet expectations of Quagga, and to eliminate differing raw representations of the same paths. Merge 'runs' of SEQUENCEs into one segment as our internal segment is not limited by the protocol AS_PATH segment length. Sort ASNs in SETs. (aspath_new) Take void argument to quell warnings. Use the assegment convenience functions. (assegment_count_{asns,confeds,hops}) new functions to compute at runtime values previously held in struct aspath. (aspath_size) ditto. (aspath_make_str_count) rewritten to stringify new representation, and to be slightly easier to understand hopefully. (aspath_str_update) convenience function, update the aspath str. Should investigate removing maintained string from struct aspath, just run-time compute it, as per other fields. It's just a maintenance headache, would save noticeable amount of RAM with possibly not much extra run-time cost. (aspath_dup) use the assegment dup functions. (aspath_hash_alloc) Take void * argument to satisfy gcc. Use the proper helper functions to dup data. (assegments_parse) new function. parse raw AS_PATH data into struct assegments. Normalise and return the head of the list. (aspath_parse) Parse a stream, not pointer to raw data and use assegments_parse to do it. (assegment_data_put) Write out a single segment data in protocol form to stream. (assegment_header_put) ditto but for segment header. (aspath_put) new function. As per previous but for an entire struct aspath. (aspath_snmp_pathseg) wrapper around aspath_put for bgp_snmp.c. Uses a static buffer sadly. (aspath_aggregate_as_set_add) rewritten to use assegments. (aspath_aggregate) ditto (aspath_{firstas,loop,private_as}_check) ditto (aspath_{merge,prepend,add_one_as}) ditto (aspath_cmp_left{_confed}) ditto (aspath_delete_confed_seq) ditto, plus fixed to properly delete all leading confed segments. (aspath_as_add) Just use assegment_append_asns. (aspath_segment_add) updated to use assegments. (enum as_token) Add values for confeds (aspath_gettoken) Add support for confeds (aspath_str2aspath) ditto (aspath_key_make) updated to use as_segments. Also, add segment type into the hash value as appropriate. (aspath_cmp) updated to use as_segments. (aspath_print) don't segfault on NULL argument. * bgp_attr.c: (bgp_attr_aspath) aspath_parse wants the stream now. No need for manual forwarding of stream. (bgp_packet_attribute) empty aspath is now denoted by NULL segment field, length is gone. Use aspath_size() to determine size. (bgp_attr_init) Fix declaration, explicitely specify void arg. (bgp_dump_routes_attr) Use aspath_size() to determine size. * bgp_route.c: (bgp_info_cmp) use the aspath_count_* functions. (bgp_rib_withdraw) remove unused variable. Use aspath_count_hops. * bgp_snmp.c: (bgp4PathAttrTable) raw data is gone, use aspath_snmp_pathseg to get the representation. Members: bgpd/ChangeLog:1.71->1.72 bgpd/Makefile.am:1.7->1.8 bgpd/bgp_aspath.c:1.6->1.7 bgpd/bgp_aspath.h:1.5->1.6 bgpd/bgp_attr.c:1.12->1.13 bgpd/bgp_route.c:1.35->1.36 bgpd/bgp_snmp.c:1.10->1.11 --------------------- PatchSet 1381 Date: 2005/09/10 19:00:11 Author: paul Branch: HEAD Tag: (none) Log: 2005-09-06 Paul Jakma * aspath_test.c: Test bgp_aspath functionality. * Makefile.am: build aspathtest * ChangeLog: Fix date of previous commit Members: tests/ChangeLog:1.8->1.9 tests/Makefile.am:1.4->1.5 tests/aspath_test.c:INITIAL->1.1 --------------------- PatchSet 1382 Date: 2005/09/12 17:58:52 Author: paul Branch: HEAD Tag: (none) Log: 2005-09-12 Paul Jakma * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR support. * connected.c: (connected_withdraw) new function. withdraw a connected subnet address set from zebra, and pass information along to clients. (connected_announce) similar, but to announce a new connected subnet address set. (connected_check_ipv4) renamed to connected_check, as its AFI independent. (connected_add_ipv{4,6}) Remove the connected address announce stuff, use connected_announce instead. If connected_check indicates address is already present, treat it as an implicit withdraw of the existing address, ie remove the old address details and replace with the new details. (connected_delete_ipv{4,6}) Use connected_withdraw. (connected_check_ipv6) deleted in favour of connected_check. * connected.h: Rename connected_check_ipv4 to connected_check. delete connected_check_ipv6. * interface.c: Use connected_check rather than the AFI specific symbols. * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a rib delete event for the existing route, before adding route again. (kernel_read) we can handle RTM_CHANGE now. Members: zebra/ChangeLog:1.95->1.96 zebra/connected.c:1.15->1.16 zebra/connected.h:1.2->1.3 zebra/interface.c:1.28->1.29 zebra/kernel_socket.c:1.28->1.29 --------------------- PatchSet 1383 Date: 2005/09/15 07:50:53 Author: hasso Branch: HEAD Tag: (none) Log: * vtysh.c: Fix warning by casting rl_bind_key 2. argument correctly. * extract.pl.in: Fix warning - add isisd/topology to the includes. Members: vtysh/ChangeLog:1.42->1.43 vtysh/extract.pl.in:1.7->1.8 vtysh/vtysh.c:1.44->1.45 --------------------- PatchSet 1384 Date: 2005/09/16 15:44:23 Author: hasso Branch: HEAD Tag: (none) Log: * isis_lsp.c (lsp_update): Remove LSP from database before updating its data and put it back after. Database entry MUST contain at least correct pointers to the sysid to get correct compare results. * isis_lsp.[ch], isis_pdu.c: Pass level to the lsp_update() function. Members: isisd/ChangeLog:1.55->1.56 isisd/isis_lsp.c:1.25->1.26 isisd/isis_lsp.h:1.5->1.6 isisd/isis_pdu.c:1.19->1.20 --------------------- PatchSet 1385 Date: 2005/09/17 19:53:38 Author: ajs Branch: HEAD Tag: (none) Log: 2005-09-17 Andrew J. Schorr * ospf_opaque.c: (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule) No need to call ospf_lookup(), just use lsa0->area->ospf instead. Members: ospfd/ChangeLog:1.133->1.134 ospfd/ospf_opaque.c:1.16->1.17 --------------------- PatchSet 1386 Date: 2005/09/18 18:51:02 Author: hasso Branch: HEAD Tag: (none) Log: * isis_lsp.c (lsp_update): Fix previous commit - manipulate the right database and only if LSP is really in the database (sanity check). Members: isisd/ChangeLog:1.56->1.57 isisd/isis_lsp.c:1.26->1.27 --------------------- PatchSet 1387 Date: 2005/09/19 05:23:34 Author: hasso Branch: HEAD Tag: (none) Log: * isis_lsp.h: Added backpointer to the area from LSP. For now it's used only in generated topology LSPs. * isisd.[ch]: Cleanup CLI commands related to topology generation and added command to specify base fo dynamic hostname for topology LSPs. * isis_lsp.c: Rewrite almost all code related to generation topology LSPs (top_lsp_refresh(), generate_topology_lsps() and build_topology_lsp_data() functions). Topology is connected to own LSP now (lsp_build_nonpseudo). Commented out lsppdu_realloc functions, it's not used any more hopefully. Topology generation feature is actually useful now. Members: isisd/ChangeLog:1.57->1.58 isisd/isis_lsp.c:1.27->1.28 isisd/isis_lsp.h:1.6->1.7 isisd/isisd.c:1.18->1.19 isisd/isisd.h:1.6->1.7 --------------------- PatchSet 1388 Date: 2005/09/19 07:02:34 Author: hasso Branch: HEAD Tag: (none) Log: * isis_tlv.h: Cleanup comment about TLVs we should support, remove info about useless (in sense of IP(v6)) TLVs. Members: isisd/ChangeLog:1.58->1.59 isisd/isis_tlv.h:1.6->1.7 --------------------- PatchSet 1389 Date: 2005/09/19 07:35:47 Author: hasso Branch: HEAD Tag: (none) Log: * isis_lsp.c: Better output of detailed LSP printout and fixed TE IPv4 reachibility metric display. Members: isisd/ChangeLog:1.59->1.60 isisd/isis_lsp.c:1.28->1.29 --------------------- PatchSet 1390 Date: 2005/09/19 10:53:21 Author: hasso Branch: HEAD Tag: (none) Log: * configure.ac: Test existance of strndup. * lib/str.[ch]: Add strndup() from glibc. Members: ChangeLog:1.133->1.134 configure.ac:1.111->1.112 lib/ChangeLog:1.204->1.205 lib/str.c:1.3->1.4 lib/str.h:1.3->1.4 --------------------- PatchSet 1391 Date: 2005/09/19 11:44:04 Author: hasso Branch: HEAD Tag: (none) Log: * isis_lsp.c, isis_pdu.c, isis_spf.c: Remove some old unused code. Members: isisd/ChangeLog:1.60->1.61 isisd/isis_lsp.c:1.29->1.30 isisd/isis_pdu.c:1.20->1.21 isisd/isis_spf.c:1.15->1.16 --------------------- PatchSet 1392 Date: 2005/09/19 14:28:05 Author: ajs Branch: HEAD Tag: (none) Log: 2005-09-19 Andrew J. Schorr * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument (nexthop) since it is not used in the function (except inside some commented-out code). * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh) Comment out the 5th argument to ospf_external_lsa_flush. * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg to ospf_external_lsa_flush. * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th uninitialized nexthop arg to ospf_external_lsa_flush. * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg to ospf_external_lsa_flush. * ospfd.c: (ospf_network_set) Comment out 5th arg to ospf_external_lsa_flush. Members: ospfd/ChangeLog:1.134->1.135 ospfd/ospf_asbr.c:1.3->1.4 ospfd/ospf_lsa.c:1.37->1.38 ospfd/ospf_lsa.h:1.11->1.12 ospfd/ospf_vty.c:1.36->1.37 ospfd/ospf_zebra.c:1.33->1.34 ospfd/ospfd.c:1.32->1.33 --------------------- PatchSet 1393 Date: 2005/09/21 13:30:08 Author: paul Branch: HEAD Tag: (none) Log: 2005-09-21 Paul Jakma * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt removal of static routes with multiple-hops introduced with the workqueue conversion. We should free the relevant nexthop and then get rib_process to run, otherwise we just get same static route back again (with no way to unconfigure it, because its already deleted from configuration). Members: zebra/ChangeLog:1.96->1.97 zebra/zebra_rib.c:1.22->1.23 --------------------- PatchSet 1394 Date: 2005/09/21 15:06:35 Author: paul Branch: HEAD Tag: (none) Log: 2005-09-21 Paul Jakma * memtypes.{c,h}: Add MTYPE_AS_SEG_DATA. Members: lib/ChangeLog:1.205->1.206 lib/memtypes.c:1.6->1.7 lib/memtypes.h:1.4->1.5 --------------------- PatchSet 1395 Date: 2005/09/21 15:58:20 Author: hasso Branch: HEAD Tag: (none) Log: * zebra_rib.c: Reduce the height of some staircases. Fix rib_delete_ipv6() to match routes in the RIB by their gateway as well as by destination. Members: zebra/ChangeLog:1.97->1.98 zebra/zebra_rib.c:1.23->1.24 --------------------- PatchSet 1397 Date: 2005/09/21 19:52:14 Author: hasso Branch: HEAD Tag: (none) Log: * isis_route.c: Fix output of nexthops in case of extreme debug. Members: isisd/ChangeLog:1.61->1.62 isisd/isis_route.c:1.7->1.8 --------------------- PatchSet 1398 Date: 2005/09/24 15:00:26 Author: hasso Branch: HEAD Tag: (none) Log: * rib.h: Add note about behaviour of rib_add_ipv[46]* functions - add is treated as implicit withdraw. Members: zebra/ChangeLog:1.98->1.99 zebra/rib.h:1.8->1.9 --------------------- PatchSet 1399 Date: 2005/09/25 13:04:25 Author: hasso Branch: HEAD Tag: (none) Log: * dict.[ch]: Revert all nonfunctional changes. It's external module imported from kazlib and it's better not to screw it - there is theoretical chance that we might want to merge changes from upstream at some point. Also avoid the loss of info about upstream version (rcsid). Members: isisd/ChangeLog:1.62->1.63 isisd/dict.c:1.3->1.4 isisd/dict.h:1.2->1.3 --------------------- PatchSet 1400 Date: 2005/09/26 17:49:07 Author: hasso Branch: HEAD Tag: (none) Log: * isisd.[ch]: Introduce oldmetric flag for area and transition metricstyle command. With metricstyle wide only extended TLVs should be used. Members: isisd/ChangeLog:1.63->1.64 isisd/isisd.c:1.19->1.20 isisd/isisd.h:1.7->1.8 --------------------- PatchSet 1401 Date: 2005/09/26 18:05:55 Author: hasso Branch: HEAD Tag: (none) Log: * isis_circuit.[ch]: Some preliminary support for specifying wide circuit metrics. Needs more thinking though, but should do for now. Members: isisd/ChangeLog:1.64->1.65 isisd/isis_circuit.c:1.19->1.20 isisd/isis_circuit.h:1.2->1.3 --------------------- PatchSet 1402 Date: 2005/09/26 18:11:12 Author: hasso Branch: HEAD Tag: (none) Log: * isis_tlv.[ch]: Two new functions - tlv_add_te_is_neighs() and tlv_add_te_ipv4_reachs() to handle TLV's with new metric. None of them handle sub TLVs though for now. Members: isisd/ChangeLog:1.65->1.66 isisd/isis_tlv.c:1.15->1.16 isisd/isis_tlv.h:1.7->1.8 --------------------- PatchSet 1403 Date: 2005/09/26 18:39:48 Author: hasso Branch: HEAD Tag: (none) Log: * isis_lsp.c: Support for originating TE IS and IPv4 TLV's. No any sub TLV handling yet. Members: isisd/ChangeLog:1.66->1.67 isisd/isis_lsp.c:1.30->1.31 --------------------- PatchSet 1404 Date: 2005/09/26 18:58:24 Author: hasso Branch: HEAD Tag: (none) Log: * isis_tlv.[ch]: New function tlv_add_in_addr() to put just one IPv4 address into TLV. Used for IPv4 address TLV (in case of LSP) and TE router ID TLV. * isis_lsp.c: Use tlv_add_in_addr() and include router ID in LSP. Members: isisd/ChangeLog:1.67->1.68 isisd/isis_lsp.c:1.31->1.32 isisd/isis_tlv.c:1.16->1.17 isisd/isis_tlv.h:1.8->1.9 --------------------- PatchSet 1405 Date: 2005/09/26 19:06:47 Author: hasso Branch: HEAD Tag: (none) Log: * isis_lsp.c: Put correct metric info into TE TLV's. Wide metric is used only if only wide metric style (extended TLV's) is in use. Members: isisd/ChangeLog:1.68->1.69 isisd/isis_lsp.c:1.32->1.33 --------------------- PatchSet 1406 Date: 2005/09/26 19:15:36 Author: hasso Branch: HEAD Tag: (none) Log: * isis_spf.[ch]: Added TE TLVs to the SPF process. It seems to work mostly, but needs certainly much more testing, especially transition situation. Members: isisd/ChangeLog:1.69->1.70 isisd/isis_spf.c:1.16->1.17 isisd/isis_spf.h:1.3->1.4 --------------------- PatchSet 1407 Date: 2005/09/26 19:26:26 Author: hasso Branch: HEAD Tag: (none) Log: * isis_spf.c: Changing cost from uint16_t to uint32_t. Unset ISIS_ROUTE_FLAG_ACTIVE flag before running SPF. * isisd.[ch]: Separate route tables for different levels. SPF is done separately, but in case of L1L2 area they have to be merged. * isis_zebra.c: Set/unset ISIS_ROUTE_FLAG_ZEBRA_SYNC flag correctly in case of adding/removing IPv4 routes. * zebra_route.c: Rework route validating process. Merging L1 and L2 tables in case of L1L2 area. In short - many changes to make SPF work more correctly, add/remove to/from RIB also works now. It's still very far from perfect though. Members: isisd/ChangeLog:1.70->1.71 isisd/isis_route.c:1.8->1.9 isisd/isis_route.h:1.2->1.3 isisd/isis_spf.c:1.17->1.18 isisd/isis_zebra.c:1.18->1.19 isisd/isisd.c:1.20->1.21 isisd/isisd.h:1.8->1.9 --------------------- PatchSet 1408 Date: 2005/09/28 14:42:11 Author: vincent Branch: HEAD Tag: (none) Log: * connected.c: flag connected_up_ipv6() and connected_down_ipv6() usage with HAVE_IPV6 Members: zebra/ChangeLog:1.99->1.100 zebra/connected.c:1.16->1.17 --------------------- PatchSet 1409 Date: 2005/09/28 16:47:44 Author: vincent Branch: HEAD Tag: (none) Log: 2005-09-28 Alain Ritoux * lib/md5-gnu.h: removed * lib/md5.h: replaces md5-gnu.h * lib/Makefile.am: use correct md5.h * lib/md5.c: import from WIDE * ospfd/ospf_packet.c: use new md5 API * ripd/ripd.c: use new md5 API Members: lib/ChangeLog:1.206->1.207 lib/Makefile.am:1.23->1.24 lib/md5-gnu.h:1.1->1.2(DEAD) lib/md5.c:1.2->1.3 lib/md5.h:INITIAL->1.1 ospfd/ChangeLog:1.135->1.136 ospfd/ospf_packet.c:1.76->1.77 ripd/ChangeLog:1.45->1.46 ripd/ripd.c:1.46->1.47 --------------------- PatchSet 1410 Date: 2005/09/28 19:26:25 Author: hasso Branch: HEAD Tag: (none) Log: * isis_lsp.c: Make topology generator generate TE TLVs if necessary. Also take care of inserting dynamic hostname of topology TLVs into cache. Members: isisd/ChangeLog:1.71->1.72 isisd/isis_lsp.c:1.33->1.34 --------------------- PatchSet 1411 Date: 2005/09/28 19:30:51 Author: hasso Branch: HEAD Tag: (none) Log: * isis_dynh.c, isisd.h: Implement dynamic hostname cache cleanup. * isis_lsp.c: Refresh dynamic hostname in the cache while refreshing topology LSP. Members: isisd/ChangeLog:1.72->1.73 isisd/isis_dynhn.c:1.5->1.6 isisd/isis_lsp.c:1.34->1.35 isisd/isisd.h:1.9->1.10 --------------------- PatchSet 1412 Date: 2005/09/28 19:45:54 Author: hasso Branch: HEAD Tag: (none) Log: * *.c: Massive cleanup of lists loops. Stop abusing ALL_LIST_ELEMENTS. Replace XMALLOC + memset with XCALLOC. Fix some indentation issues. The only really significant change is simplified isis_delete_adj function in isis_adjacency.c. Members: isisd/ChangeLog:1.73->1.74 isisd/isis_adjacency.c:1.12->1.13 isisd/isis_circuit.c:1.20->1.21 isisd/isis_dr.c:1.13->1.14 isisd/isis_events.c:1.12->1.13 isisd/isis_lsp.c:1.35->1.36 isisd/isis_pdu.c:1.21->1.22 isisd/isis_route.c:1.9->1.10 isisd/isis_spf.c:1.18->1.19 isisd/isis_tlv.c:1.17->1.18 isisd/isisd.c:1.21->1.22 --------------------- PatchSet 1413 Date: 2005/09/29 12:25:50 Author: vincent Branch: HEAD Tag: (none) Log: 2005-09-29 Alain Ritoux * lib/filer.c: show protocol name in filter_show() * lib/plist.c: show protocol name in vty_show_prefix_entry() * routemap.c: show protocol name in vty_show_route_map_entry() * lib/vty.c: in vty_command(), show protocol name if command unknown * zebra/zserv.c: Always provide distance fo route add * ripd/rip_snmp.c: rip2IfConfReceive() sends values in conformance with RFC. Also PeerDomain is now set to a STRING type. * ripd/ripd.h: rip_redistribute_add() API includes metric and distance * ripd/ripd.c: rip_redistribute_add() API i.e. stores metric and distance Now allows a RIP-route to overcome a redistributed route coming from a protocol with worse (higher) administrative distance Metrics from redistribution are shown in show ip rip * ripd/rip_zebra.c: adapt to the rip_redistribute_add() API, i.e. provide distance and metric * ripd/rip_interface.c: adapt to the rip_redistribute_add() API * ripd/rip_routemap.c: no RMAP_COMPILE_ERROR on (metric > 16) usage rather a CMD_WARNING, because set metric ius shared with other protocols using larger values (such as OSPF) The match metric action takes first external metric if present (from redistribution) then RIP metric. Members: lib/ChangeLog:1.207->1.208 lib/filter.c:1.6->1.7 lib/plist.c:1.6->1.7 lib/routemap.c:1.13->1.14 lib/vty.c:1.45->1.46 ripd/ChangeLog:1.46->1.47 ripd/rip_interface.c:1.30->1.31 ripd/rip_routemap.c:1.10->1.11 ripd/rip_snmp.c:1.4->1.5 ripd/rip_zebra.c:1.7->1.8 ripd/ripd.c:1.47->1.48 ripd/ripd.h:1.12->1.13 zebra/ChangeLog:1.100->1.101 zebra/zserv.c:1.34->1.35 --------------------- PatchSet 1414 Date: 2005/09/29 14:52:57 Author: vincent Branch: HEAD Tag: (none) Log: 2005-09-29 Alain Ritoux * ospfd/ospf_vty.c: forece default route LSA to be re_issued whenever cost is changed ( [no] ip ospf area XXX default-cost YYY) Support ignore-mtu option * ospfd/ospfd.h: define OSPF_MTU_IGNORE_DEFAULT * ospfd/ospf_packet.c: support ignore-mtu option * ospfd/ospf_interface.h: field added for skipping MTU check * ospfd/ospf_interface.c: fix memory leak in ospf_crypt_key_delete() Set mtu_ignore field to default value * ospfd/ospf_abr.[ch]: export ospf_abr_announce_network_to_area() * ospfd/ospf_ism.h: add MACRO to convert internal ISM status into SNMP correct values * ospfd/ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next() convert OSPFIFSTATE internal status into SNMP values Members: ospfd/ChangeLog:1.136->1.137 ospfd/ospf_abr.c:1.18->1.19 ospfd/ospf_abr.h:1.3->1.4 ospfd/ospf_interface.c:1.35->1.36 ospfd/ospf_interface.h:1.11->1.12 ospfd/ospf_ism.h:1.2->1.3 ospfd/ospf_packet.c:1.77->1.78 ospfd/ospf_snmp.c:1.13->1.14 ospfd/ospf_vty.c:1.37->1.38 ospfd/ospfd.h:1.15->1.16 --------------------- PatchSet 1415 Date: 2005/09/29 14:56:14 Author: vincent Branch: HEAD Tag: (none) Log: 2005-09-29 Alain Ritoux * Of course ISM_SNMP MACRO mist be defined Members: ospfd/ospf_snmp.c:1.14->1.15 --------------------- PatchSet 1416 Date: 2005/09/29 15:39:32 Author: paul Branch: HEAD Tag: (none) Log: 2005-09-29 Paul Jakma * configure.ac: Add the test for Solaris least-privileges. Set defines for whether capabilities are supported and whether of the linux or solaris variety. Add missing-prototypes, missing-declarations, char-subscripts and cast-qual warnings to default cflags, cause Hasso enjoys warnings, and we really should clean the remaining ones up. (ie isisd..). * (*/*main.c) Update the zebra_capabilities_t arrays in the various daemons to match the changes made in lib/privs.h. * zebra.h: Solaris capabilities requires priv.h to be included. * privs.{c,h}: Add support for Solaris Least-Privileges. privs.h: Reduce some of the abstract capabilities, which do not have rough equivalents on both systems. Rename the net related caps to _NET, as they should have been in first place. (zprivs_terminate) should take the zebra_privs_t as argument so that it can update change pointer. Add an additional privilege state, ZPRIVS_UNKNOWN. * privs.c: (various capability functions) Add Solaris privileges variants. (zprivs_state) Use privs.c specific generic types to represent various capability/privilege related types, so that each can be typedef'd as appropriate on each platform. (zprivs_null_state) static added, to hold the state the null method should report (should be raised by default, and LOWERED if zprivs_terminate has been called) (zprivs_state_null) Report back the zprivs_null_state. (cap_map) Make it able to map abstract capability to multiple system capabilities. (zcaps2sys) Map to abstract capabilities to multiple system privileges/capabilities. (zprivs_init) move capability related init to seperate function, zprivs_caps_init. (zprivs_terminate) ditto, moved to zprivs_caps_terminate. Set the change_state callback to the NULL state, so the user can continue to run and use the callbacks. Members: ChangeLog:1.134->1.135 configure.ac:1.112->1.113 bgpd/bgp_main.c:1.16->1.17 isisd/isis_main.c:1.19->1.20 lib/ChangeLog:1.208->1.209 lib/privs.c:1.7->1.8 lib/privs.h:1.5->1.6 lib/zebra.h:1.34->1.35 ospf6d/ospf6_main.c:1.19->1.20 ospfd/ospf_main.c:1.23->1.24 ripd/rip_main.c:1.15->1.16 ripngd/ripng_main.c:1.15->1.16 zebra/main.c:1.22->1.23 --------------------- PatchSet 1417 Date: 2005/09/29 17:34:30 Author: vincent Branch: HEAD Tag: (none) Log: 2005-09-29 Alain Ritoux * lib/smux.[ch]: allow to retreive global OID (identified by <0 namelen). * ospf_ism.c: generate SNMP traps on Interface state change * ospf_nsm.c: generate SNMP traps on Neighbour state change * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours. Members: lib/ChangeLog:1.209->1.210 lib/smux.c:1.15->1.16 lib/smux.h:1.5->1.6 ospfd/ChangeLog:1.137->1.138 ospfd/ospf_ism.c:1.10->1.11 ospfd/ospf_nsm.c:1.11->1.12 ospfd/ospf_snmp.c:1.15->1.16 ospfd/ospf_snmp.h:1.2->1.3 --------------------- PatchSet 1418 Date: 2005/10/01 01:07:50 Author: jardin Branch: HEAD Tag: (none) Log: 2005-09-30 Vincent Jardin * bgp_packet.c: fix compilation when DEBUG is used. Members: bgpd/ChangeLog:1.72->1.73 bgpd/bgp_packet.c:1.21->1.22 --------------------- PatchSet 1419 Date: 2005/10/01 01:08:54 Author: jardin Branch: HEAD Tag: (none) Log: 2005-09-30 Vincent Jardin * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c: remove unused DEBUG Members: ospfd/ChangeLog:1.138->1.139 ospfd/ospf_ase.c:1.12->1.13 ospfd/ospf_dump.c:1.18->1.19 ospfd/ospf_ia.c:1.8->1.9 ospfd/ospf_spf.c:1.19->1.20 --------------------- PatchSet 1420 Date: 2005/10/01 01:09:39 Author: jardin Branch: HEAD Tag: (none) Log: 2005-09-30 Vincent Jardin * isis_route.c: fix EXTREME_DEBUG compilation Members: isisd/ChangeLog:1.74->1.75 isisd/isis_route.c:1.10->1.11 --------------------- PatchSet 1421 Date: 2005/10/01 07:03:04 Author: hasso Branch: HEAD Tag: (none) Log: * isis_adjacency.c: Stop expire timer while deleting adjacency. * isis_events.c: Stop pseudo LSP thread while resigning circuit from level. * isis_route.c: Fix compiling with EXTREME_DEBUG. Mark route as not in sync with zebra if it's changed. * isis_spf.c: Schedule route validating etc even if tent was empty. It's probably because we just don't have any adjacencies. * isisd.c: Write minimum spf interval into configuration. Members: isisd/ChangeLog:1.75->1.76 isisd/isis_adjacency.c:1.13->1.14 isisd/isis_events.c:1.13->1.14 isisd/isis_route.c:1.11->1.12 isisd/isis_spf.c:1.19->1.20 isisd/isisd.c:1.22->1.23 --------------------- PatchSet 1422 Date: 2005/10/01 17:36:54 Author: ajs Branch: HEAD Tag: (none) Log: 2005-10-01 Andrew J. Schorr * rt_netlink.c: (netlink_request) Use memset to clear structure before calling sendto (eliminates a valgrind error message about uninitialized data). Members: zebra/ChangeLog:1.101->1.102 zebra/rt_netlink.c:1.38->1.39 --------------------- PatchSet 1423 Date: 2005/10/01 18:38:06 Author: ajs Branch: HEAD Tag: (none) Log: 2005-10-01 Andrew J. Schorr * zebra.h: Declare new functions zebra_route_string() and zebra_route_char(). * log.c: (zroute_lookup,zebra_route_string,zebra_route_char) New functions to map zebra route numbers to strings. * zebra_vty.c: (route_type_str) Remove obsolete function: use new library function zebra_route_string() instead. Note that there are a few differences: for IPv6 routes, we now get "ripng" and "ospf6" instead of the old behavior ("rip" and "ospf"). (route_type_char) Remove obsolete function: ues new library function zebra_route_char() instead. Note that there is one difference: the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route, whereas the new one returns 'X'. (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace route_type_str() with zebra_route_string(). (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char() with zebra_route_char(). * bgp_vty.c: (bgp_config_write_redistribute) Use new library function zebra_route_string instead of a local hard-coded table. * ospf6_asbr.c: Remove local hard-coded tables zroute_name and zroute_abname. Change the ZROUTE_NAME macro to use new library function zebra_route_string(). Remove the ZROUTE_ABNAME macro. (ospf6_asbr_external_route_show): Replace ZROUTE_ABNAME() with a call to zebra_route_char(), and be sure to fix the format string, since we now have a char instead of a char *. * ospf6_zebra.c: Remove local hard-coded tables zebra_route_name and zebra_route_abname. Note that the zebra_route_name[] table contained mixed-case strings, whereas the zebra_route_string() function returns lower-case strings. (ospf6_zebra_read_ipv6): Change debug message to use new library function zebra_route_string() instead of zebra_route_name[]. (show_zebra): Use new library function zebra_route_string() instead of zebra_route_name[]. * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto. (ospf_redist_string) New function implemented using new library function zebra_route_string(). Note that there are a few differences in the output that will result: the new function returns strings that are lower-case, whereas the old table was mixed case. Also, the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the new function returns "ospf6". * ospfd.h: Remove extern struct message ospf_redistributed_proto[], and add extern const char *ospf_redist_string(u_int route_type) instead. * ospf_asbr.c: (ospf_external_info_add) In two messages, use ospf_redist_string instead of LOOKUP(ospf_redistributed_proto). * ospf_vty.c: Remove local hard-coded table distribute_str. (config_write_ospf_redistribute,config_write_ospf_distribute): Use new library function zebra_route_string() instead of distribute_str[]. * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset, ospf_redistribute_default_set,ospf_redistribute_check) In debug messages, use ospf_redist_string() instead of LOOKUP(ospf_redistributed_proto). * rip_zebra.c: (config_write_rip_redistribute): Remove local hard-coded table str[]. Replace str[] with calls to new library function zebra_route_string(). * ripd.c: Remove local hard-coded table route_info[]. (show_ip_rip) Replace uses of str[] with calls to new library functions zebra_route_char and zebra_route_string. * ripng_zebra.c: (ripng_redistribute_write) Remove local hard-coded table str[]. Replace str[i] with new library function zebra_route_string(i). * ripngd.c: Remove local hard-coded table route_info[]. (show_ipv6_ripng) Use new library function zebra_route_char() instead of table route_info[]. Members: bgpd/ChangeLog:1.73->1.74 bgpd/bgp_vty.c:1.27->1.28 lib/ChangeLog:1.210->1.211 lib/log.c:1.25->1.26 lib/zebra.h:1.35->1.36 ospf6d/ChangeLog:1.47->1.48 ospf6d/ospf6_asbr.c:1.18->1.19 ospf6d/ospf6_zebra.c:1.13->1.14 ospfd/ChangeLog:1.139->1.140 ospfd/ospf_asbr.c:1.4->1.5 ospfd/ospf_dump.c:1.19->1.20 ospfd/ospf_vty.c:1.38->1.39 ospfd/ospf_zebra.c:1.34->1.35 ospfd/ospfd.h:1.16->1.17 ripd/ChangeLog:1.47->1.48 ripd/rip_zebra.c:1.8->1.9 ripd/ripd.c:1.48->1.49 ripngd/ChangeLog:1.26->1.27 ripngd/ripng_zebra.c:1.8->1.9 ripngd/ripngd.c:1.20->1.21 zebra/ChangeLog:1.102->1.103 zebra/zebra_vty.c:1.11->1.12 --------------------- PatchSet 1424 Date: 2005/10/06 08:45:43 Author: vincent Branch: HEAD Tag: (none) Log: 2005-10-06 Alain Ritoux * rip_interface.c: Now the command "no ip rip split-horizon poisoned-reverse" just inhibates the poisoned-reverse effects but keep spli-horizon activ. Members: ripd/ChangeLog:1.48->1.49 ripd/rip_interface.c:1.31->1.32 --------------------- PatchSet 1425 Date: 2005/10/06 08:46:22 Author: vincent Branch: HEAD Tag: (none) Log: 2005-10-06 Alain Ritoux * ospf_snmp.c: Avoid mixing interface and ospf_interface objects which now allows snmpwalk to work with ospfIfTable and also with ospfIfMetricTable Members: ospfd/ChangeLog:1.140->1.141 ospfd/ospf_snmp.c:1.16->1.17 --------------------- PatchSet 1426 Date: 2005/10/11 04:48:28 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-11 Paul Jakma * test-privs.c: Privileges unit test. * Makefile.am: build testprivs * aspath_test.c: fix a few sign warnings Members: tests/ChangeLog:1.9->1.10 tests/Makefile.am:1.5->1.6 tests/aspath_test.c:1.1->1.2 tests/test-privs.c:INITIAL->1.1 --------------------- PatchSet 1427 Date: 2005/10/11 04:53:54 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-11 Paul Jakma * connected.{c,h}: (connected_{add,delete}_ipv4) label should be const qualified. Members: zebra/ChangeLog:1.103->1.104 zebra/connected.c:1.17->1.18 zebra/connected.h:1.3->1.4 --------------------- PatchSet 1428 Date: 2005/10/11 05:01:09 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-11 Paul Jakma * quagga.texi: Rejiggle the copyright sections a bit, seems to make makeinfo happier and generates info pages again on FC4. * quagga.info: Update this auto-built file. Members: doc/ChangeLog:1.46->1.47 doc/quagga.info:1.12->1.13 doc/quagga.texi:1.6->1.7 --------------------- PatchSet 1429 Date: 2005/10/11 05:12:54 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-11 Paul Jakma * ospf_api.c: sign warnings. * ospf_apiserver.c: sign warning and convert all the struct in_addr initialisations so as not to make assumptions about how this struct is organised, initialise the s_addr member explicitely. * ospf_packet.c: Add const qualifier to auth_key. Members: ospfd/ChangeLog:1.141->1.142 ospfd/ospf_api.c:1.3->1.4 ospfd/ospf_apiserver.c:1.20->1.21 ospfd/ospf_packet.c:1.78->1.79 --------------------- PatchSet 1430 Date: 2005/10/18 05:20:33 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-18 Paul Jakma * (general) SPF memory management cleanup and fix for rare double-free bug. * ospf_spf.h: (struct vertex_parent) New struct to hold parent specific data, eg the backlink and the parent vertex pointer, and point to the appropriate general struct vertex_nexthop. (struct vertex_nexthop) remove parent vertex pointer, so this struct can be shared across vertices. (struct vertex) rename list child to list children. Remove list of nexthops, replace with list of vertex_parents. * ospf_spf.c: (update_stat) trivial, remove cast from void *. (vertex_nexthop_new) remove init of parent - field is gone from struct vertex_nexthop. (ospf_canonical_nexthops_free) Remove the canonical vertex_nexthop memory objects. These are the vertex_nexthops attached to the first level of router vertices from the root. (vertex_parent_new) new function, create a vertex_parent. (vertex_parent_free) ditto, but free it. (ospf_vertex_new) Update to match changes to struct vertex. (ospf_vertex_free) Recursively free a struct vertex and its children. The parent list is used as a reference count. vertex_nexthops must be free seperately, if required. (ospf_vertex_dump) update to match struct vertex changes. Print out backlink of parents too. (ospf_vertex_add_parent) ditto. (ospf_lsa_has_link) update comment. (ospf_nexthop_add_unique) removed, not needed anymore. (ospf_nexthop_merge) ditto. (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent. Simplified to just create vertex_parent and add it. (ospf_spf_flush_parents) new function, flush out the parent list. (ospf_nexthop_calculation) Take the relevant route_lsa_link as an argument, which simplifies things and removes the need for the hack in ospf_nexthop_add_unique - ospf_spf_next already knew exactly which link the cost calculated was for. Update to match struct vertex changes too. (ospf_spf_next) Don't create a vertex for W unnecessarily, if it's there's a vertex already created for W, use it, and hence there's no need to free it either. Update some manipulation/comparisons of distance to match. Flush the parent list if a lower cost path is found. (ospf_spf_route_free) unused, removed. (ospf_spf_dump) match the struct vertex changes, and dump the ifname if possible. (ospf_spf_calculate) At end of SPF, free the canonical nexthops and call ospf_vertex_free on the root vertex to free the entire tree. * ospf_interface.c: (ospf_vl_set_params) match struct vertex changes. * ospf_route.c: (ospf_intra_route_add) ditto (ospf_route_copy_nexthops_from_vertex) ditto * memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT. Members: lib/ChangeLog:1.211->1.212 lib/memtypes.c:1.7->1.8 ospfd/ChangeLog:1.142->1.143 ospfd/ospf_interface.c:1.36->1.37 ospfd/ospf_route.c:1.13->1.14 ospfd/ospf_spf.c:1.20->1.21 ospfd/ospf_spf.h:1.6->1.7 --------------------- PatchSet 1431 Date: 2005/10/18 21:19:13 Author: ajs Branch: HEAD Tag: (none) Log: 2005-10-18 Andrew J. Schorr * memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c). Members: lib/ChangeLog:1.212->1.213 lib/memtypes.h:1.5->1.6 --------------------- PatchSet 1432 Date: 2005/10/19 20:29:59 Author: jardin Branch: HEAD Tag: (none) Log: 2005-10-17 Vincent Jardin * ripd.c: rip_create_socket() for each packet, it does not bind to the proper interfaces because we forget to use the from address when it is specified. Members: ripd/ChangeLog:1.49->1.50 ripd/ripd.c:1.49->1.50 --------------------- PatchSet 1433 Date: 2005/10/20 23:28:14 Author: ajs Branch: HEAD Tag: (none) Log: 2005-10-20 Andrew J. Schorr * memory.c: (show_memory_vty) Omit zero statistics. Print separators only if some non-zero stats have been printed in between. (show_separator) New function to print a separator. (show_memory_all) Keep track of whether a separator is needed between the different memory statistics groups. Members: lib/ChangeLog:1.213->1.214 lib/memory.c:1.14->1.15 --------------------- PatchSet 1434 Date: 2005/10/21 01:45:17 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-21 Paul Jakma * (general) OSPF fast, sub-second hello and 1s dead-interval support. A warning fix. Millisec support for ospf_timer_dump. Change auto-cost ref-bandwidth to add a comment to write out of config, rather than printing annoying messages to vty on startup. * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too. Callers typically specify a length of 9, so most see millisecs unless they specify the additional length. * ospf_interface.h: (struct ospf_interface) new interface param, fast_hello. * ospf_interface.c: (ospf_if_table_lookup) add brackets, gcc warning fix. (ospf_new_if_params) Initialise fast_hello param. (ospf_free_if_params) Check whether fast_hello is configured. (ospf_if_new_hook) set fast_hello to default. * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to prevent funny side-effects from its if statement when this macro is used conditionally by other macros. (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds. (OSPF_HELLO_TIMER_ON) new macro to set hello timer according to whether fast_hello is set. * ospf_ism.c: Update all setting of the hello timer to use either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The former is used when hello is to be sent immediately. * ospf_nsm.c: ditto * ospf_packet.c: (ospf_hello) hello-interval is not checked for mismatch if fast_hello is set. (ospf_read) Annoying nit, fix "no ospf_interface" to be debug rather than a warning, as it can be perfectly normal to receive packets when logical subnets are used. (ospf_make_hello) Set hello-interval to 0 if fast-hellos are configured. * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying nit, don't vty_out if this command is given, it gets tired quick. (show_ip_ospf_interface_sub) Print the hello-interval according to whether fast-hello is set or not. Print the extra 5 millisec characters from (ospf_timer_dump) if fast-hello is configured. (ospf_vty_dead_interval_set) new function, common to all forms of dead-interval command, to set dead-interval and fast-hello correctly. If a dead-interval is given, unset fast-hello, else if a hello-multiplier is set, set dead-interval to 1 and fast-hello to given multiplier. (ip_ospf_dead_interval_addr_cmd) use ospf_vty_dead_interval_set(). (ip_ospf_dead_interval_minimal_addr_cmd) ditto. (no_ip_ospf_dead_interval) Unset fast-hello. (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval should set it to OSPF_HELLO_INTERVAL_DEFAULT, not OSPF_ROUTER_DEAD_INTERVAL_DEFAULT. (config_write_interface) Write out fast-hello. (ospf_config_write) Write a comment about "auto-cost reference-bandwidth" having to be equal on all routers. Hopefully just as noticeable as old practice of writing to vty, but less annoying. (ospf_vty_if_init) install the two new dead-interval commands. * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL and OSPF_FAST_HELLO_DEFAULT. Members: ospfd/ChangeLog:1.143->1.144 ospfd/ospf_dump.c:1.20->1.21 ospfd/ospf_interface.c:1.37->1.38 ospfd/ospf_interface.h:1.12->1.13 ospfd/ospf_ism.c:1.11->1.12 ospfd/ospf_ism.h:1.3->1.4 ospfd/ospf_nsm.c:1.12->1.13 ospfd/ospf_packet.c:1.79->1.80 ospfd/ospf_vty.c:1.39->1.40 ospfd/ospfd.h:1.17->1.18 --------------------- PatchSet 1435 Date: 2005/10/21 03:57:41 Author: ajs Branch: HEAD Tag: (none) Log: 2005-10-20 Andrew J. Schorr * sockopt.c: (setsockopt_multicast_ipv4) If IP_ADD_MEMBERSHIP fails with errno equal to EADDRINUSE, then issue an info message and try IP_DROP_MEMBERSHIP followed by IP_ADD_MEMBERSHIP. Members: lib/ChangeLog:1.214->1.215 lib/sockopt.c:1.21->1.22 --------------------- PatchSet 1436 Date: 2005/10/21 10:23:12 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-21 Paul Jakma * (general) SPF millisecond resolution timer with adaptive, linear back-off holdtime. Prettification of ospf_timer_dump. * ospf_dump.c: (ospf_timeval_dump) new function. The guts of ospf_timer_dump, but made to be more dynamic in printing out the relative timeval, sliding the precision printed out according to the value. (ospf_timer_dump) guts moved to ospf_timeval_dump. * ospf_dump.h: export ospf_timeval_dump. * ospf_flood.c: (ospf_flood) remove gettimeofday, use the libzebra exported recent_time instead, as it's not terribly critical to have time exactly right - the dropped LSA will be retransmited to us if we don't ACK it. * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're not transmitting, just putting LSA back on update transmit list. * ospfd.h: delay and holdtimes should be unsigned. Add spf_max_holdtime and spf_hold_multiplier. Update default defines for delay and hold time to be in msec. (struct ospf) change the SPF timestamp to a struct timeval. Remove ospf_timers_spf_(un)?set. * ospfd.c: (ospf_timers_spf_{set,unset}) removed. (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval now, update with gettimeofday. (ospf_spf_calculate_schedule) Change SPF timers to millisecond resolution. Make the holdtime be adaptive, with a linear increase in holdtime ever consecutive SPF run which occurs within holdtime of previous SPF, bounded by spf_max_holdtime. * ospf_vty.c: Update spf timers commands. (ospf_timers_spf_set) trivial helper. (ospf_timers_throttle_spf_cmd) new command to set SPF delay, initial hold and max hold times with millisecond resolution. (ospf_timers_spf_cmd) Deprecated. Accept the old values, convert to msec, truncate to new limits. (no_ospf_timers_throttle_spf_cmd) set timers to defaults. (no_ospf_timers_spf_cmd) deprecated form, same as previous. (show_ip_ospf_cmd) Display SPF parameters and times. (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne' header. (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of the multiple spaces which were making the lines even longer. (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header (show_ip_ospf_neighbor_all_cmd) ditto and fix the field widths for NBMA neighbours. (show_ip_ospf_neighbor_int) Use header function. (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf, local array - safer. (show_ip_ospf_neighbor_detail_sub) ditto (ospf_vty_init) install the new SPF throttle timer commands. Members: ospfd/ChangeLog:1.144->1.145 ospfd/ospf_dump.c:1.21->1.22 ospfd/ospf_dump.h:1.5->1.6 ospfd/ospf_flood.c:1.15->1.16 ospfd/ospf_packet.c:1.80->1.81 ospfd/ospf_spf.c:1.21->1.22 ospfd/ospf_vty.c:1.40->1.41 ospfd/ospfd.c:1.33->1.34 ospfd/ospfd.h:1.18->1.19 --------------------- PatchSet 1437 Date: 2005/10/21 21:04:41 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-21 Paul Jakma * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to Andrew Schorr. * ospf_vty.c: (ospf_config_write) fix write out of spf timers configuration. Members: ospfd/ChangeLog:1.145->1.146 ospfd/ospf_dump.c:1.22->1.23 ospfd/ospf_vty.c:1.41->1.42 --------------------- PatchSet 1438 Date: 2005/10/23 16:23:05 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-23 Paul Jakma * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it has not yet been run. Members: ospfd/ChangeLog:1.146->1.147 ospfd/ospf_vty.c:1.42->1.43 --------------------- PatchSet 1439 Date: 2005/10/23 16:26:24 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-23 Paul Jakma * ospf_apiserver.c: (ospf_apiserver_term) This function should not have side-effects (eg segv) if no apiserver instances are active, ie be robust. Members: ospfd/ChangeLog:1.147->1.148 ospfd/ospf_apiserver.c:1.21->1.22 --------------------- PatchSet 1440 Date: 2005/10/26 00:31:05 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-26 Paul Jakma * (general) static/extern functions and definitions. * rip_interface.h: new file, export the public functions from rip_interface.c Members: ripd/ChangeLog:1.50->1.51 ripd/rip_debug.c:1.2->1.3 ripd/rip_debug.h:1.1->1.2 ripd/rip_interface.c:1.32->1.33 ripd/rip_interface.h:INITIAL->1.1 ripd/rip_main.c:1.16->1.17 ripd/rip_offset.c:1.3->1.4 ripd/rip_peer.c:1.2->1.3 ripd/rip_routemap.c:1.11->1.12 ripd/rip_zebra.c:1.9->1.10 ripd/ripd.c:1.50->1.51 ripd/ripd.h:1.13->1.14 --------------------- PatchSet 1441 Date: 2005/10/26 00:35:28 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-26 Paul Jakma * ripd.c: Update couple more functions to specify void explicitely. Members: ripd/ChangeLog:1.51->1.52 ripd/ripd.c:1.51->1.52 --------------------- PatchSet 1442 Date: 2005/10/26 06:05:16 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-26 Paul Jakma * (general) Cleanup a some calls to XFREE,strdup, etc. to use the memory.h macros. * memtypes.c: Add MTYPE_IF_RMAP_NAME, MTYPE_PQUEUE, MTYPE_PQUEUE_DATA and MTYPE_HOST. * memtypes.h: update auto-built file. * if_rmap.c: Use MTYPE_IF_RMAP_NAME. * pqueue.c: Use the two MTYPE_PQUEUE mtypes for allocations. Members: lib/ChangeLog:1.215->1.216 lib/if.c:1.31->1.32 lib/if_rmap.c:1.7->1.8 lib/memtypes.c:1.8->1.9 lib/memtypes.h:1.6->1.7 lib/pqueue.c:1.3->1.4 lib/routemap.c:1.14->1.15 --------------------- PatchSet 1443 Date: 2005/10/26 06:49:54 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-26 Paul Jakma * command.c: Use MTYPE_HOST, MTYPE_STRVEC. Some other fixups, including fixing some likely leaks in config_write_file. * vty.c: memory macro usage fixes. (vty_read_config) fix leak where relative config file is specified. Members: lib/ChangeLog:1.216->1.217 lib/command.c:1.50->1.51 lib/vty.c:1.46->1.47 --------------------- PatchSet 1444 Date: 2005/10/28 11:23:09 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-28 Paul Jakma * Makefile.am: Add rip_interface.h, or else it doesn't get included in dists. Members: ripd/ChangeLog:1.52->1.53 ripd/Makefile.am:1.7->1.8 --------------------- PatchSet 1445 Date: 2005/10/29 13:50:09 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-29 Paul Jakma * (general) RFC3137 stub-router support * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define. (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for options, to allow shutdown to distinguish between complete shutdown and shutdown of a subset of ospf instances. (struct ospf) Add stub_router_{startup,shutdown_}time, configuration of startup and shutdown time for stub-router. Add t_graceful_shutdown struct thread, timer for graceful shutdown, if needed. (struct ospf_area) Add stub_router_state - run time state of stub-router for an area. Add flags for ADMIN, IS and WAS states. Add t_stub_router, timer thread to resend router-lsa for an area. * ospf_lsa.c: (ospf_link_cost) new simple function to spit out either the given lnks cost or infinite cost if stub-router is in effect. (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use previous function for transit-links. (ospf_stub_router_timer) timer thread for end of startup stub router. Change state as required for the area and setup re-origination of router-lsa. (ospf_stub_router_check) Check/do whether stub-router should be enabled, and whether it requires timer to be setup. (ospf_router_lsa_new) call previous function at top. (ospf_router_lsa_originate) no external callers, made static. * ospf_lsa.h: (ospf_router_lsa_originate) removed. * ospf_main.c: (sigint) make static. remove call to exit, as ospf_terminate now deals with exiting. * ospf_route.c: (ospf_terminate) removed, now in ospfd.c. * ospf_vty.c: (show_ip_ospf_area) print out state of stub-router, if active. (show_ip_ospf) print out configuration of stub-router support, and details of graceful-shutdown if the timer is active. ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new commands to (de-)?configure stub-router support. (config_write_stub_router) write out config of stub-router. (ospf_config_write) call previous. (ospf_vty_init) install the new stub-router commands. * ospfd.c: various functions made static. (ospf_new) Set defaults for stub-router. Graceful shutdown is made to default on, just to be adventerous. (ospf_graceful_shutdown_finish) new function, final part of shutdown. (ospf_graceful_shutdown_timer) timer thread wrapper for graceful-shutdown. (ospf_graceful_shutdown_check) check whether to setup timer for shutdown or proceed directly to final shutdown. (ospf_terminate) moved here from ospf_route.c, call ospf_finish for each instance. (ospf_finish) renamed to ospf_finish_final and made static. (ospf_finish) new function, exported wrapper around ospf_graceful_shutdown_check. (ospf_finish_final) complete shutdown of an instance. Add missing TIMER_OFF's of two timer threads. (ospf_area_free) opaque self lsa timer should be turned off. Members: ospfd/ChangeLog:1.148->1.149 ospfd/ospf_lsa.c:1.38->1.39 ospfd/ospf_lsa.h:1.12->1.13 ospfd/ospf_main.c:1.24->1.25 ospfd/ospf_route.c:1.14->1.15 ospfd/ospf_vty.c:1.43->1.44 ospfd/ospfd.c:1.34->1.35 ospfd/ospfd.h:1.19->1.20 --------------------- PatchSet 1446 Date: 2005/10/29 21:19:49 Author: paul Branch: HEAD Tag: (none) Log: 2005-10-29 Paul Jakma * ospfd.texi: Document the new spf and max-metric commands, and the additional form of dead-interval. Add documentation for various other commands. Cleanup misc stuff, citations, etc. Add some example configurations. * overview.texi: RFC3137 support added. * Makefile.am: Make quagga.pdf depend on the _TEXINFOS variable, this still doesn't fix the dependency though, sadly. Members: doc/ChangeLog:1.47->1.48 doc/Makefile.am:1.14->1.15 doc/ospfd.texi:1.11->1.12 doc/overview.texi:1.8->1.9 --------------------- PatchSet 1447 Date: 2005/10/30 23:51:32 Author: ajs Branch: HEAD Tag: (none) Log: 2005-10-30 Andrew J. Schorr * ripd.c: (rip_response_process) Instead of calling rip_interface.c:if_valid_neighbor(), call the equivalent library function if_lookup_address(). * rip_interface.c: (if_valid_neighbor) Remove function, since it is essentially equivalent to the if_lookup_address() library function. * ripd.h: (if_valid_neighbor) Remove function declaration. Members: ripd/ChangeLog:1.53->1.54 ripd/rip_interface.c:1.33->1.34 ripd/ripd.c:1.52->1.53 ripd/ripd.h:1.14->1.15 --------------------- PatchSet 1448 Date: 2005/11/03 09:00:23 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-03 Paul Jakma * zebra.h: BSD BYTE_ORDER define isn't available everywhere, define if needs be. * checksum.h: new file. checksum.c exports in_cksum, provide a header for it. * checksum.c: (in_cksum) callers shouldn't have to know it uses a u_short internally, change to void *. * Makefile.am: Add checksum.h * command.h: remove bogus trailling slash. * md5.c: (general) Update it for the twentieth century. ANSI declarations are widely supported now.. Don't include system headers, only include zebra.h. Use POSIX types (the alternative is to define u_int64_t in a portable way - rest of Quagga needs same cleanup). Make endian-conditional code be compiler conditional rather than preprocessor conditional, so that breakage gets noticed quicker. * md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable compiler compatibility hack. Members: lib/ChangeLog:1.217->1.218 lib/Makefile.am:1.24->1.25 lib/checksum.c:1.2->1.3 lib/checksum.h:INITIAL->1.1 lib/command.h:1.20->1.21 lib/md5.c:1.3->1.4 lib/md5.h:1.1->1.2 lib/zebra.h:1.36->1.37 --------------------- PatchSet 1449 Date: 2005/11/03 09:08:29 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-03 Paul Jakma * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon * ospf_packet.c: include checksum.h, remove the in_cksum extern * prototypes. * ospf_te.h: Add braces, quell warning. Members: ospfd/ChangeLog:1.149->1.150 ospfd/ospf_apiserver.c:1.22->1.23 ospfd/ospf_packet.c:1.81->1.82 ospfd/ospf_te.h:1.1->1.2 --------------------- PatchSet 1450 Date: 2005/11/03 11:04:07 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-03 Paul Jakma * if.c: (connected_free) use MTYPE for connected label. memtypes.c: Add MTYPE_CONNECTED_LABEL Members: lib/ChangeLog:1.218->1.219 lib/if.c:1.32->1.33 lib/memtypes.c:1.9->1.10 --------------------- PatchSet 1451 Date: 2005/11/03 11:15:44 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-03 Paul Jakma * ospf_packet.c: Change level of some warnings to informational. Members: ospfd/ChangeLog:1.150->1.151 ospfd/ospf_packet.c:1.82->1.83 --------------------- PatchSet 1452 Date: 2005/11/03 12:35:21 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-03 Paul Jakma * connected.{c,h}: Include memory.h (connected_add_ipv4) Use MTYPE for ifc label. (connected_add_ipv6) Also should accept label. Store it in ifp. (connected_del_ipv4) Taking label as argument is pointless. * rt_netlink.c: (netlink_interface_addr) update label usage for connected_{add,delete} functions. * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6. * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT so we also find out about NOXMIT interfaces like VNI. Bit of hackery to turn interface names into the primary interface name, later with routing socket messages we only will about primary interfaces anyway, so we must normalise the name. (if_get_addr) take label as argument, so it can be passed to connected_add. If label is provided, then it is interface name to issue the ioctl for address information on, not the ifp name. (interface_list) List AF_UNSPEC too, just in case. * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6. * interface.c: (if_addr_wakeup) Some very bogus code - sets IFF_RUNNING - add comment. (if_refresh) (ip_address_install) Use MTYPE for ifc label. * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make IFF_UP reflect whether any addresses are left on the interface, as we get signalled for IFF_UP flags change on the primary interface only. Logical interfaces dont generate IFINFO, but we do get an RTM_DELADDR. (if_get_flags) Call if_mangle_up before return. * kernel_socket.c: (ifam_read) Fixup calls to connected_{add,delete} to match above changes. Rename gate variable to brd, less confusing. Pass the interface name as a label, if it is not same name as ifp->name. Members: zebra/ChangeLog:1.104->1.105 zebra/connected.c:1.18->1.19 zebra/connected.h:1.4->1.5 zebra/if_ioctl.c:1.8->1.9 zebra/if_ioctl_solaris.c:1.9->1.10 zebra/if_proc.c:1.5->1.6 zebra/interface.c:1.29->1.30 zebra/ioctl_solaris.c:INITIAL->1.7 zebra/kernel_socket.c:1.29->1.30 zebra/rt_netlink.c:1.39->1.40 --------------------- PatchSet 1453 Date: 2005/11/03 12:52:18 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-03 Paul Jakma * bgp_damp.c: (bgp_reuse_timer) struct bgp can be retrieved via the struct bgp_damp_info, no need to guess by using bgp_get_default(). Members: bgpd/ChangeLog:1.74->1.75 bgpd/bgp_damp.c:1.4->1.5 --------------------- PatchSet 1454 Date: 2005/11/03 13:00:54 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-03 Paul Jakma * memtypes.h: Update auto-built file. Members: lib/ChangeLog:1.219->1.220 lib/memtypes.h:1.7->1.8 --------------------- PatchSet 1455 Date: 2005/11/03 13:09:10 Author: paul Branch: HEAD Tag: (none) Log: - bah, fix likkle typo. Members: zebra/if_ioctl_solaris.c:1.10->1.11 --------------------- PatchSet 1456 Date: 2005/11/04 12:25:23 Author: paul Branch: HEAD Tag: (none) Log: - quagga.pam: pam_stack.so module is deprecated, use 'include' instead. - quagga.pam.stack: the old pam_stack way, kept to allow spec file to backwards compatible (changes to spec file pending local testing) Members: redhat/quagga.pam:1.4->1.5 redhat/quagga.pam.stack:INITIAL->1.1 --------------------- PatchSet 1457 Date: 2005/11/04 12:31:39 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-04 Paul Jakma * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub function rather than unportable timersub. Members: ospfd/ChangeLog:1.151->1.152 ospfd/ospf_dump.c:1.23->1.24 ospfd/ospf_spf.c:1.22->1.23 ospfd/ospf_vty.c:1.44->1.45 --------------------- PatchSet 1458 Date: 2005/11/04 12:34:06 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-04 Paul Jakma * prototype.dev.in: lib/md5-gnu.h is now lib/md5.h Members: solaris/ChangeLog:1.12->1.13 solaris/prototype.dev.in:INITIAL->1.2 --------------------- PatchSet 1459 Date: 2005/11/04 12:48:25 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-04 Paul Jakma * snmptrap.texi: Contributed documentation, contributors name is lost (please get in touch). Configuring SNMP for logging traps. * snmp.texi: Minor formatting changes. * quagga.info: Update auto-built file Members: doc/ChangeLog:1.48->1.49 doc/quagga.info:1.13->1.14 doc/snmp.texi:1.6->1.7 doc/snmptrap.texi:INITIAL->1.1 --------------------- PatchSet 1460 Date: 2005/11/04 21:53:59 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-04 Paul Jakma * quagga.info: Update auto-built file * ospf6d.texi: Add example config * bgpd.texi: Add example configs. Couple of cleanups of format and macros. * routemap.texi: Add an explanation of how route-maps work. Document the call and exit-policy commands. Members: doc/ChangeLog:1.49->1.50 doc/bgpd.texi:1.5->1.6 doc/ospf6d.texi:1.2->1.3 doc/quagga.info:1.14->1.15 doc/routemap.texi:1.2->1.3 --------------------- PatchSet 1461 Date: 2005/11/05 16:29:54 Author: paul Branch: HEAD Tag: (none) Log: - Makefile.am: quagga.pam.stack should be in dists - quagga.spec.in: introduce dist variable to allow for differences e.g in buildreqs, pam config files. etc. Members: redhat/Makefile.am:1.2->1.3 redhat/quagga.spec.in:1.28->1.29 --------------------- PatchSet 1462 Date: 2005/11/07 03:19:51 Author: paul Branch: HEAD Tag: (none) Log: [doc] List snmptrap.texi as a source, so it gets included in dist 2005-11-07 Paul Jakma * Makefile.am: snmptrap.texi needs to be listed as a source, not disted otherwise. Members: doc/ChangeLog:1.50->1.51 doc/Makefile.am:1.15->1.16 --------------------- PatchSet 1463 Date: 2005/11/10 10:21:19 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-10 Paul Jakma * HACKING: Add recommendation to provide a single Subject style description to the commit message. Add some recommendations for ChangeLog. Members: ChangeLog:1.135->1.136 HACKING:1.20->1.21 --------------------- PatchSet 1464 Date: 2005/11/11 09:52:40 Author: paul Branch: HEAD Tag: (none) Log: [zebra] Fix warning and small connected-label changes merge error. 2005-11-11 Paul Jakma * kernel_socket.c: (ifm_read) arithmetic on void pointer warning. (ifam_read) Fix error from connected-with-label merge, something crept in from the pending Solaris kernel_socket.c patch which shouldn't have. Members: zebra/ChangeLog:1.105->1.106 zebra/kernel_socket.c:1.30->1.31 --------------------- PatchSet 1465 Date: 2005/11/11 09:58:35 Author: paul Branch: HEAD Tag: (none) Log: [trivia] update quagga.info, auto-built file 2005-11-11 Paul Jakma * quagga.info: update auto-built file. Methinks it's time to remove from CVS.. Members: doc/ChangeLog:1.51->1.52 --------------------- PatchSet 1466 Date: 2005/11/11 09:59:10 Author: paul Branch: HEAD Tag: (none) Log: - commit the actual file.. Members: doc/quagga.info:1.15->1.16 --------------------- PatchSet 1467 Date: 2005/11/11 10:28:59 Author: paul Branch: HEAD Tag: (none) Log: 2005-11-11 Paul Jakma * NEWS: Update. * configure.ac: Bump to 0.99.2 Members: ChangeLog:1.136->1.137 NEWS:1.18->1.19 configure.ac:1.113->1.114 --------------------- PatchSet 1468 Date: 2005/11/11 11:16:11 Author: paul Branch: HEAD Tag: (none) Log: [doc] quagga.info updated /again/ due to version bump, d'oh. Members: doc/quagga.info:1.16->1.17 --------------------- PatchSet 1469 Date: 2005/11/11 12:10:03 Author: paul Branch: HEAD Tag: quagga_0_99_2_release Log: [ospfd] SPF ospf_canonical_nexthops_free bugfix. Members: ospfd/ChangeLog:1.152->1.153 ospfd/ospf_spf.c:1.23->1.24