mirror_frr/lib
ajs 634f9ea20f 2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
Implement non-blocking zclient I/O with buffering.
	* zclient.h (struct zclient): Add two fields to support non-blocking
	  I/O: struct buffer *wb, and struct thread *t_write.
	  (zclient_free): Remove function.
	  (zebra_redistribute_send): Change 2nd arg from socket fd to
	  struct zclient * (needed to support non-blocking I/O and buffering).
	  (zclient_send_message): New function to send an arbitrary
	  message with non-blocking I/O.
	* zclient.c (zclient_new): Create write buffer.
	  (zclient_free): Remove unused function.
	  (zclient_stop): Must cancel new t_write thread.  Also, reset
	  all buffers: ibuf, obuf, and wb.
	  (zclient_failed): New helper function for typical error handling.
	  (zclient_flush_data): New thread to flush queued data.
	  (zclient_send_message): New function to send the message in
	  zclient->obuf to zebra using non-blocking I/O and buffering.
	  (zebra_message_send, zapi_ipv4_route, zapi_ipv6_route): Use
	  new zclient_send_message function instead of calling writen.
	  (zclient_start): Set socket non-blocking.  Also, change 2nd arg
	  to zebra_redistribute_send from zclient->sock to zclient.
	  (zebra_redistribute_send): Change 2nd arg to struct zclient *.
	  Can now use zclient->obuf to assemble the message instead of
	  allocating a temporary stream.  And call zclient_send_message to
	  send the message instead of writen.
	  (zclient_read): Convert to support non-blocking I/O by using
	  stream_read_try instead of deprecated stream_read.
	  (zclient_redistribute): Change 2nd arg to zebra_redistribute_send
	  from zclient->sock to zclient.
	* ospf6_zebra.c (ospf6_zebra_redistribute, ospf6_zebra_no_redistribute):
	  Change 2nd arg to zebra_redistribute_send from zclient->sock
	  to zclient.
	* ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
	  of writen.
	* rip_zebra.c (rip_redistribute_set, rip_redistribute_unset,
	  rip_redistribute_clean): Change 2nd arg to zebra_redistribute_send
	  from zclient->sock to zclient.
	* ripng_zebra.c (ripng_redistribute_unset, ripng_redistribute_clean):
	  Change 2nd arg to zebra_redistribute_send from zclient->sock
	  to zclient.
	* bgp_zebra.c (bgp_redistribute_set, bgp_redistribute_unset):
	  The 2nd arg to zebra_redistribute_send is now zclient instead of
	  zclient->sock.
	* isis_zebra.h (isis_zebra_finish): Remove declaration of unused
	  function.
	* isis_zebra.c (isis_zebra_route_add_ipv4): Call zclient_send_message
	  to send the message to zebra instead of calling writen directly, since
	  zclient_send_message understands non-blocking I/O and will manage
	  the buffer queue appropriately.
	  (isis_zebra_finish): Remove unused function, particularly since
	  the zclient_free function has been removed.
2005-04-11 15:51:40 +00:00
..
.cvsignore - Add .arch-ids and .arch-inventory to cvsignore, to allow one to use arch 2004-11-02 18:59:49 +00:00
buffer.c 2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-02-23 15:12:34 +00:00
buffer.h 2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-02-23 15:12:34 +00:00
ChangeLog 2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-04-11 15:51:40 +00:00
checksum.c Initial revision 2002-12-13 20:15:29 +00:00
command.c 2005-03-14 Paul Jakma <paul.jakma@sun.com> 2005-03-14 20:19:01 +00:00
command.h 2005-03-08 Paul Jakma <paul.jakma@sun.com> 2005-03-08 15:56:42 +00:00
daemon.c 2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-01-30 18:49:28 +00:00
distribute.c 2004-10-10 Paul Jakma <paul@dishone.st> 2004-10-10 11:56:56 +00:00
distribute.h 2004-10-10 Paul Jakma <paul@dishone.st> 2004-10-10 11:56:56 +00:00
filter.c 2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-01-29 18:19:13 +00:00
filter.h Number of warnings is down to 3 again in lib directory. A lot of const's 2004-10-05 21:01:23 +00:00
getopt1.c Initial revision 2002-12-13 20:15:29 +00:00
getopt.c Initial revision 2002-12-13 20:15:29 +00:00
getopt.h Initial revision 2002-12-13 20:15:29 +00:00
hash.c Number of warnings is down to 3 again in lib directory. A lot of const's 2004-10-05 21:01:23 +00:00
hash.h Initial revision 2002-12-13 20:15:29 +00:00
if_rmap.c 2004-10-10 Paul Jakma <paul@dishone.st> 2004-10-10 11:56:56 +00:00
if_rmap.h 2004-10-10 Paul Jakma <paul@dishone.st> 2004-10-10 11:56:56 +00:00
if.c 2005-04-07 Paul Jakma <paul.jakma@sun.com> 2005-04-07 07:30:20 +00:00
if.h 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-04-03 03:40:52 +00:00
jhash.c 2004-07-09 Paul Jakma <paul@dishone.st> 2004-07-09 14:05:47 +00:00
jhash.h 2004-07-09 Paul Jakma <paul@dishone.st> 2004-07-09 14:05:47 +00:00
keychain.c 2005-04-07 Paul Jakma <paul.jakma@sun.com> 2005-04-07 07:30:20 +00:00
keychain.h Number of warnings is down to 3 again in lib directory. A lot of const's 2004-10-05 21:01:23 +00:00
linklist.c 2005-04-07 Paul Jakma <paul.jakma@sun.com> 2005-04-07 07:30:20 +00:00
linklist.h 2005-04-07 Paul Jakma <paul.jakma@sun.com> 2005-04-07 07:30:20 +00:00
log.c 2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-02-03 19:22:05 +00:00
log.h 2005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-01-18 22:18:59 +00:00
Makefile.am * configure.ac, */Makefile.am: Fix previous commit. SNMP includes 2005-03-28 15:29:07 +00:00
md5-gnu.h Initial revision 2002-12-13 20:15:29 +00:00
md5.c Initial revision 2002-12-13 20:15:29 +00:00
memory.c 2004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2004-12-08 17:14:45 +00:00
memory.h 2004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2004-11-16 14:25:30 +00:00
network.c 2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-02-16 16:25:39 +00:00
network.h 2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-02-17 20:02:49 +00:00
pid_output.c 2004-12-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2004-12-17 20:50:00 +00:00
plist.c 2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-01-29 18:19:13 +00:00
plist.h 2004-10-10 Paul Jakma <paul@dishone.st> 2004-10-10 11:56:56 +00:00
pqueue.c * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It 2005-02-21 18:17:52 +00:00
pqueue.h * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It 2005-02-21 18:17:52 +00:00
prefix.c * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more 2005-04-08 01:30:51 +00:00
prefix.h * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more 2005-04-08 01:30:51 +00:00
privs.c 2004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2004-11-20 02:06:59 +00:00
privs.h Number of warnings is down to 3 again in lib directory. A lot of const's 2004-10-05 21:01:23 +00:00
regex-gnu.h Initial revision 2002-12-13 20:15:29 +00:00
regex.c 2004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2004-11-24 17:14:49 +00:00
routemap.c * routemap.c: Show description in "show route-map" output. 2005-04-09 13:27:50 +00:00
routemap.h * routemap.[ch]: Added "description ..." command. 2005-04-08 14:20:18 +00:00
sigevent.c 2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-04-08 19:02:04 +00:00
sigevent.h 2004-07-14 Paul Jakma <paul@dishone.st> 2004-07-22 19:14:27 +00:00
smux.c 2005-04-07 Paul Jakma <paul.jakma@sun.com> 2005-04-07 07:30:20 +00:00
smux.h Make initializing smux connection configurable - "smux peer OID" command 2004-10-13 10:33:26 +00:00
sockopt.c 2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-01-04 16:24:43 +00:00
sockopt.h Rationalize CMSG_SPACE usage: 2004-11-15 18:51:15 +00:00
sockunion.c 2004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2004-11-20 02:06:59 +00:00
sockunion.h 2004-10-13 Paul Jakma <paul@dishone.st> 2004-10-13 05:22:18 +00:00
str.c 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-04-02 18:48:39 +00:00
str.h 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-04-02 16:01:05 +00:00
stream.c 2005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-02-24 16:02:53 +00:00
stream.h 2005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-02-24 16:02:53 +00:00
table.c lib/table.c: Fix the SET_LINK macro. (not that its of any worth) 2003-05-29 17:18:47 +00:00
table.h Initial revision 2002-12-13 20:15:29 +00:00
thread.c 2004-12-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2004-12-28 17:00:12 +00:00
thread.h Number of warnings is down to 3 again in lib directory. A lot of const's 2004-10-05 21:01:23 +00:00
vector.c 2005-03-14 Paul Jakma <paul.jakma@sun.com> 2005-03-14 20:19:01 +00:00
vector.h 2005-03-14 Paul Jakma <paul.jakma@sun.com> 2005-03-14 20:19:01 +00:00
version.h.in Trying to finish previous commit ... 2005-03-26 14:13:40 +00:00
vty.c 2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-04-08 18:50:40 +00:00
vty.h 2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-02-23 15:48:32 +00:00
zassert.h Need RCS Id keyword. 2004-12-03 18:01:04 +00:00
zclient.c 2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-04-11 15:51:40 +00:00
zclient.h 2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-04-11 15:51:40 +00:00
zebra.h 2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> 2005-04-08 16:42:03 +00:00