OpenSourceRouting
  1. OpenSourceRouting

quagga-snap

Public
AuthorCommitMessageCommit dateIssues
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.
Paul JakmaPaul Jakma
41b2373cece[lib/cleanup] Use a typedef for the thread type* lib/thread.{c,h}: As per subject. This will avoid head-scratching for next person who adds a thread-type and gets strange breakage.
Joakim TjernlundPaul JakmaJoakim Tjernlund
bd246242520[ospfd] Do not use stale Network/Router LSAsShould a self originated Network/Router LSA with higher LS seq. nr. be received we should flood and install it in the LSDB but we cannot use it for our internal calculations as it is stale. Reorginate an new LSA to replace the stale one as soon as possible.
Paul JakmaPaul Jakma
650f76c2e1b[bgpd] Log a debug/update warning if filters are configured but don't exist* bgp_route.c: (bgp_{input,output}_filter) Log a debug warning if a route is received or sent and a filter name is configured for a prefix, as or distribute list but none is found - guaranteed configuration mistake.
Joakim TjernlundPaul JakmaJoakim Tjernlund
439c52f1900Add test for Internet checksum.Add 2 impl. of the Internet Checksum. One new optimized nad one form RFC 1071. Turns out that the current Quagga in_cksum() is buggy. On Big Endian routers it miscalculates odd sized buffers.
Joakim TjernlundPaul JakmaJoakim Tjernlund
77a1c4e05ca[ospfd] compare ifIndex too when matching pathsospf_path_lookup(), ospf_route_match_same() and ospf_ase_route_match_same() needs to compare if the interface matches too.
Joakim TjernlundPaul JakmaJoakim Tjernlund
cbcd9bfc503[doc] Add "--disable-doc" to configureConfigure option "--disable-doc" will prevent building the documents under doc. Saves build time and the need to have document building tools installed. Useful when your build machine is different from your development machine.
Joakim TjernlundPaul JakmaJoakim Tjernlund
3d8617b853a[ospfd] external LSA route_unlock_node() fixesA few route_unlock_node() calls was missing.
Joakim TjernlundPaul JakmaJoakim Tjernlund
f6543138042[ospfd] Fix a few LSA performance "bugs"ospf_lsa_install() will calculate LSA checksum so no need to do it before calling ospf_lsa_install(). Set the OSPF_LSA_SELF_CHECKED flag on own LSA's to save ospf_lsa_is_self_originated() some work. Do not memset() memory that is about to overwritten with memcpy().
Paul JakmaPaul Jakma
dc26699a80eMMerge remote branch 'origin/master'
Joakim TjernlundPaul JakmaJoakim Tjernlund
c3a56063027zebra: Static route does not reach kernel.A static route like below: ip route 172.16.1.0/30 192.168.101.162 11 does not move properly to a new interface when the interface used goes down. Zebra reports that it have moved but kernel isn't informed so the route is lost. * zebra_rib.c: (nexthop_active_update) if ifindex has changed, then the route should be considered to have changed. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@...
Tomasz PalaPaul JakmaTomasz Pala
3f4ab7f9e9f[vtysh] Save vtysh history to a filevtsh_main.c: save 1000 last lines of history to $HOME/.history_quagga (the file must be created by hand first, this is intended behaviour)
Tomasz PalaPaul JakmaTomasz Pala
80abd9fe37d[configure] Allow for large-file support, e.g.for log files >2GB
Tomasz PalaPaul JakmaTomasz Pala
3fc1eca92a7[cleanup] Add log.h includes
Tomasz PalaPaul JakmaTomasz Pala
2a71e9ce89c[bgpd] Add 'show ip bgp view WORD neighbors IP (advertised|received)-routes'* bgp_route.c: Was missing these commands.
Dmitry TejblumDenis OvsienkoDmitry Tejblum
c9035ccd130[ospfd] discount IP header size from a new LSA pkt
Denis OvsienkoDenis Ovsienko
014b670e02c[bgpd] review 32-bit AS-path hotfix for 0.99.12The patch by Chris Caputo, which was used to prepare 0.99.12 release, consists of three parts: 1. memory allocation fix itself 2. fix for warnings about constant variables 3. fix for printf format specs (%d was used instead of %u) It was confirmed later, that: a. a much simpler bugfix was available for memory allocation b. committed version of the bugfix wasn't optimal CPU-wise At this point...
Mathieu GoessensPaul JakmaMathieu Goessens
d13c3b4fcf8[zebra] linux policy routing support with ipv6Quagga support linux policy routing (ip route ... table $X) with zebra.conf table $X option. It works fine on ipv4. On ipv6 the parameter is ignored (table 0 is used). * zebra/...: Pass appropriate table arg to rib_{add,delete}_ipv6
Paul JakmaPaul Jakma
ba803bd51cdMMerge remote branch 'origin/master'