summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2004-11-052004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* vty.h: Remove fields in struct vty that were related to VTY_CONTINUE capabilities (that were used only in bgpd/bgp_route.c and are now removed). Also remove some other fields that were not being used at all. * vty.c: (vty_execute) Do not test for obsolete status values VTY_START and VTY_CONTINUE. (vty_read) Remove calls to vty->output_func since that was part of the VTY_CONTINUE infrastructure that has been removed. (vty_flush) Remove code to support VTY_START and VTY_CONTINUE. (vty_close) Remove code to cancel vty->t_output thread, since that thread was never actually used. * bgp_route.c: Remove all code related to VTY_CONTINUE; this feature is deprecated because the output did not represent a single point in time. All output needs to be generated inline and buffered by the library code. (route_vty_out,route_vty_out_tag,damp_route_vty_out, flap_route_vty_out) Remove code to count number of lines of output, since this was only useful for VTY_CONTINUE behavior. (bgp_show_callback) Removed. (bgp_show_table) Remove hooks for VTY_CONTINUE callback support. As a result, there's a new output_arg argument to this function. Make function static. (bgp_show) Make function static and add a new output_arg argument. Change all functions that call bgp_show or bgp_show_table to pass the new output_arg argument (that used to be passed inside vty->output_arg). * bgp_mplsvpn.c: Remove declarations of functions defined in bgp_route.c; these declarations belong in bgp_route.h. * bgp_route.h: Declare 3 global functions used in both bgp_route.c and in bgp_mplsvpn.c.
2004-11-042004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* vty.c: Vtysh connections to daemons should use buffering. (vty_out) Remove exception for vty_shell_serv, just use buffer_write. (vty_new) Increase output buffer size to 4096 rounded up to a multiple of pagesize. (vtysh_read) After command has been executed and all output buffered, call buffer_flush_available and schedule further writes if the buffers are not yet empty. (vtysh_write) New function to flush output to vtysh when the socket is writeable. (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh clients. Also, should save read thread in vty->t_read so the thread can be cancelled in vty_close. * buffer.h: In struct buffer_data, remove unused "parent" field. Convert "unsigned char *data" to "unsigned char data[0]" to save a malloc. Declare new function buffer_flush_available that works with non-blocking sockets. * buffer.c: (buffer_data_new) Use a single malloc now that data is a variable-size array at end of structure. (buffer_data_free) Just a single free now that data is part of the structure. (buffer_write) Simplify the logic to make behavior more transparent. (buffer_flush) Decrease b->length as data is written out. (buffer_flush_vty_all) Decrease b->length as buffers are freed. (buffer_flush_vty) Decrease b->length as data is written out. (buffer_flush_available) New function to flush non-blocking sockets.
2004-11-02- Add .arch-ids and .arch-inventory to cvsignore, to allow one to use archpaul
with CVS trees.
2004-11-012004-11-01 Paul Jakma <paul@dishone.st>paul
* sockopt.c: (setsockopt_pktinfo) remove, its unused.
2004-10-312004-10-31 Paul Jakma <paul@dishone.st>paul
* thread.c: Use XCALLOC and sizeof the type, not the pointer.
2004-10-312004-10-31 Paul Jakma <paul@dishone.st>paul
* smux.c: fix int to size_t compile warnings
2004-10-312004-10-31 Paul Jakma <paul@dishone.st>paul
* memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS * thread.c: Update stats and funcname alloc/free to use previous specific memory type defines
2004-10-312004-10-31 Paul Jakma <paul@dishone.st>paul
* keychain.c: Convert some more strtoul users to VTY_GET_INTEGER.
2004-10-312004-10-31 Paul Jakma <paul@dishone.st>paul
* vty.c: As per Andrew's suggestions.. (vty_serv_un) remove flags. (vtysh_accept) close socket if we cant set NONBLOCK. Add flags.
2004-10-292004-10-29 Paul Jakma <paul@dishone.st>paul
* vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un to vtysh_accept, where sock is the actual fd we wanted to set to O_NONBLOCK, ie the /connected/ vtysh unix socket.
2004-10-23Yet another breakage introduced in May with zserv cleanup.hasso
2004-10-222004-10-23 Paul Jakma <paul@dishone.st>paul
* zebra.h: reserve ZEBRA_ROUTE_HSLS
2004-10-22- credit rix for fixing openbsdpaul
2004-10-222004-10-22 Paul Jakma <paul@dishone.st>paul
* sockopt.h: Fix elif that should be an else.
2004-10-222004-10-22 Paul Jakma <paul@dishone.st>paul
* command.h: Cleanup the defines a bit, add helper defines and collapse all defines to use those. Add an attribute field to cmd_element to support, eg hidden or deprecated commands, add defun defines for such. All that's left to do is add logic to command.c to check these attributes... ;)
2004-10-222004-10-22 Paul Jakma <paul@dishone.st>paul
* sockopt.c: (setsockopt_pktinfo) unexported * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have neither IP_RECVIF nor IP_PKTINFO (eg openbsd).
2004-10-222004-10-13 Paul Jakma <paul@dishone.st>paul
* sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not -1.
2004-10-19Small copyright string and hostname related cleanup.hasso
2004-10-19OK. Here it is - PtP patch from Andrew J. Schorr. No problems with ospfd,hasso
ripd might need some more testing though.
2004-10-13Make initializing smux connection configurable - "smux peer OID" commandhasso
initializes connection, and "no smux peer" command terminates it. Fixes bugzilla #47 and #112.
2004-10-13Fix critical bugzilla #113. Make CMD_ERR_NOTHING_TODO nonfatal.hasso
2004-10-132004-10-13 Paul Jakma <paul@dishone.st>paul
* (global) more const'ification. * sockunion.c: (sockunion_su2str) buffer should be sized SU_ADDRSTRLEN. (sockunion_log) do not return stack variables, strdup buf before return. * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied values against ULONG_MAX is daft, when caller probably has passed a type that can not hold ULONG_MAX. use a temporary long instead. Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE.
2004-10-11Some more const string fixes.hasso
2004-10-112004-10-11 Paul Jakma <paul@dishone.st>paul
* if.h: mtu's should be unsigned. * routemap.{c,h}: const char updates * smux.{c,h}: ditto
2004-10-112004-10-11 Paul Jakma <paul@dishone.st>paul
* thread.c: (funcname_thread_add_timer) (funcname_thread_add_timer_msec) Fix mistakes from last change. Pointed out by Liu Xin in [quagga-dev 1609].
2004-10-102004-10-10 Paul Jakma <paul@dishone.st>paul
* version.h.in: (pid_output*) add const qualifier. * command.h: Change DEFUN func to take const char *[] rather than char **, to begin process of fixing compile warnings in lib/. Nearly all other changes in this commit follow from this change. * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take const void * and cast an automatic const char *p to it. (buffer_putstr) add const * command.c: (zencrypt) const qualifier (cmd_execute_command_real) ditto (cmd_execute_command_strict) ditto (config_log_file) ditto. Fix leak of getcwd() returned string. * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname. * distribute.{c,h}: Update with const qualifier. (distribute_free) use MTYPE_DISTRIBUTE_IFNAME (distribute_lookup) Cast to char *, note that it's ok. (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME. (distribute_get) Cast to char *, note that it's ok. * filter.c: Update with const qualifier. * if.{c,h}: ditto. * if_rmap.{c,h}: ditto. (if_rmap_lookup) Cast to char *, note that it's ok. (if_rmap_get) ditto. * log.{c,h}: Update with const qualifier. * plist.{c,h}: ditto. * routemap.{c,h}: ditto. * smux.{c,h}: ditto. Fix some signed/unsigned comparisons. * sockopt.c: (getsockopt_cmsg_data) add return for error case. * vty.c: Update with const qualifier.
2004-10-102004-10-05 Paul Jakma <paul@dishone.st>paul
* version.h.in: (pid_output*) add const qualifier.
2004-10-08More const strings.hasso
2004-10-082004-10-05 Paul Jakma <paul@dishone.st>paul
* version.h.in: print_version declaration is here, not in autoconf generated version.h.
2004-10-07Even more const strings and fix to bugfix.hasso
2004-10-07Make more strings const.hasso
2004-10-05Number of warnings is down to 3 again in lib directory. A lot of const'shasso
added to strings and a lot of int -> unsigned int changes.
2004-10-052004-10-05 Paul Jakma <paul@dishone.st>paul
* thread.c: (funcname_thread_add_timer_timeval) new function, add timer at specified timeval. (funcname_thread_add_timer) use funcname_thread_add_timer_timeval. (funcname_thread_add_timer_msec) ditto
2004-10-052004-10-05 Paul Jakma <paul@dishone.st>paul
* sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh}, functions to change byte order between system IP_HDRINCL order and host order.
2004-10-05Remove dead files.hasso
2004-10-04First small part of lib cleanup. Mainly "constification" of arguments andhasso
adding FIXME's.
2004-10-04Every file includes it and warns about it.hasso
2004-10-03Big vtysh cleanup. See changelogs for details.hasso
2004-10-03Common router id.hasso
2004-09-272004-09-27 Paul Jakma <paul@dishone.st>paul
* zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd to try to fragment oversized packets. Enabled only for Linux. Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order, to consolidate various ad-hoc platform defines for same thing.
2004-09-26Compiler warnings fixes.hasso
2004-09-23Remove usage of evil list and listnode typedefs.hasso
2004-09-212004-09-17 Paul Jakma <paul@dishone.st>paul
* sockopt.c: Add missing bracket
2004-09-172004-09-17 Paul Jakma <paul@dishone.st>paul
* ripngd/ripngd.c: move setsockopt_so_recvbuf to lib. * lib/sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd. * ripd/ripd.c: set receive buffer to a decent size, some systems have low defaults. Problem noted and fix suggested by Stephan Schweizer in [zebra 20967].
2004-09-132004-09-13 Paul Jakma <paul@dishone.st>paul
* configure.ac: capitalise the package name. autoconf lowercases it for PACKAGE_TARNAME. * lib/command.c: Update the copyright string in the default motd.
2004-09-132004-09-13 Jose Luis Rubio <jrubio@dit.upm.es>paul
(at Technical University of Madrid as part of Euro6ix Project) Enhanced Route Server functionality and Route-Maps: * bgpd/bgpd.h: Modified 'struct peer' and 'struct bgp_filter' to support rs-clients. A 'struct bgp_table *rib' has been added to the first (to mantain a separated RIB for each rs-client) and two new route-maps have been added to the last (for import/export policies). Added the following #defines: RMAP_{IN|OUT|IMPORT|EXPORT|MAX}, PEER_RMAP_TYPE_{IMPORT|EXPORT} and BGP_CLEAR_SOFT_RSCLIENT. * bgpd/bgpd.c: Modified the functions that create/delete/etc peers in order to consider the new fields included in 'struct peer' for supporting rs-clients, i.e. the import/export route-maps and the 'struct bgp_table'. * bgpd/bgp_route.{ch}: Modified several functions related with receiving/sending announces in order to support the new Route Server capabilities. Function 'bgp_process' has been reorganized, creating an auxiliar function for best path selection ('bgp_best_selection'). Modified 'bgp_show' and 'bgp_show_route' for displaying information about any RIB (and not only the main bgp RIB). Added commands for displaying information about RS-clients RIBs: 'show bgp rsclient (A.B.C.D|X:X::X:X)', 'show bgp rsclient (A.B.C.D|X:X::X:X) X:X::X:X/M', etc * bgpd/bgp_table.{ch}: The structure 'struct bgp_table' now has two new fields: type (which can take the values BGP_TABLE_{MAIN|RSCLIENT}) and 'void *owner' which points to 'struct bgp' or 'struct peer' which owns the table. When creating a new bgp_table by default 'type=BGP_TABLE_MAIN' is set. * bgpd/bgp_vty.c: The commands 'neighbor ... route-server-client' and 'no neighbor ... route-server-client' now not only set/unset the flag PEER_FLAG_RSERVER_CLIENT, but they create/destroy the 'struct bgp_table' of the peer. Special actions are taken for peer_groups. Command 'neighbor ... route-map WORD (in|out)' now also supports two new kinds of route-map: 'import' and 'export'. Added commands 'clear bgp * rsclient', etc. These commands allow a new kind of soft_reconfig which affects only the RIB of the specified RS-client. Added commands 'show bgp rsclient summary', etc which display a summary of the rs-clients configured for the corresponding address family. * bgpd/bgp_routemap.c: A new match statement is available, 'match peer (A.B.C.D|X:X::X:X)'. This statement can only be used in import/export route-maps, and it matches when the peer who announces (when used in an import route-map) or is going to receive (when used in an export route-map) the route is the same than the one specified in the statement. For peer-groups the statement matches if the specified peer is member of the peer-group. A special version of the command, 'match peer local', matches with routes originated by the Route Server (defined with 'network ...', redistributed routes and default-originate). * lib/routemap.{ch}: Added a new clause 'call NAME' for use in route-maps. It jumps into the specified route-map and when it returns the first route-map ends if the called RM returns DENY_MATCH, or continues in other case.
2004-08-31Assorted changes from work at BBN. Most are minor, and several are ingdt
support of more significant changes not in this commit. The last item in the ChangeLog below may be needed for p2mp to work correctly. 2004-08-31 David Wiggins <dwiggins@bbn.com> * hash.c (hash_iterate): Save next pointer before calling procedure, so that iteration works even if the called procedure deletes the hash backet. * linklist.h (listtail): new macro, not yet used. 2004-08-31 David Wiggins <dwiggins@bbn.com> * ospf_spf.c (ospf_spf_calculate): Many more comments and debug print statements. New function ospf_vertex_dump used in debugging. 2004-08-31 David Wiggins <dwiggins@bbn.com> * ospf_spf.h (struct vertex): Comments for flags and structure members. 2004-08-31 David Wiggins <dwiggins@bbn.com> * ospf_route.c: When finding an alternate route, log cost as well. 2004-08-31 David Wiggins <dwiggins@bbn.com> * ospf_interface.c (ospf_lookup_if_params): Initialize af in struct prefix allocated on stack. 2004-08-31 David Wiggins <dwiggins@bbn.com> * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send acks to AllSPFRouters, rather than All-DR.
2004-08-27Make "terminal length <0-512>" command work in vtysh.hasso
2004-08-26add () on SOPT_SIZE_CMSG_PKTINFO_IPV4() use, to match def.gdt
Thanks to Hasso for code review.
2004-08-262004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>gdt
* sockopt.h: Define method-independent macro for callers of get_ifindex to use for cmsg length.