summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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'
2009-06-18[cleanup] Use const in smux interfaceStephen Hemminger
smux_trap and oid_copy should allow read-only source.
2009-06-18[bgpd/cleanup] BGP make attribute variables localStephen Hemminger
Message lists can be read-only, and hash tables are local to this code.
2009-06-18[bgpd/cleanup] Make BGP FSM table read-only staticStephen Hemminger
The finite state machine table is immutable.
2009-06-18[bgpd] reference count the BGP instanceStephen Hemminger
When a BGP instance is deleted with lots of routes and neighbors it is possible for the peer rsclient queue to run after bgp_delete has been called. This would lead to bgpd crashing, see https://bugzilla.vyatta.com/show_bug.cgi?id=3436 The fix is to add reference counting to the BGP instance and defer actual freeing until all references are gone. This patch also fixes a memory leak where the self-reference peer instance was being created but never freed. The check in bgp_clear_route is no longer valid because it is possible for it to be called when peer is in Deleted state during cleanup.
2009-06-18[bgpd] Make declarations matchStephen Hemminger
These variables are const.
2009-06-18[zebra] Remove unused structure elementStephen Hemminger
2009-06-18[zebra] Force rib_update when connected route deletedStephen Hemminger
2009-06-18[cleanup] Use correct buffer size for inet_ntop()Stephen Hemminger
Don't need big buffer 1024 to hold IPV4 (INET_ADDRSTRLEN) or IPv6 (INET6_ADDRSTRLEN) message.
2009-06-18[ripd] Ignore non-running interfaces in rip statusStephen Hemminger
Vyatta Bug 3999
2009-06-18[lib] Put symbolic backtrace on system logStephen Hemminger
When BGP crashes, sometimes all we get to see is syslog.
2009-06-18[lib] sockopt_tcp_signature: sin6 requires HAVE_IPV6Stephen Hemminger
An external user was building on system without IPv6 and it wouldn't work.
2009-06-18[ospf6d] Remove 'no router' from OSPF6_NODEStephen Hemminger
Don't need command twice.
2009-06-18[ospf6d] Fix ospf6d crash if removing interface with no areaJon
ospf6d will crash if attempting to remove interface when no areas have been defined Check if any areas have been defined. Should prevent use of empty pointer.
2009-06-18[ospf6d] Fix ospf6d crash in show border routersJon
ospf6d will crash if this command is executed on a non-border-router. Included test to verify that any routes are defined, preventing empty pointer from being used.
2009-06-18[ospf6] Add no router ospf6Jon
Suggestion: Makes no sense to me that the statement to remove ospf6 configuration is located in OSPF6D_NODE. Moved to CONFIG_NODE next to matching define command.