Reverts the --enable-bgp-standalone and makes it so that you
need to use --enable-cumulus to get the cumulus behavior.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Vincent JARDIN <vincent.jardin@6wind.com>
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
We realize VRFs with linux netns by default. The main job is
to associate a VRF with a netns. Currently this is done by
the configuration:
[no] vrf N netns <netns-name>
This command is also available in vtysh and goes to only
zebra, because presently only zebra supports multiple VRF.
A file descriptor is added to "struct vrf". This is for the
associated netns file. Once the command "vrf N netns NAME"
is executed, the specified file is opened and the file
descriptor is stored in the VRF N. In this way the
association is formed.
In vrf_socket(), we first switch to the specified VRF by
using the stored file descriptor, and then can allocate
a socket which is working in the associated netns.
Signed-off-by: Feng Lu <lu.feng@6wind.com>
Reviewed-by: Alain Ritoux <alain.ritoux@6wind.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
(cherry picked from commit 55cfa2f190620f7c711944637659bc208970324d)
Older libs have problem with that:
configure.ac:17: warning: macro `AM_SILENT_RULES'
not found in library
...
configure.ac:24: error: possibly undefined macro:
AM_SILENT_RULES
Tested-by: NetDEF CI System <cisystem@netdef.org>
Leave "user/group" unset when explicitly configuring with
"--disable-user" / "--enable-user=no" and
"--disable-group" / "--enable-group=no"
This allows quagga to skip unsupported system calls such
as setuid() on certain platfroms.
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
Tested-by: NetDEF CI System <cisystem@netdef.org>
When static linking is used, the order of the libraries is important,
and the libraries using a symbol from another library should be listed
*before* the library providing that symbol (see
http://eli.thegreenplace.net/2013/07/09/library-order-in-static-linking)
for details.
When vtysh is linked statically, the command line contains "-lcurses
-lreadline", which causes a build failure due to unresolved
symbols. This is because readline is using symbols from the curses
library: the order should be the opposite.
This patch fixes that problem by putting the -lreadline at the
beginning of the LIBREADLINE variable calcualted by the configure
script.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Remove from ospf the HAVE_OSPF_TE define and just always have
ospf traffic engineering.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Tested-by: NetDEF CI System <cisystem@netdef.org>
(cherry picked from commit 693da6096a28eef5eadeea699771265987b3ec0c)
HAVE_OPAQUE_LSA is used by default and you have to actively turn it off
except that OPAQUE_LSA is an industry standard and used pretty much
everywhere. There is no need to have special #defines for this anymore.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit 36fef5708d074a3ef41f34d324c309c45bae119b)
VIFF_USE_IFINDEX is not available on BSDs and other UNIX systems. In
order to build pimd on these platforms, use 'vifc_lcl_addr' instead of
'vifc_lcl_ifindex' to specify the interfaces we want to enable forwarding
of multicast traffic. In the case of unnumbered interfaces, print an
error and return.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Fix the code to allow Quagga to automatically
compile with the correct json library.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Conflicts:
configure.ac
The patches to allow kernel v6 Route Replacement semantics
to work correctly are on a very recent kernel. If you are
compiling on a linux kernel where it's broken, just
compile with --disable-rr-semantics.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit 76981cd383)
The patches to allow kernel v6 Route Replacement semantics
to work correctly are on a very recent kernel. If you are
compiling on a linux kernel where it's broken, just
compile with --disable-rr-semantics.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
When the change was made to add some additional
code to make sure systemd was actually installed
on the system, the HAVE_SYSTEMD #define was
accidently removed.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
The tools and cumulus directories were not properly
being included for the 'make dist' step to allow
for proper distribution of code.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Conflicts:
Makefile.am
Fix the code to allow Quagga to automatically
compile with the correct json library.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Conflicts:
configure.ac
If a users specifies that they should use systemd
then ensure that the systemd can be compiled against it.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Conflicts:
configure.ac
The tools and cumulus directories were not properly
being included for the 'make dist' step to allow
for proper distribution of code.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
When the change was made to add some additional
code to make sure systemd was actually installed
on the system, the HAVE_SYSTEMD #define was
accidently removed.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
If a users specifies that they should use systemd
then ensure that the systemd can be compiled against it.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Instead of hardcoding some compiler detection, this just checks which
CFLAGS actually work with the compiler specified by the user.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 3a7e83c2387885075c9ecf1912dd6c9399c6947a)
Drop unused return values in vtysh. Also gets rid of the rather funny
prototyping of signal setup in vtysh - which as a side effect makes it
not need AC_TYPE_SIGNAL in configure.ac anymore. It wasn't used
sensibly to begin with...
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 6769f43de9d595b935f2ebf1cae1428e1d1a3a5f)
Most distributors enable it anyway, and it's not THAT broken anymore to
mandate disabling it by default.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Paul Jakma <paul@jakma.org>
Record the ./configure arguments used and make them user-visible.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Paul Jakma <paul@jakma.org>
Building with IPv6 disabled tends to break rather often and sprinkles
ugly #ifdefs around the code. All that only to support systems where
the C library doesn't have IPv6 capability.
The year now being 2015, if this is a problem the thing to fix is the C
library.
The implication of this patch is that future patches need not care about
HAVE_IPV6 = 0 and may remove ifdefs gratuitously. This patch doesn't
remove these ifdefs to not create unneccessary churn.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Paul Jakma <paul@jakma.org>
INCLUDES in configure.ac was not used at all, and INCLUDES in
Makefile.am is supposed to be AM_CPPFLAGS these days.
Reduces warnings spewed during bootstrap/autoreconf.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Greg Troxel <gdt@ir.bbn.com>
Acked-by: Feng Lu <lu.feng@6wind.com>
Acked-by: Paul Jakma <paul@jakma.org>
(cherry picked from commit 237aac56960575f6ad2451ba2796d94bd5ae4b33)
This switch controlled descending into the solaris/ subdirectory, which
contains package descriptions and init scripts. If they're not
appropriate, they'd better be removed outright.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Greg Troxel <gdt@ir.bbn.com>
Acked-by: Feng Lu <lu.feng@6wind.com>
Acked-by: Paul Jakma <paul@jakma.org>
None of the BSDs uses ioctls to set routes anymore.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Greg Troxel <gdt@ir.bbn.com>
Acked-by: Feng Lu <lu.feng@6wind.com>
Acked-by: Paul Jakma <paul@jakma.org>
IPv6 functions in a separate library... yeah, right.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Greg Troxel <gdt@ir.bbn.com>
Acked-by: Feng Lu <lu.feng@6wind.com>
Acked-by: Paul Jakma <paul@jakma.org>
This path is deprecated, completely untested, likely broken and will not
be maintained. Kill it with fire.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Greg Troxel <gdt@ir.bbn.com>
Acked-by: Feng Lu <lu.feng@6wind.com>
Acked-by: Paul Jakma <paul@jakma.org>
(cherry picked from commit 2e5ca49758543cde69d98f4a6a7b39486e88311d)
Conflicts:
configure.ac
zebra/if_proc.c
zebra/rtread_proc.c
* configure.ac: Bump the minimum version to 2.60 as needed by
AC_USE_SYSTEM_EXTENSIONS. AC 2.60 is nearly 10 years old, note. Add
AC_PROG_RANLIB, for when --disable-shared is used.
There are other warnings on, e.g., CentOS 6.7 with 2.63, but they
don't go away if the suggestion to add AC_SYSTEM_EXTENSIONS is
followed. This warning doesn't occur on Fedora with AC 2.69.
Note: autoconf (and other auto*) should only be needed on developer
machines building direct from git. Other systems should be using the
'make dist' tarballs, with a ready-made build system, that does not
need auto* intalled.
(cherry picked from commit f9f4731245eb9f83d0795acac24183c6cf709288)
* stdbool.h should be widely supported by now, and the 'bool' type makes
more semantic sense than an integer type for boolean values.
(cherry picked from commit e8441a81f6c9f73bc8a25669003abffb40066703)
This extends the ip_mreq hack to DragonFlyBSD and SunOS. This has been
in pkgsrc for some time. I've cleaned up the pkgsrc patch a little and
am submitting it upstream. Credit is due to pkgsrc maintainers.
Tested on SmartOS (illumos).
Fixes: #819
Signed-off-by: Greg Troxel <gdt@ir.bbn.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit b8a893c38e97377b2a2582b1621b988e55811412)
This shuts up make by default (can be reversed with "make V=1" or
--disable-silent-rules). This is useful since warnings and error
messages become more visible with less noise.
Tested on Linux with GNU make and FreeBSD with system's BSD make.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Paul Jakma <paul@jakma.org>
(cherry picked from commit cc81308148271aeed2277e16885ddca7e2d5bb9b)
These actually break configure on FreeBSD very subtly, because inet_aton
and __inet_aton are both detected, and then later other tests get
warnings about HAVE_INET_ATON being defined twice.
That said, they're incorrect to begin with since they detect alternative
functions but there is nothing in place to actually use these
alternates.
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Greg Troxel <gdt@ir.bbn.com>
Acked-by: Feng Lu <lu.feng@6wind.com>
Acked-by: Paul Jakma <paul@jakma.org>
(cherry picked from commit 79f74962d20fa2c90df5a57335fc3b5e19bfeccf)
* lib/sigevent.c: (program_counter) extend to support more platforms. Joint
effort with Paul Jakma.
(cherry picked from commit b166ea2dda9f04a8b75e0bf5adb7064580695f22)
* Remove the old change from '08 to add in PIE arguments at automake level.
Versions of libtool since then know how to deal with -fpie and do the right
thing according to whether its building shared or executable objects.
So just pass '-fpie' as CFLAG and let libtool do its thing.
The default build needs vtysh and pimd as a default build so
that when a change is made we can catch build issues before they
become a problem.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>