Patch Name Files Date Submittor OS Summary Variable not being ospf_init.c 10-24-95 Phuong Thanh All In OSPF structure there is a variable intf_offset is reset Nguyen used to prevent the timers to be fired at the same time. This vaiable is increased when ospf_interface_init is called and never be reset as long as OSPF is stay up. Full Description Couple of fixes ospf_init.c 11-20-95 Acee Lindem All 2 fixes. parser.y 1. Ospf.intf_offset increases every time an interface goes up and down. 2. Typo in parser.y. Full Description Efficiency rt_mib.c 11-30-95 Curt Conrad All Allow gated to respond much more efficiently to a improvement for request for the size of the IP forwarding table. The ipForwardNumber in old code in o_rt_lookup() and o_ip_route_match() gated-R3_5_Beta counts the number of active routes as each SNMP request is received; the new code uses a pre-existing counter in the (predominate) case when only one gateway is installed in the kernel per destination. Full Description Kernel remnant fix krt.c 11-30-95 Curt Conrad All Fix to eliminate warning messages about remnants for for krt_rt_sock.c point-to-point interfaces. Full Description gated-R3_5Beta_1 Missing sockaddr sockaddr.c 11-30-95 Curt Conrad All Fix to strcmp in sockaddr.c Full Description fix in gated-R3_5Beta1 aspath.c and aspath.c 12-1-95 Dennis All I have included diffs below with the AS_PATH SEQUENCE generate routes Ferguson fix by Dennis (already in alpha 11), and fixes for "generate" routes in aspath_aggregate_changed(). without these fixes, generated defaults may not be exportable to certain protocols (BGP), and may result in gated cores. The assert() verifies that if an aggregate routes has no contributors, then the aggregate head does not have an AS path list. I know that an assert() in a "patch" may be risky. The final diff lines ensure that if the AS_PATH of the primary contributor to a generate route has changed, or if there are no longer any contributors, then the RTAHF_ASPCHANGED flag is set. This ensures that new generated routes are assigned AS_PATHs, and that former generated routes lose their AS_PATHs. See aspath_do_aggregation() for further details. Full Description rt_aggregrate.c and rt_aggregrate.c 12-1-95 Dennis All 3 fixes for generate and aggregrate routes. more Ferguson generate/aggregrate 1. The first fix ensures that generated routes with fixes no contributors are treated as if they have no gateways (for correct deletion). 2. The second fix ensures that the new AS_PATH is not considered when a contributor is removed from an aggregate. The third fix ensures that the old AS_PATH is not considered when a contributor is added to an aggregate. 3. The second and third fixes fix gated cores with overlapping aggregates -- aspath_aggregate_changed() updating refcounts for irrelevent AS_PATHs in AS_PATH list processing. See aspath.c. Full Description SNMP get-next bgp_mib.c 1-10-96 Acee Lindem All Fixes a problem with an SNMP get-next accessing the accessing bgpPeerTable. The cached entry is not necessarily the bgpPeerTable correct one for a get-next if the new BGP peers are added - hence, the cache must be cleared. I also removed a superfluous if clause. Full Description Remove icmp.c 1-12-96 Acee Lindem All The ICMP_NO_HEADER definition is broken and should be ICMP_NOIP_HEADER removed. Full Description definition. Fixes for minor ospf_tqhandle.c 1-12-96 Jeong S. Lee All OSPF bad checksum assert in dbage(). Full Description OSPF trace bugs A fix for potential rt_aggregrate.c 1-12-96 Jeong S. Lee All The rt_aggregate_rtparms structure is shared by the reconfig core for rt_aggregate_flash() and rt_aggregate_reinit() aggregrate/generate routines to add aggregate/generate routes. The structure is initialized in rt_aggregate_init(), which is only called from rt_family_init(), which is called only once at startup. If there are stale rt_routers in the structure (and rt_n_gw > 0), then a new aggregate/generate route at reconfig time can cause a gated core. The fix is to clear the structure on each call to rt_aggregate_reinit() (i.e. at startup and each reconfig). One might consider removing the structure initialization out of rt_aggregate_init(), but I didn't. Full Description A fix for aspath aspath.c 1-12-96 Jeong S. Lee All The following fix corrects the one case in which the refcounts and function aspath_do_aggregation() does not increment aggregrate generate the refcount of the aspath that it returns. Note that routes the only routine that calls this function, rt_aggregate_flash(), will always decrement the refcount of any aspath returned from aspath_do_aggregation(). Once the aspath refcount is wrong, an eventual flush of routes will cause a certain core dump. Full Description Fixes for OSPF ospf_spf_leaves 1-12-96 Jeong S. Lee All Ensure that the lsdb_border pointer is cleared for loops with .c SUM_NETs, SUM_ASBs, and ASEs when the ABR/ASBR is not SUM_NETs, SUM_ASBs, "active". Otherwise, inactive ABR/ASBRs can be freed and ASEs and re-allocated to other ABR/ASBRs, which can easily cause routing loops. In addition, since the lsdb_route and lsdb_ab_rtr pointers are unioned, an lsdb with a route may be confused for an active ABR and cause a core. Full Description Some bug fixes in ospf_monitor.c 2-29-96 Noriko All Three gated bugs. gated-R-3.5Beta ospf_build_ls.c Katayama 1. When the specified filename over than 5 characters ospf_rxpkt.c in ospf_monitor 'f' sub-command, this command does not work. Because it failed in setting the specified finename into work space due to buffer size shortage. 2. In RFC1583 "12.4.3. Summary links" Page-120/121, there is the following statements: Else, if the destination of this route is an AS boundary router, generate a Type 4 link state advertisement for the destination, with Link State ID equal to the AS boundary router's Router ID and metric equal to the routing table entry's cost. These advertisements should not be generated if Area A has been configured as a stub area. 3. In RFC1583 "10.7. Receiving Link State Request Packets" Page-89, there is the following statements: This section explains the detailed processing of received Link State Request packets. Received Link State Request Packets specify a list of link state advertisements that the neighbor wishes to receive. Link State Request Packets should be accepted when the neighbor is in states Exchange, Loading, or Full. In all other states Link State Request Packets should be ignored. Without this fix, gated outputs the following error message and counts error log. Full Description Assertion failing bgp_init.c 3-18-96 Acee Lindem All A timing problem where the remote peer is setting up in bgp_init.c the connection in between the time interface for the peer comes up and GateD reading the interfaces. This causes the above assertion failure for type internal BGP groups. Full Description Fix to aspath.c aspath.c 4-24-96 John G. All Gated gags on optional, non-transitive path Scudder attributes which don't have (attribute data) length zero. In my case the symptom was that it would send a malformed PDU error and tear the session down but other things could possibly happen depending on the amount of attribute data. The (small) fix is below -- we just need to skip over the data we want to ignore. Full Description Gated fixes if.c 4-25-96 Scott Mace All if.c: netmask change sometimes causes gated core ospf_monitor.c ospf_build_ls.c: permit local address of point-to-point as OSPF stubhost ospf_monitor.c: prevent ospf_monitor cores on unusual input ospf_rt.c: use maximum cost for OSPF network range (per Dennis Ferguson); fix logic error when checking for OSPF direct routes ospf_rxpkt.c: check for init and master bits in dbsums when loading or full ospf_spf.c: fix case when gated's point-to-point neighbor uses an unnumbered point-to-point link. Full Description Patch to support bgp.h 7-22-96 Rob All In the distributed version of gated R3_5Beta3, routes routes from route bgp_init.c Liebschutz received from the route servers are discarded if the servers bgp_rt.c first ashop does not match that of the peeras. This patch adds an option which can be specified on either the group statement or peer clause to cause a mismatch in the first ashop to be ignored. Note, I also moved the test for the "KEEP NONE" bit one level outside of the test for the firstashop != peeras. I don't see how the KEEP NONE option ever could have worked correctly before since it was only applied of the firstashop != peeras test suceeded. Full Description Routes received config file 7-22-96 Rob All In the distributed version of gated R3_5Beta3, routes from bgp.h Liebschutz received from the route servers bgp_init.c the route servers are discarded if the first ashop are discarded if bgp_rt.c does not match the first ashop parse.c that of the peeras. This patch adds an option which does not match parse.y can be that of the peeras. specified on either the group statement or peer clause to cause a mismatch in the first ashop to be ignored. Note, I also moved the test for the "KEEP NONE" bit one level outside of the test for the firstashop != peeras. I don't see how the KEEP NONE option ever could have worked correctly before since it was only applied of the firstashop != peeras test suceeded. First Ashop routes bgp.h 7-22-96 Rob All Routes received from the route servers are discarded are discarded bgp_init.c Liebschutz if the first ashop does not match that of the peeras. bgp_rt.c This patch adds an option to cause the first ashop to parse.c be ignored. Handling ICMP rt_redirect.c 9-9-96 BENNETT@PROCE All The bug is that when redirects are turned off in the redirects SS.COM gated.conf file, it still deletes routes from redirects. The code in question is in rt_redirect.c (lines 210-216 in release R3.6 Alpha 2) as follows: When redirects are turned off, the redirect_ignore flag is set to 1. This causes the code to jump to the "Delete" label, which will attempt to delete the route specified in the redirect. I believe the code should be changed so that line 215 is "goto Return;" instead of "goto Delete;". This would cause the redirect handling to exit the routine, doing nothing, instead of deleting the route. bugs in IGMP igmp.c 9-14-96 Andrew All The patch below fixes a number of bugs in IGMP: Romanenko 1. IP packet length was put in the header in host byte order [FIXED] 2. Ttl was set to IP_MAX_TTL in all of packets sent by igmp_send [FIXED] 3. Checksum of an IGMP packet was counted by an incorrect way [FIXED] Also, I added two little things in igmp.c that allow IGMP works properly on Linux boxes. But... The current implementation of IGMP is compliant to IGMPv1. I guess it is better to make it compliant to IGMPv2. At least, the election of a subnet querier should be done by IGMP and not by DVMRP or PIM as it has been now. Perhaps the DVMRP_SEND_NEIGHBORS function should be moved from dvmrp.c to igmp.c. I have implemented DVMRP_SEND_NEIGHBORS2 (now it is in dvmrp.c) and would like to hear any suggestion about moving it to igmp.c. Another igmp bug igmp.c 9-18-96 Andrew All encountered another bug in igmp.c. When an IGMP Romanenko packet should be delivered via a dvmrp tunnel the source address and the destination address of the packet were the same. This patch fixes the problem. The new patch is to replace the old one (posted with the subject "[GATED #197] IGMP bugs/fixes" and should look as the following: Allow multiple rt_static.c 9-20-96 Acee Lindem All Allows multiple static routes with the same static routes. destination/mask but different preference. Here's code cut to parse.c 10-1-96 Susan Hares All parse.c:#ifdef T_ANALRETENTIVE replace parse.c: KWE(T_ANALRETENTIVE, "anal-retentive" ), anal-retentive parse.c: KWE(T_ANALRETENTIVE, "analretentive" ), parse.c: KWE(T_ANALRETENTIVE, "show-warnings" ), parse.c: KWE(T_ANALRETENTIVE, "showwarnings" ), parse.c:#endif /* T_ANALRETENTIVE */ Core dumps when if.c 10-17-96 Jeff Honig All When an interface is up and it goes away the interfaces going up protocols are now being notified and down. Avoid compiler gdc.c 10-17-96 Jeff Honig All Use %lu not %u to avoid warning messages warnings Allow specification configs/README 10-17-96 Jeff Honig All Update configuration files to include chown. of UID to own gdc. Makefile.templa te util/config.awk inst-man.sh BGP router bgp_init.c 10-17-96 Jeff Honig All Remove the restriction that the router specified by restriction the 'gateway' BGP peer parameter must be on the same network as the local address. Passing a pointer str.c 10-17-96 Jeff Honig All Gated's print routines pass a around a pointer to a around. str.h va_list. This patch changes the routines to pass a va_list.