OpenSourceRouting
  1. OpenSourceRouting

quagga-snap

Public
AuthorCommitMessageCommit dateIssues
Tom HendersonPaul JakmaTom Henderson
aabbb1ae358ospf6d: bug #529, fix endianness problem in earlier commit * ospf6_lsa.c: (ospf6_lsa_age_current) arithmetical compares make no sense in non-host order..
Stephen HemmingerPaul JakmaStephen Hemminger
d1c21cabdbebgpd: fix md5 set on listen sockets* bgp_network.c: (bgp_md5_set) Missing piece from earlier listener change did not get ported from Vyatta code into upstream. The list listener_sockets changed from (int *) to (struct bgp_listener *).
Paul JakmaPaul Jakma
c4cf095e95alib/trivial: str2prefix checks return of inet_pton in fragile way* prefix.c: (str2prefix_ipv6) inet_pton succesful return is presumed to be 1, rather than the "not zero" the man page describes - seemed fragile.
Paul JakmaPaul Jakma
fab7f89dcfezebra: Add an example config file for testzebra* testrib.conf: Example config file for testzebra
Paul JakmaPaul Jakma
302d53f7910zebra: test_main.c should be a bit more helpful about its usage* test_main.c: If required arguments are missing, say that.
Paul JakmaPaul Jakma
3e4ee9591aalib: if_lookup_by_name should be more robust to null argument* if.c: (if_lookup_by_name) shouldn't crash just cause we got a NULL name
Joakim TjernlundPaul JakmaJoakim Tjernlund
27f5dc8120eospfd: Make sure priority is respected.* ospf_ism.c (ospf_dr_eligible_routers) should test for priority > 0 instead of != 0 as ospf_nbr_new () initially sets prio to -1
Joakim TjernlundPaul JakmaJoakim Tjernlund
5d8de93a84bospfd: Tighten up the connected check for redistribution* ospf_zebra.c: (ospf_distribute_check_connected) check to make filter out routes matching connected routes was matching against OSPF networks, which can be far more general than the actual connected interfaces. Fix.
Stephen HemmingerPaul JakmaStephen Hemminger
065de90380call: check return value from daemon() call* */*main.c: (main) Current versions of Gcc warn if the return value for daemon() is not checked. So add a simple test and exit on failure.
Stephen HemmingerPaul JakmaStephen Hemminger
5bd5881838cbgp: missing pieces from listener patch* bgp_network.c: (bgp_accept) The code in current git will crash as part of the revised listener code is missing. The new listener thread code passes a pointer to a bgp_listener structure, not the bgp pointer. The old code always got a NULL for bgp pointer, so that is now hard coded.
Stephen HemmingerPaul JakmaStephen Hemminger
62bed38d2f2bgp: compiler warning fix* bgp_filter.h: Gcc complains the function prototype is not correct because the function argument is using old K&R style.
Stephen HemmingerPaul JakmaStephen Hemminger
3106a03215fospfd: fix performance problem with redistribute deleteDoing redistribute delete with full BGP table was taking 30 minutes, this drops it down to less than a second. * ospf_lsa.c: (ospf_lsa_maxage) When flushing lots of entries the performance is terrible because it looks up each LSA entry through ospf_lsa_maxage_exist before deleting causing O(N^2) performance. Use a new OSPF_LSA_MAXAGE flag instead of scan - and maintain it. (ospf_lsa_m...
Joakim TjernlundPaul JakmaJoakim Tjernlund
5996e0df2ebospfd: Make sure route table is recalculated.In some cases ospfd does not recalc the route table. This happens when ospfd receives an old LSA which will trigger recalc but the this recalc will fail because all interfaces isn't up yet. Next LSA that is originated matches the old one so no recalc will be performed. This problem has been observed when there are only 2 ppp I/Fs in an area, both go down at the same time, then they come up agai...
Paul JakmaPaul Jakma
11637435b2dospfd: Make "Packet ... received on wrong link" conditional on debug* ospf_packet.c: make this message conditional on 'debug ospf event', as it be easily triggered with, e.g., multiple subnets sharing same physical network. E.g, see bug #532.
Paul JakmaPaul Jakma
9d878775ff5bgpd: Fix mistakes in applying 'allow inbound connections to non-default view'* bgpd.c: (peer_lookup_with_open) Bodged application of previous patch meant the second loop around bgp->peer wasn't included in the loop around bm->bgp as it was supposed to be. Fix..
Paul JakmaPaul Jakma
5372510d109ospfd: neuter some compiler warnings* ospf_lsa.c: (link_info_set) Use %zd for size_t - C99 is old enough now. Lots of similar warnings all over the code. (ospf_lsa_translated_nssa_compare) Unused func - delete.
Paul JakmaPaul Jakma
4ca15d4a658ospfd: update some comments* ospf_{spf,lsa}.c: remove out of date comment; add comment on some non-obvious code; Make note of a possible scaling problem.
Joakim TjernlundPaul JakmaJoakim Tjernlund
a8ba847ff96ospfd: Change struct ospf_path *oi to ifindex.* global: In struct ospf_path, change struct ospf_interface *oi to int ifindex. It is unsafe to reference *oi as an ospf interface can be deleted under your feet. Use a weak reference instead.
Joakim TjernlundPaul JakmaJoakim Tjernlund
bd5403778b0ospfd: Discriminate better when selecting links between vertices in SPF* ospf_spf.c: (ospf_get_next_link) One must check the vertex type, Router or Network, to select type link to match against. Link type 1 has neighbour router ID in link_id and link type 2 has IP address of DR. Since router id may have same value as an existing IP address one risks matching a router ID against a DR.
Paul JakmaPaul Jakma
4a5f432fa07[bgpd] delete erroneous extra brace..
Michael LambertPaul JakmaMichael Lambert
66bed4f4f02bgpd: Workaround for invalid MBGP next hop* bgp_attr.c: (bgp_mp_reach_parse) There are some interoperability issues for MBGP (particularly IPv4 multicast NLRI) between different implementations. In order to get some next hops to install correctly in the BGP tables, it appears to be necessary to copy the multiprotocol next hop into the base next hop field. This is related to differences in RFC 2283 and RFC 2858.
Paul JakmaPaul Jakma
3de4277ba9b[doc] Update HACKING* HACKING: Update to reflect git stripping []'s, and to allow for more discretion to avoid redundancy in commit messages.
Joakim TjernlundPaul JakmaJoakim Tjernlund
05cf46badbaospfd: Make ospf_if_lookup_recv_if() find the right unnumbered i/fThis function will return the interface for the first matching remote address for PtP i/f's. That won't work for multiple unnumbered i/f's as these may all have the same address. Pass in the struct interface pointer, ifp, to find the correct set of oi's to search in. This also reduces the size of the search list, making it faster. * ospfd/ospf_interface.c: Add struct interface * param to os...
Joakim TjernlundPaul JakmaJoakim Tjernlund
f0f63841582ospfd: export ospf_if_table_lookup() and use it in ospf_network_run_interface()Makes it possible to run OSPF on multiple PtP interfaces with the same remote address. * ospfd/ospf_interface.c: Export ospf_if_table_lookup(). * ospfd/ospf_interface.h: ditto. * ospfd/ospfd.c: (ospf_network_run_interface) Use ospf_if_table_lookup() to determine whether OSPF is already configured for a subnet and interface.
Paul JakmaPaul Jakma
2158ad2359abgpd/trivial: Fix indentation in previous
Steve HillPaul JakmaSteve Hill
fc4dc59d085bgpd: Allow inbound connections to non-default view* bgpd.c: (peer_lookup) Search through all BGP instances for matches, not just the default instance, if no specific instance is given. (peer_lookup_with_open) same.
Steve HillPaul JakmaSteve Hill
3117b5c47dfbgpd: fd leak in bgpd* bgp_fsm.c: I have found an fd leak in bgpd that is caused by the 'new' Clearing state. I've been seeing it from hold timer failures, but it can also be triggered by other things. When Hold_Timer_expired fires in Established state, a notify is sent and BGP_Stop event queued. The fsm then transitions into Clearing state. That is the problem; When the BGP_Stop event is serviced, the...
Paul JakmaPaul Jakma
cb9e0ceec98[zebra] Fix crash in test_zebra* kernel_null.c: we're pretending to add an address, so set IFC_REAL. If this isn't done, calling into the 'got address from kernel' half of zebra will implicitly-withdraw the ifc, which could cause a crash in test_zebra.c.
Paul JakmaPaul Jakma
9afabaf048aMMerge remote branch 'origin/master'
Vasilis TsiligiannisPaul JakmaVasilis Tsiligiannis
736d440845cbgpd: Delete AS_CONFED_SEQUENCE when prepending an AS_SEQUENCE type segmentAS_CONFED_SEQUENCE segment should always be deleted when prepending (e.g. with a route-map) an AS_SEQUENCE segment to an AS path. Otherwise, AS_CONFED_SEQUENCE will not be deleted later when updating EBGP peers (since it is not the leftmost segment) and will leak outside the confederation.
Vasilis TsiligiannisPaul JakmaVasilis Tsiligiannis
ca87e1d37b3bgpd: Implement BGP confederation error handling (RFC5065, Par. 5)This patch implements BGP confederation error handling in Quagga as described in RFC5065, paragraph 5. * bgp_aspath.c: (aspath_confed_check, aspath_left_confed_check) new functions * bgp_attr.c: (bgp_attr_aspath_check) apply previous and NOTIFY if there's a problem.
Stephen HemmingerPaul JakmaStephen Hemminger
30d205909c5[global] interface flags format warnings*/*: ifp->flags is 64 bit unsigned which can not be handled by %l on 32 bit architectures - requires %ll and the appropriate cast.
Stephen HemmingerPaul JakmaStephen Hemminger
d023aec49f7bgpd: start listener on first instanceStart BGP listener only after first instance is started. This helps the security if BGP is not used but daemon is started. It also addresses some issues like MD5 not working on listener unless IPV6 configured (because listener was not in list); as well as compiler warnings. * bgp_network.c: (bgp_listener) listen socket creation consolidated here (bgp_socket) Use bgp_listener * bgpd.c: (bgp...
Stephen HemmingerPaul JakmaStephen Hemminger
03621955d8abgpd: peer action table static/constbgpd.c: (various tables) only used in one place and are immutable.
Stephen HemmingerPaul JakmaStephen Hemminger
78b31d5cf51ripd: set IP TOS for control socket* ripd.c: (rip_create_socket) RIP packets should go out with Type Of Service (DSCP) set to Internet control (like OSPF and BGP).
Paul JakmaPaul Jakma
9a1a331d63a[bgpd] Restore ability of 'neighbor ... update-source' to take interface name* bgp_vty.c: (BGP_UPDATE_SOURCE_STR) Restore ability to accept arbitrary interface names for the 'neighbor ... update-source' command - shouldn't have been deleted. (BGP_UPDATE_SOURCE_STR) Add help for same.
Denis OvsienkoDenis Ovsienko
97be79f9d38[zebra] do not touch socket before pidfile lockingMove zserv socket creation code into zebra_zserv_socket_init() and call it only after pidfile lock has been acquired exclusively. This keeps subsequent zebra daemons from deleting the working socket of an already running process (bug #403).
Thijs KinkhorstDenis OvsienkoThijs Kinkhorst
5b40b1b57e1[doc] zebra.8 via Christian Hammers (#531)The man page for zebra(8) mentions as port number to connect to 2602, but it's acutally 2601 (as shown in /etc/services). 2602 belongs to ripd. Attached patch fixes this typo.
Paul JakmaPaul Jakma
998274cd7c5[build] Bump release to 0.99.14
Vasilis TsiligiannisPaul JakmaVasilis Tsiligiannis
638b70ba989[bgp] Fix nexthop reachability check on confederations* bgp_route.c: (bgp_update_main) Nexthop reachability should be checked for confederations too in case a prefix is received from more than one confederation peers.
Paul JakmaPaul Jakma
a294365797d[bgpd] fix typo made by paul in previous commit
Timo TeräsPaul JakmaTimo Teräs
e8eb000e15e[bgpd] Avoid zombie accepted peer entriesCurrently, when accepting the connection, it can be left as zombie, when the peer just initiates a connection, but never sends data (and the TCP connection end packets are lost). This happens because for accepted connections a temporary new peer entry is created until OPEN message is exchanged, and this temporary peer entry does not get the hold time parameter set at all. * bgp_network.c: (bg...
Nick HilliardPaul JakmaNick Hilliard
e7cc3b383e5[bgpd] Small buffer overrun in bgp_clear_node_queue_init* bgp_route.c: (bgp_clear_node_queue_init) fix buffer overrun.
Chris CaputoPaul JakmaChris Caputo
67b9467f6ca[zebra] Silence noisy process_subqzebra_rib.c: process_subq(): #ifdef out debug code.
Chris CaputoPaul JakmaChris Caputo
228da42898c[bgpd] Stability fixes including bugs 397, 492I've spent the last several weeks working on stability fixes to bgpd. These patches fix all of the numerous crashes, assertion failures, memory leaks and memory stomping I could find. Valgrind was used extensively. Added new function bgp_exit() to help catch problems. If "debug bgp" is configured and bgpd exits with status of 0, statistics on remaining lib/memory.c allocations are printed to...
Chris CaputoPaul JakmaChris Caputo
54a15182e05[bgpd] Fix compiler warnings related to MD5This patch fixes: bgp_network.c: In function 'bgp_md5_set': bgp_network.c:107: warning: cast from pointer to integer of different size bgp_network.c: In function 'bgp_socket': bgp_network.c:447: warning: cast to pointer from integer of different size
Paul JakmaPaul Jakma
62c9f504bdd[build] fix default CFLAGS and squish warning* configure.ac: Move down the AC_SYS_LARGEFILE test - it was setting CFLAGS and so disabling the default CFLAGS setting section. Squish warning by adding AC_CONFIG_MACRO_DIR on the reccommendation of autoreconf.
Paul JakmaPaul Jakma
fd35b948dbb[bgpd] Bug #533: Fix crash with copy/pasted commands, inc 'no bgp ...'* bgpd.c: Removal of (struct bgp *) from the master list was being left to bgp_free time. This meant there was a window of time between bgp_delete and refcounts hitting 0 (e.g. routes to be processed) where bgp_lookup's could return a deleted (struct bgp *). (bgp_delete) This is the logical place where a (struct bgp *) should lose its visibility, so move the deletion from the bgp-m...
Stephen HemmingerPaul JakmaStephen Hemminger
3fa3f957e70[lib] Fix IPv6 normalisation* lib/sockunion.c: (sockunion_normalise_mapped) The code to normalize address was not copying port value - probably reason why IPV4 in IPV6 never worked right.
Tom HendersonPaul JakmaTom Henderson
9b4ef258a9d[ospf6d] Fix regression in monotonic time patch - LSA max-aging broke* ospf6_lsa.c: (ospf6_lsa_premature_aging) set age to MAX_AGE - don't rely on 0 magically meaning same. (ospf6_lsa_age_current) handle MAXAGE.