Age | Commit message (Collapse) | Author |
|
* 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.
|
|
* 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-master list to here,
from bgp_free.
Many thanks to Fritz Reichmann for his thorough debugging of the problem
and testing of fixes and Chris Caputo for his further analysis.
|
|
* 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.
|
|
* 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.
|
|
* lib/thread.{c,h}: As per subject. This will avoid head-scratching for next
person who adds a thread-type and gets strange breakage.
|
|
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.
|
|
* 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.
|
|
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.
|
|
ospf_path_lookup(), ospf_route_match_same() and
ospf_ase_route_match_same() needs to
compare if the interface matches too.
|
|
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.
|
|
A few route_unlock_node() calls was missing.
|
|
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().
|
|
|
|
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>
|
|
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)
|
|
|
|
|
|
* bgp_route.c: Was missing these commands.
|
|
|
|
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.
|
|
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
|
|
|
|
ksh93 script cannot have 'stop' functions w/o cancelling
existing definition first. Fixed.
|
|
* 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>
|
|
* 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>
|
|
* 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.
|
|
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.
|
|
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>
|
|
* doc/Makefile.am: arguments for the 'convert' programme seem to have
changed incompatibly at some stage - just remove the problematic -dither.
|
|
|
|
* 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.
|
|
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.
|
|
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.
|
|
autoscan 2.62 complains about bzero(), so a good fix
nowadays is to just replace it.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
* */*main.c: Seems that the actual code was removed previously, but the
argument processing code remained.
|
|
Expansion of Ubuntu quagga-0.99.11-1 30_doc__ospfd.8__nolog.dpatch
|
|
* 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
|
|
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.
|
|
|
|
|
|
|
|
|
|
Check result of daemon() call to fix warning
Make local variables static
|
|
|
|
|