| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
adds a new all-daemon "debug memstats-at-exit" command. Also saves
memstats to a file in /tmp, useful if a long-running daemon is having
weird issues (e.g. in a user install).
Fixes: #437
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|
|
|
|
|
|
|
|
| |
A mismatch between the make rule and the include path causes dependency
tracking to try to build the clippy.c file twice (at the same time),
which results in spurious build failures.
Fixes: #971
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|\ |
|
| |\
| | |
| | | |
more non-recursive build, fix cross-compile, & doc build mangling
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
BUILT_SOURCES doesn't do what the name suggests. What it actually means
is "these files should be built first when doing a 'make' without
explicit target" (or "make all").
It's pretty much almost always wrong to use BUILT_SOURCES, the only
correct use is when a file is needed by an unspecified / large set of
files.
Also remove version.h and route_types.h from dist tarball while we're at
it. configure will create them anyway.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| |\ \
| | | |
| | | | |
simplify watchfrr, add --terminal, improve startup logging
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This splits off privs_preinit(), which does the lookups for user and
group IDs. This is so the init code can create state directories while
still running as root.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- SIGTSTP appropriately suspends the foreground terminal
- SIGINT causes the daemon to exit, regardless of -d
- SIGQUIT causes the daemon to daemonize, regardless of -d
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| | |/
| |/|
| | |
| | | |
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds "@tcp" as new choice on the -z option present in zebra and the
protocol daemons. The --enable-tcp-zebra option on configure is no
longer needed, both UNIX and TCP socket support is always available.
Note that @tcp should not be used by default (e.g. in an init script),
and --enable-tcp-zebra should never have been in any distro package
builds, because
**** TCP-ZEBRA IS A SECURITY PROBLEM ****
It allows arbitrary local users to mess with the routing table and
inject bogus data -- and also ZAPI is not designed to be robust against
attacks.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| |
| |
| |
| | |
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
|/
|
|
| |
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
|
|
|
| |
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|
|
|
|
|
|
| |
We had afi_t/iana_afi_t for AFIs but only safi_t for SAFIs. Fix this
inconsistency.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
|
|
|
|
|
|
|
|
|
| |
This reverts commit c14777c6bfd0a446c85243d3a9835054a259c276.
clang 5 is not widely available enough for people to indent with. This
is particularly problematic when rebasing/adjusting branches.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|
|
|
|
|
|
|
| |
w/ clang 5
* reflow comments
* struct members go 1 per line
* binpack algo was adjusted
|
|
|
|
|
|
| |
indent.py `git ls-files | pcregrep '\.[ch]$' | pcregrep -v '^(ldpd|babeld|nhrpd)/'`
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|
|
|
| |
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|\
| |
| |
| | |
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| |\
| | |
| | | |
newline redux
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | | |
Lots of conflicts from CMD_WARNING_CONFIG_FAILED...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| |\ \ \
| | | | |
| | | | | |
Allow for more than 1 NH recursion level
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Without it, tests were passing before commit 9fb47c0, so a case was
missing (the one which that commit fixes).
Signed-off-by: ßingen <bingen@voltanet.io>
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Tests were no passing. Besides, added cases to test more than 1 level
depth in nexthop recursion.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Before, only one level of recursive resolution was supported.
Signed-off-by: ßingen <bingen@voltanet.io>
|
| | |_|/
| |/| |
| | | |
| | | | |
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
test_ttable.refout wasn't in the dist package.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Needed these while rewriting LSDB iteration.
NB: this commit fails because of a bug in ospf_lsdb_get_next, which will
SEGV when the LSDB is actually empty. Whooo... (this is fixed in the
following commits.)
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
pytest.mark.skipif apparently iterates through a class's methods,
applying itself onto the various methods. Now, since we're deriving
from a parent class, the method is actually the same object inherited
from the parent, so the decorator will apply itself on the parent's
testrunning method (test_refout). The result is that any TestRefout
tests after "test_commands.py" will be skipped...
This only became apparent after adding ospf6d/test_lsdb.py; before,
test_commands.py was the last test in the list so it didn't matter...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
| |
| |
| |
| | |
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
| |
| |
| |
| |
| |
| |
| | |
Add support for naming pthreads. Also, note that we don't have any
records yet if that's the case.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
| |
| |
| |
| | |
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
| |
| |
| |
| |
| |
| | |
Should be able to fit more vty_out onto one line now
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|/
|
|
|
|
| |
Saves 400 lines
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|\
| |
| | |
CLI magic: part 1 (DEFPY)
|
| |
| |
| |
| | |
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|/
|
|
|
|
|
|
|
| |
Allows for easy preparation of tabular output.
Supports:
-- Padding
-- Alignment
-- Styling
|
|
|
|
|
|
|
| |
it's just an alias for a millisecond timer used in exactly nine places
and serves only to complicate
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|\
| |
| | |
Vrf stuff
|
| |\ |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The FSF's address changed, and we had a mixture of comment styles for
the GPL file header. (The style with * at the beginning won out with
580 to 141 in existing files.)
Note: I've intentionally left intact other "variations" of the copyright
header, e.g. whether it says "Zebra", "Quagga", "FRR", or nothing.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A partially-entered IPv6 address would never return a "partly_match",
meaning some possible completions weren't listed by the matcher.
This specifically breaks autocompleting BGP IPv6 neighbor addresses.
Before:
aegaeon# show ip bg ne 2001:<?>
WORD Neighbor on BGP configured interface
After:
aegaeon# show ip bg ne 2001:<?>
WORD Neighbor on BGP configured interface
X:X::X:X Neighbor to display information about
2001:db8::2
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pass pointer to pointer instead of assigning by return value. See
previous commit message.
To ensure that the behavior stays functionally correct, any assignments
with the result of a thread_add* function have been transformed to set
the pointer to null before passing it. These can be removed wherever the
pointer is known to already be null.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way thread.c is written, a caller who wishes to be able to cancel a
thread or avoid scheduling it twice must keep a reference to the thread.
Typically this is done with a long lived pointer whose value is checked
for null in order to know if the thread is currently scheduled. The
check-and-schedule idiom is so common that several wrapper macros in
thread.h existed solely to provide it.
This patch removes those macros and adds a new parameter to all
thread_add_* functions which is a pointer to the struct thread * to
store the result of a scheduling call. If the value passed is non-null,
the thread will only be scheduled if the value is null. This helps with
consistency.
A Coccinelle spatch has been used to transform code of the form:
if (t == NULL)
t = thread_add_* (...)
to the form
thread_add_* (..., &t)
The THREAD_ON macros have also been transformed to the underlying
thread.c calls.
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
|
|
|
|
|
|
| |
TestMultiOut can now also just check for clean exit
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
|
|\
| |
| |
| |
| |
| | |
Fixed minor conflicts from "defaults" change on stable.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
|