summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-06-30[lib/cleanup] Use a typedef for the thread typePaul Jakma
* lib/thread.{c,h}: As per subject. This will avoid head-scratching for next person who adds a thread-type and gets strange breakage.
2009-06-26[ospfd] Do not use stale Network/Router LSAsJoakim Tjernlund
Should 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.
2009-06-26[bgpd] Log a debug/update warning if filters are configured but don't existPaul Jakma
* 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.
2009-06-25Add test for Internet checksum.Joakim Tjernlund
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.
2009-06-25[ospfd] compare ifIndex too when matching pathsJoakim Tjernlund
ospf_path_lookup(), ospf_route_match_same() and ospf_ase_route_match_same() needs to compare if the interface matches too.
2009-06-25[doc] Add "--disable-doc" to configureJoakim Tjernlund
Configure 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.
2009-06-25[ospfd] external LSA route_unlock_node() fixesJoakim Tjernlund
A few route_unlock_node() calls was missing.
2009-06-25[ospfd] Fix a few LSA performance "bugs"Joakim Tjernlund
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().
2009-06-24Merge remote branch 'origin/master'Paul Jakma
2009-06-24zebra: Static route does not reach kernel.Joakim Tjernlund
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@transmode.se>
2009-06-24[vtysh] Save vtysh history to a fileTomasz Pala
vtsh_main.c: save 1000 last lines of history to $HOME/.history_quagga (the file must be created by hand first, this is intended behaviour)
2009-06-24[configure] Allow for large-file support, e.g. for log files >2GBTomasz Pala
2009-06-24[cleanup] Add log.h includesTomasz Pala
2009-06-24[bgpd] Add 'show ip bgp view WORD neighbors IP (advertised|received)-routes'Tomasz Pala
* bgp_route.c: Was missing these commands.
2009-06-24[ospfd] discount IP header size from a new LSA pktDmitry Tejblum
2009-06-23[bgpd] review 32-bit AS-path hotfix for 0.99.12Denis Ovsienko
The 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 I consider reasonable to revert the allocation portion of that patch and to replace it with the shorter version, which is: -#define ASN_STR_LEN (5 + 1) +#define ASN_STR_LEN (10 + 1) Other two parts of Mr. Caputo's patch remain intact.
2009-06-23[zebra] linux policy routing support with ipv6Mathieu Goessens
Quagga 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
2009-06-23Merge remote branch 'origin/master'Paul Jakma
2009-06-23[trivia] work around ksh93 builtin name (#451)Jingjing Duan
ksh93 script cannot have 'stop' functions w/o cancelling existing definition first. Fixed.
2009-06-23Fix "show ip bgp dampened-paths" garbage output.Chris Caputo
* bgpd/bgp_damp.c: Make bgp_damp_reuse_time_vty() accept a buffer and length, rather than returning a local var buffer whose contents can get trounced. Remove duplicate BGP_UPTIME_LEN define. * bgpd/bgp_damp.h: bgp_damp_reuse_time_vty() prototype change. * bgpd/bgp_route.c: Provide bgp_damp_reuse_time_vty() with a buffer and length. Remove duplicate BGP_UPTIME_LEN define. This problem was noticed in 2005... http://hibernia.jakma.org/~paul/patches/quagga-test.diff ...but the fix didn't make it into the code. Signed-off-by: Chris Caputo <ccaputo@alt.net>
2009-06-23Fix vtysh based "write term" output.Chris Caputo
* vtysh/vtysh.c: "end" should be printed at the bottom, not the top. * vtysh/vtysh_config.c: PROTOCOL_NODE was not being handled, and thus was being displayed at the top of a config, rather than in its rightful place near the bottom. Signed-off-by: Chris Caputo <ccaputo@alt.net>
2009-06-23Fixes to RFC2385/MD5 BGPChris Caputo
* bgpd/bgp_network.c: Fix MD5 listen in IPv4 version of bgp_socket() by adding listen socket to listen_sockets list so that MD5 passwords can get set. * lib/sockopt.c: (sockopt_tcp_signature) Fix bogus "% Error while applying TCP-Sig to session(s)" / "can't set TCP_MD5SIG option" startup error messages by not returning error when there isn't one.
2009-06-23[ospfd] cancel OSPF timer hack in nsm_change_stateDmitry Tejblum
This piece of code causes all Quagga routers on a broadcast link to send a HELLO packet simultaneously if they see a new neighbor. It also resets the HELLO timer, so all the quagga routers will continue to send HELLO packets simultaneously in the future. This is not good (especially on networks with a lot of Quagga routers connected), and is explicitly discouraged by the OSPF standard, RFC 2328 (chapter 4.4.Timers). I suggest to remove the code snippet, it does not provide much benefit anyway.
2009-06-23RFC 4191 Default Router Preference support for router advertisementsChris Caputo
Adds "ipv6 nd router-preference (high|medium|low)" and "no ipv6 nd router-preference" interface commands. Files modified: doc/ipv6.texi zebra/interface.c zebra/interface.h zebra/rtadv.c zebra/rtadv.h Signed-off-by: Chris Caputo <ccaputo@alt.net>
2009-06-22[doc] remove -dither arg to imagemagick, in building PDFsPaul Jakma
* doc/Makefile.am: arguments for the 'convert' programme seem to have changed incompatibly at some stage - just remove the problematic -dither.
2009-06-22Convert ospf6d over to quagga_gettime() wrappers.Takashi Sogabe
2009-06-22[bgpd] Fix 'update-source' command: It doesn't accept interface namesPaul Jakma
* bgp_vty.c: BGP_UPDATE_SOURCE_STR define should only specify IP addresses, the underlying mechanisms won't do anything useful with interface names. Fix bug #527.
2009-06-19[ospfd/BSD] add missing UINT16_MAX - picked up from FreeBSD ports patchJeremy Jackson
Should probably have AC_TYPE_UINT16_T in configure.ac to make it really clean... and a fresh import of gnulib, the existing copy of gnulib seems to be manually put some stuff in zebra.h. I'm leaving that alone for now, since a fresh import will probably clean up a lot of cruft and it would be a duplicated effort to fix some things now. The FreeBSD port 0.99.11_1 files/patch-ospfd-ospfd.h can probably go away after this is applied.
2009-06-19[configure] fix check for GNU awk/gawk to abort ./configure if missingJeremy Jackson
It also prints what were comments explaining why gawk is necessary, and not-in-PATH to help user figure out why it's not found. Build was mysteriously failing with the old version of this check when gawk wasn't installed.
2009-06-19[cleanup] convert bzero() deprecated by POSIX to memset()Jeremy Jackson
autoscan 2.62 complains about bzero(), so a good fix nowadays is to just replace it.
2009-06-19[configure] remove unused/broken autoconf cache variable ac_statedirJeremy Jackson
It wasn't used, and the code wasn't printing progress or the result in some cases. the test uses minimal resources, so it's probably better to not cache so as to avoid inconsistencies if --with-prefix or directory variables are changed between ./configure runs.
2009-06-19[configure/cleanup] fix broken autoconf cache variablesJeremy Jackson
Fix zebra_rtread and zebra_ipforward_path. It looks like someone tried to make this cached, but it was being ignored at least on autoconf 2.6.1. 2.6.2 now gives a warning about the situation, hence this fix. Although they are just warnings, it's dangerous to leave them as-is, because someone not diligent in reading the autoconf manual might just stick _cv_ in the name, with the effect that running a ./configure --config-cache would fail horribly, since variables are being set inside the AC_CACHE_CHECK() block that would not be seen when the variable's value was read from cache. Also added m4 quotes [] to macro arguments as autoconf manual suggests.
2009-06-19[configure] remote support for AIX, it conflicts on newer autoconfJeremy Jackson
AC_AIX and AC_GNU_SOURCE conflict > autoconf 2.53 or so, but the replacement AC_USE_SYSTEM_EXTENSIONS isn't available until later versions. So either we narrow the supported autconf version range, or disable AIX (if it has any effect), or determin that AC_AIX doesn't do anything useful anyhow.
2009-06-19[build] cleanup low-hanging autoreconf warningsJeremy Jackson
Some uses of GNU make extensions were not necessary. There are still some, but they might exist as workarounds for older versions of autoconf that have since been solved. Lesson learned: implicit target rules have opposite order to pattern target rules.
2009-06-19[configure] add configure support for PCRE Posix libraryJeremy Jackson
Debian tried unsuccessfully to build with libpcreposix. This adds proper support to autoconf/configure.ac for it. Based on the patch by C.J. Adams-Collier in bug #483. bgpd/bgp_{regex,routemap}.h: Pull in PCRE POSIX header if available.
2009-06-18[daemons/cleanup] Remove disabled log_mode argument support.Jeremy Jackson
* */*main.c: Seems that the actual code was removed previously, but the argument processing code remained.
2009-06-18[doc] Removes documentation of nonexistant option.Jeremy Jackson
Expansion of Ubuntu quagga-0.99.11-1 30_doc__ospfd.8__nolog.dpatch
2009-06-18[configure] Refine CLOCK_MONOTONIC testPaul Jakma
* configure.ac: Check for the actual CLOCK_MONOTONIC symbol, as clock_gettime need not imply that clock type is supported * lib/zebra.h: use the method given in autoconf docs for sys/time.h inclusion
2009-06-18[configure] Detect support for monotonic clockStephen Hemminger
Quagga has code to support monotonic clock to avoid issues where time of day changes. The support was incomplete since it was not being detected by autoconf.
2009-06-18[BGP/cleanup] make message list in bgp_open constStephen Hemminger
2009-06-18[BGP/cleanup] make community hash table staticStephen Hemminger
2009-06-18[BGP/cleanup] make some damp function staticStephen Hemminger
2009-06-18[BGP/cleanup] make ecommunity variables/functions localStephen Hemminger
2009-06-18[BGP/cleanup] main program cleanupStephen Hemminger
Check result of daemon() call to fix warning Make local variables static
2009-06-18[zebra/cleanup] make message table read onlyStephen Hemminger
2009-06-18[OSPF/cleanup] make message lists read onlyStephen Hemminger
2009-06-18[bgpd/cleanup] make message lists read onlyStephen Hemminger
2009-06-18[bgpd] add comment that bgp_capability_receive is exported for unit-testsPaul Jakma
2009-06-18[cleanup] Allow message tables to be constantStephen Hemminger
Avoid bugs, and improve cache locality by allowing message lists to be read/only.
2009-06-18[cleanup] Fix compile warningsStephen Hemminger
Fix printf format warning and make capability table 'const static'