summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2005-11-252005-11-25 Paul Jakma <paul.jakma@sun.com>paul
* texinfo.tex: update to newer version, seems to now properly scale the diagramme images in PDF output.
2005-11-24[zebra] Fix mistake in previous commit and further compile warnings/errors.paul
2005-11-24 Paul Jakma <paul.jakma@sun.com> * kernel_socket.h: New header for functions exported to sysctl methods. * kernel_socket.c: include previous. Remove static qualifier from couple of functions which are used by sysctl methods, incorrectly added in previous commit. Add a workaround for a bogus gcc warning to the RTA_ macros. * Makefile.am: Add kernel_socket.h to noinst_HEADERS * if_sysctl.c: include rt.h and kernel_socket.h and remove redundant prototypes. * rtread_sysctl.c: ditto. (route_read) fix mismatch of return values. * {rt,zserv,rib}.h: Include lib headers depended on.
2005-11-24[lib/zebra.h] fix Linux compile errorpaul
2005-11-24 Paul Jakma <paul.jakma@sun.com> * zebra.h: s/u_int/unsigned int/, u_int is a BSD type, defining __USE_BSD on Linux pulls in further things from netinet/ip.h which dont preprocess for some reason. There is no C99 shorthand type directly equivalent to u_int afaict, so don't use it.
2005-11-24[privs/solaris] Fix unused variable and incorrect format string.paul
2005-11-24 Paul Jakma <paul.jakma@sun.com> * privs.c: (zcaps2sys/solaris) remove unused variable. (zprivs_state_caps/solaris) Format string missing a specifier.
2005-11-24[ospfclient] add static qualifierpaul
2005-11-24 Paul Jakma <paul.jakma@sun.com> * ospf_apiclient.c: add static qualifier to relevant functions. * ospfclient.c: ditto
2005-11-23[zebra] fix some small compile errors, mark several functions staticpaul
2005-11-23 Paul Jakma <paul.jakma@sun.com> * (general) fix some small compile errors, and mark several functions as static. * kernel_socket.c: (ifan_read) should be static. fix missing brackets. (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static (ifam_read_mesg) make static. fix incorrect variable name. (rtm_read) make static. Fix call to rib_delete_ipv4 which should be rib_delete_ipv6. (routing_socket,kernel_init) should be static. Void argument should be specified as such, not left incomplete. * rt_netlink.c: rt.h should be included, contains prototypes of exported functions. (kernel_delete_ipv6_old) fix sign of index argument. * rt_socket.c: Exact same as previous. Also, make various functions static. * rtread_getmsg.c: Include zserv.h, which prototypes route_read. Make static. * rtread_sysctl.c: zserv.h and rt.h should be included. fix definition of route_read.
2005-11-23[tests] Add empty-path and sequence+1ASN test data to aspath_test.cpaul
2005-11-23 Paul Jakma <paul.jakma@sun.com> * aspath_test.c: Add an empty aspath to test segments, and to compare tests. Add a segment identical to seq1, but with one extra asn. Fix bogus free of stream in make_aspath for case where no stream was allocated (empty path data).
2005-11-23[bgp] Fix SEGV if empty path is confed-compared ([quagga-users 5968])paul
2005-11-23 Paul Jakma <paul.jakma@sun.com> * bgp_aspath.c: (assegments_parse) should be static 2005-11-23 Juergen Kammer <j.kammer@eurodata.de> * bgp_aspath.c: (aspath_cmp_left_confed) fix SEGV for case where one or both paths are empty.
2005-11-202005-11-20 Paul Jakma <paul.jakma@sun.com>paul
* ospf_abr.c: (ospf_abr_announce_network_to_area) check returned LSA of ospf_summary_lsa_refresh and print warning if it failed. (ospf_abr_announce_network_to_area) similar (ospf_abr_announce_rtr_to_area) similar * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid. (ospf_router_lsa_originate) similar (ospf_router_lsa_refresh, ospf_network_lsa_new) similar (ospf_summary_lsa_new) Check ID is valid. (ospf_summary_lsa_originate) ditto, and check returned LSA from previous function is !NULL. (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return is !NULL. (ospf_summary_asbr_lsa_new) ID valid check. (ospf_summary_asbr_lsa_originate) similar.
2005-11-202005-11-20 Paul Jakma <paul.jakma@sun.com>paul
* ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define (struct ospf) remove the router_id timer thread. remove export of ospf_router_id_update_timer. * ospfd.c: (ospf_router_id_update) call ospf_if_update to poke interfaces into action after ID has been configured. (ospf_router_id_update_timer) removed. (ospf_finish_final) t_router_id_update timer is gone. (ospf_network_run) router-id update timer gone. call ospf_router_id_update directly if ID not configured. In the per-iface loop, don't ospf_if_up interfaces if ID is still not configured. The update function will call ospf_if_update anyway. (ospf_if_update) ID update timer is gone. Just return if no ID is set. * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no timer needed. * ospf_zebra.c: (ospf_router_id_update_zebra) call ospf_router_id_update directly, not via timer.
2005-11-20[isisd] remove includes of common system headers.paul
2005-11-20 Paul Jakma <paul.jakma@sun.com> * (general) remove includes of very common system headers, these are already picked up by zebra.h. Further, including them before zebra.h messes up all our lovely (sarcasm) autoconf'd detecting of platform specific things. Recent addition of stdint.h to configure.ac and zebra.h appears particularly to throw up this problem.
2005-11-20- quagga.spec.in: Release sub-rev now release_rev macro, for rpmbuild -Dpaul
2005-11-16[ospfd] Standardize buffer sizes used for displaying timers.ajs
2005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size for use with ospf_timer_dump and ospf_timeval_dump. * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE. (show_ip_ospf_interface_sub) Fix possible buffer overflow in call to ospf_timer_dump.
2005-11-16[ospfd] Make OSPF_ISM_TIMER_OFF macro safer.ajs
2005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing in 'do {...} while(0)'.
2005-11-14[workqueue] Update workqueue users callbacks to additional argumentspaul
2005-11-14 Paul Jakma <paul.jakma@sun.com> * (general) pass struct work-queue to callback functions. * workqueue.h: (struct work_queue) move the state flag variables to end. Add an opaque pointer to spec, for user-data global to the queue. Pass reference to work_queue to all callbacks. * workqueue.c: (work_queue_item_remove) pass ref to workqueue to user callbacks. (work_queue_run) ditto.
2005-11-142005-11-14 Paul Jakma <paul.jakma@sun.com>paul
* zebra_rib.c: (rib_process) convert to new workqueue specs and shut up gcc, which complains about cast from void via function parameters, for some dumb reason. Do the cast inside the function instead. (rib_queue_qnode_del) ditto. (rib_queue_init) no need for the casts anymore.
2005-11-14[bug #231] check and include stdint.h, also add std=c99 to gcc CFLAGSpaul
2005-11-14 Paul Jakma <paul.jakma@sun.com> * configure.ac: Tell gcc we like C99. [bug #231] Check and test for stdint.h. * lib/zebra.h: [bug #231] include stdint, if its there.
2005-11-142005-11-14 Paul Jakma <paul.jakma@sun.com>paul
* (general) Add state to detect queue floods. There's no sense trying to be sparing of CPU resources, if the queue is flooding and using ever more memory resources. we should just get on with clearing the queue. The sense of delay and hold were wrong way around, fix. * workqueue.h: (struct work_queue) Add status bitfield. Add 'flood' integer to workqueue spec. Add runs_since_clear counter to workqueue. * workqueue.c: (work_queue_new) set defaults for delay, hold and flood. (work_queue_add) initial schedule should use delay, not hold. (show_work_queues) Print flood field, conserve whitespace. (work_queue_unplug) use delay, not hold. (work_queue_run) consecutive runs should be seperated by hold time, not delay. Keep track of number of consecutive runs, go into 'overdrive' if queue is being flooded, we can't avoid making heavy use of resources, better to use CPU than ever more RAM.
2005-11-14[ospfd] misc small fixes. Fix default stub router setting. no opaque compile.paul
2005-11-14 Paul Jakma <paul.jakma@sun.com> * ospfd.c: (ospf_new) stub-shutdown should just default to unconfigured, too strange otherwise. (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be preprocessor conditional on HAVE_OPAQUE_LSA. * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define. no longer used, plus it wasn't in range that the command accepted. * ospf_zebra.h: Depends on vty.h, include it.
2005-11-12[solaris] Extra debug and cross-checks for kernel_socket, two Sol9 fixes.paul
2005-11-12 Alexander Gall <gall@switch.ch> * See [quagga-dev 1815] * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN is not available. * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to AF_INET6 on ipv6 routes. 2005-11-12 Paul Jakma <paul.jakma@sun.com> * kernel_socket.c: Add RTA_NAME_GET macro to extract name from sockaddr_dl. Add some more RTF_ flags. * (ifan_read) Add some debug messages. * (ifm_read) Add more debug messages. More robust cross-checks of index against name. Fall back to by-name lookup if the index lookup fails, future proofing more than anything else. (ifam_read_mesg) Read RTA_IFP. Add debug messages. (ifam_read) More debug. If there's an RTA_IFP and it isn't the name of the interface, save it as the label. (rtm_read_mesg) Read RTA_IFP. (rtm_read) allow name to be retrieved. (rtmsg_debug) expand on the debug message.
2005-11-12[lib] 'show route-map' should print call action seperate from exit policypaul
2005-11-12 Paul Jakma <paul.jakma@sun.com> * routemap.c: (vty_show_route_map_entry) call action is seperate from exit action, latter should still be printed regardless of whether a call is specified.
2005-11-11[ospfd] SPF ospf_canonical_nexthops_free bugfix.paul
2005-11-11[doc] quagga.info updated /again/ due to version bump, d'oh.paul
2005-11-112005-11-11 Paul Jakma <paul.jakma@sun.com>paul
* NEWS: Update. * configure.ac: Bump to 0.99.2
2005-11-11- commit the actual file..paul
2005-11-11[trivia] update quagga.info, auto-built filepaul
2005-11-11 Paul Jakma <paul.jakma@sun.com> * quagga.info: update auto-built file. Methinks it's time to remove from CVS..
2005-11-11[zebra] Fix warning and small connected-label changes merge error.paul
2005-11-11 Paul Jakma <paul.jakma@sun.com> * 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.
2005-11-102005-11-10 Paul Jakma <paul.jakma@sun.com>paul
* HACKING: Add recommendation to provide a single Subject style description to the commit message. Add some recommendations for ChangeLog.
2005-11-07[doc] List snmptrap.texi as a source, so it gets included in distpaul
2005-11-07 Paul Jakma <paul.jakma@sun.com> * Makefile.am: snmptrap.texi needs to be listed as a source, not disted otherwise.
2005-11-05- Makefile.am: quagga.pam.stack should be in distspaul
- quagga.spec.in: introduce dist variable to allow for differences e.g in buildreqs, pam config files. etc.
2005-11-042005-11-04 Paul Jakma <paul.jakma@sun.com>paul
* 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.
2005-11-042005-11-04 Paul Jakma <paul.jakma@sun.com>paul
* 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
2005-11-042005-11-04 Paul Jakma <paul.jakma@sun.com>paul
* prototype.dev.in: lib/md5-gnu.h is now lib/md5.h
2005-11-042005-11-04 Paul Jakma <paul.jakma@sun.com>paul
* ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub function rather than unportable timersub.
2005-11-04- quagga.pam: pam_stack.so module is deprecated, use 'include' instead.paul
- quagga.pam.stack: the old pam_stack way, kept to allow spec file to backwards compatible (changes to spec file pending local testing)
2005-11-03- bah, fix likkle typo.paul
2005-11-032005-11-03 Paul Jakma <paul.jakma@sun.com>paul
* memtypes.h: Update auto-built file.
2005-11-032005-11-03 Paul Jakma <paul.jakma@sun.com>paul
* 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().
2005-11-032005-11-03 Paul Jakma <paul.jakma@sun.com>paul
* 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.
2005-11-032005-11-03 Paul Jakma <paul.jakma@sun.com>paul
* ospf_packet.c: Change level of some warnings to informational.
2005-11-032005-11-03 Paul Jakma <paul.jakma@sun.com>paul
* if.c: (connected_free) use MTYPE for connected label. memtypes.c: Add MTYPE_CONNECTED_LABEL
2005-11-032005-11-03 Paul Jakma <paul.jakma@sun.com>paul
* 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.
2005-11-032005-11-03 Paul Jakma <paul.jakma@sun.com>paul
* 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.
2005-10-302005-10-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* 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.
2005-10-292005-10-29 Paul Jakma <paul@dishone.st>paul
* 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.
2005-10-292005-10-29 Paul Jakma <paul.jakma@sun.com>paul
* (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.
2005-10-282005-10-28 Paul Jakma <paul.jakma@sun.com>paul
* Makefile.am: Add rip_interface.h, or else it doesn't get included in dists.
2005-10-262005-10-26 Paul Jakma <paul.jakma@sun.com>paul
* 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.
2005-10-262005-10-26 Paul Jakma <paul.jakma@sun.com>paul
* (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.
2005-10-252005-10-26 Paul Jakma <paul.jakma@sun.com>paul
* ripd.c: Update couple more functions to specify void explicitely.