| Age | Commit message (Collapse) | Author | 
|---|
|  | Similar fix to the one commited to lsp_build_nonpseudo() some days
	  ago. | 
|  |  | 
|  | 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. | 
|  | 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. | 
|  | Forwardport from stable branch. | 
|  | 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. | 
|  | introduced long time ago with route server patch. Hopefully
	  it's last case to fix - route-server client not in peer group.
	[backport candidate] | 
|  | * 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. | 
|  | against libreadline and friends. | 
|  | * vtysh.c: Add support for BGP_IPV6M_NODE | 
|  | * bgp_vty.c: (general) Add support for BGP IPv6 Multicast SAFI
	  commands and BGP_IPV6M_NODE. | 
|  | * 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 | 
|  | * 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. | 
|  | Interface should be specified by name now.
	[backport candidate] | 
|  | print info about it.
	Fixes bugzilla #213. [backport candidate] | 
|  |  | 
|  | * 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. | 
|  | * 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. | 
|  | * 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 :). | 
|  | * 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] | 
|  | patches and lose because of old autoconf/automake versions have the
opportunity to find tout what to do. | 
|  | values.h, where MAXLONG is defined, is deprecated as well.
	Thanks to Greg for noticing and to Rivo for fix. | 
|  | 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 | 
|  | * 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. | 
|  | dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
	  for default-information.
	Fixes bugzilla #208.
	[backport candidate] | 
|  | 2005-05-27. While ecommunity fix seems to be correct, community case
	  isn't.
	Fixes bugzilla #209.
	[backport candidate] | 
|  | * 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. | 
|  | * 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] | 
|  | * prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is
	  in range before dereferencing it.
	[backport candidate] | 
|  | * 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. | 
|  | * 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. | 
|  | ARM in general. | 
|  | * vtysh_user.c: rename struct user to struct vtysh_user to avoid
	  clashes with sys/user.h on ARM. | 
|  | [backport candidate] | 
|  | * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check
	  should be on DEST argument | 
|  | * (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 | 
|  | * (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. | 
|  | * 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. | 
|  | support and area import and export lists support. | 
|  | 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] | 
|  | 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] | 
|  | * getopt.h: add further tests for full getopt declaration on
	  various systems. | 
|  |  | 
|  | [backport candidate] | 
|  | * memtypes.h: update autobuilt file to match memtypes.c changes | 
|  | * 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. | 
|  | * README.txt: updated to match changed SMF manifest and
	  its changed service, instance and property group names. | 
|  | * 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. | 
|  | * 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 | 
|  | * 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. |