Merged multipath and single-path data structures.
Dropped struct mpnh and mpnh_*()Now struct nexthop exists, nexthop_*(), and also included struct nexthopinto struct rta.
Also converted RTD_DEVICE and RTD_ROUTER to RTD_UNICAST. If it is neededto distinguish between these two cases, RTD_DEVICE is equivalent to...
Merge branch 'int-new-rpki-squashed' (early part) into int-new
Integrated and extensible BGP with generalized AFI handling,support for IPv4+IPv6 AFI and unicast+multicast SAFI.
LibSSH may be switched off together with RPKI
RPKI protocol with one cache server per protocol
The RPKI protocol (RFC 6810) using the RTRLib(http://rpki.realmv6.org/) that is integrated insidethe BIRD's code.
Implemeted transports are: - unprotected transport over TCP - secure transport over SSHv2...
Unit Testing for BIRD
- Unit Testing Framework (BirdTest) - Integration of BirdTest into the BIRD build system - Tests for several BIRD modules
Based on squashed Pavel Tvrdik's int-test branch, updated for current int-new branch.
Merge branch 'master' into int-new
Build: switch on -Wextra, get rid of most of the warnings
There are several unresolved -Wmissing-field-initializers on olderversions of GCC than 5.1, all of them false positive.
Merge remote-tracking branch 'origin/master' into int-new
Build system reworked to one global Makefile with includes and no nesting
Also removed the lib-dir merging with sysdep. Updated #include'saccordingly.
Fixed make doc on recent Debian together with moving generated doc intoobjdir.
Moved Makefile.in into root dir...
Add the Babel routing protocol (RFC 6126)
This patch implements the IPv6 subset of the Babel routing protocol.Based on the patch from Toke Hoiland-Jorgensen, with some heavymodifications and bugfixes.
Thanks to Toke Hoiland-Jorgensen for the original patch.
All the current pthread implementations are OK and working with us.
No more need to disable pthread for specific BSD's.
Delete ipv6 option from configure
Initial commit on integrated BIRD
New data types net_addr and variants (in lib/net.h) describingnetwork addresses (prefix/pxlen). Modifications of FIB structuresto handle these data types and changing everything to use thesedata types instead of prefix/pxlen pairs where possible....
Adds configure error message.
Fixes autoconf check for ncurses.
Allows pthreads by default on Linux and FreeBSD only.
BFD protocol, ready for release.
Supports OSPF and BGP and also statically configured sessions.
BFD work in progress.
Now it compiles and mostly works.
Merge branch 'birdcl'
Adds two new default GCC options.
Adds two new default GCC options related to optimizations(-fno-strict-aliasing and -fno-strict-overflow). Thisshould fix some hyperaggressive GCC optimizations.
Also updates autoconf option detection.
Add lightweight client - birdcl
Restructure client/ subdir. Add two different flavors of client.The full featured birdc client code is in client/birdc/.The new light client birtcl is in client/birdcl/.Common sources of both clients are directly in client/....
DragonFly support add - thanks to firstname.lastname@example.org
Implements build options to specify socket dir and suffix.
Cleanup in sysdep KRT code, part 2.
Remove support for historic Linux kernels,merge krt-iface, krt-set and krt-scan stub headers.
Use constants from /etc/iproute2/rt_* files.
Implements Router Advertisement protocol.
Minor fixes to previous patches.
Adds autoconf test for -Wno-pointer-sign compliler option.
Fix configure to enable warnings and fix most of them.
Merge branch 'dev' into ospf3
Fixes build in Debian GNU/kFreeBSD.
Replaces local endianity testing macro with the common one.
That makes it easier to integrate BIRD to crosscompilingbuildsystems.
Temporary OSPFv3 development commit
Small change to make BIRD's IPv6 packaging easier
Ugly hack for finding readline on NetBSD
Better checks for M4 in configure.
OpenBSD port related changes.
Fix problem with local time changes.
These warnings are so abundant (because char * / byte * mix) that theyare completely useless.
Add more warnings if --enable-warnings is turned on. (probably requiresgcc-3.0 or newer, but I hope it's OK)
Now, only one AC_OUTPUT is used.
Make the check for <linux/rtnetlink.h> work with recent libc's.
Better readline checking.
Added some more test (alloca.h, sa_len) etc.Add AC_OUTPUT before AC_OUTPUT_COMMANDS
Get Linux version from <linux/version.h>, not `uname -r`.
Added `--disable-memcheck' switch which avoids linking of efence/dmalloc,so that we can run in debugging mode with large routing tables.
Autoconf is evil. The sysconfdir and similar variables are unusable inC includes as they contain substitutions specific to make.
Worked around by creating sysconf/paths.h which is created fromthe Makefile instead of by the configure script.
Debugging compilation is no longer default. This means that the configurationfile is expected in $prefix/etc etc.
Use --enable-debug to request debugging.
Added --enable-ipv6 which tells configure to select the right configurationfor IPv6 automatically.
Added --enable-warnings which turns off some more warnings.
Default protocol list now depends on --enable-ipv6.
OSPF added to default protocols.
Added BGP to the default list of protocols we build.
Hmmm, libreadline 2.1 seems to be the oldest version we work with.
Moan loudly if libreadline is an old version which doesn't supportcallbacks.
Configure, link and use the readline library.
Put client on a stony ground. The whole client is going to be system-specific(the current version UNIX-specific) anyway, so it's useless to try splitting itto sysdep and generic part. Instead of this, configure script decides (based onsystem type and user's wish) what (if any) client should be built and what...
Use linux-22 configuration with all 2.2.x and 2.3.x kernels. This meansyou need to have your kernel compiled with netlink routing messages enabled.If it doesn't work for you, use --with-sysconfig=linux-21 and let me knowwhat's going wrong.
Configure PATH_CONTROL_SOCKET.autoconf.h is now written to obj/sysdep, the source tree is hopefullycompletely read-only now.
Implemented a Table-to-Table protocol a.k.a The Pipe.
Added --with-sysinclude to allow explicitly setting where kernel includesreside, so that you can easily switch between 2.0 and 2.2 ones.
Check existence of <linux/rtnetlink.h> for linux-22 configs to make surewe're using the correct set of includes.
Oops, a typo in previous struct ip_mreqn changes...
Use `struct ip_mreqn' instead of `struct ip_mreq' for multicastoperations on 2.1/2.2 kernels. This allows passing of real interfaceindexes instead of referencing interfaces by their IP addresses whichfails badly in presence of unnumbered interfaces.
Unfortunately, this structure is not visible with glibc 2.0 as it provides...
Prefer `gm4' over `m4' (due to BSD et al.).
Cleaned up system configuration files -- removed few obsolete parameters,documented the remaining ones (sysdep/cf/README).
o linux-20: Old Linux interface via /proc/net/route (selected by default on pre-2.1 kernels). o linux-21: Old Linux interface, but device routes handled by the...
Don't compile OSPF by default.
Yes, joining the crew. Sorry for being late. Added dummy functions for OSPF.
Use dmalloc instead of EFence when available (dmalloc has lot of improvementsover EFence and also hopefully smaller memory overhead, but sadly it's non-freefor commercial use).
If the DMALLOC_OPTIONS environment variable is not set, switch on `reasonable'...
If we are compiling with debugging enabled and libefence is available,link it to get debugging malloc.
Filter all `Modules' files through C preprocessor, so that they canreference BIRD configuration.
By the way: Do you know GCC by default does `#define unix 1'?
Few last-minute bug fixes.
New makefiles. Includes support for out-of-source-tree builds.
First step of "autoconfization". Created a configure script whichguesses most system-dependent parameters and determines name of systemconfiguration file (sysdep/cf/...) with the remaining ones.
To compile BIRD, you now need to do:
autoconf # Create configure from configure.in...