summaryrefslogtreecommitdiffstats
path: root/configure.ac (follow)
Commit message (Collapse)AuthorAgeFilesLines
* vtysh: add watchquagga to target listDavid Lamparter2016-11-091-0/+1
| | | | | | | | Also tag some commands as VTYSH_REALLYALL; these are absolutely neccessary for correct vtysh operation and will cause "interesting" breakage if not present on all daemons. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* watchquagga: add "write integrated"David Lamparter2016-11-091-0/+11
| | | | | | | | This new command - available for internal use by vtysh and explicit usage by users - calls "vtysh -w" from watchquagga. This ensures vtysh is run with privileges to actually write the integrated-config file. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* Modify build version.Donald Sharp2016-10-291-1/+1
| | | | Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* build: configure.ac - use AC_PROG_CC_C99 instead of cflags to force c99 modeMartin Winter2016-10-261-1/+1
|
* vtysh: Allow vtysh to not know about enabled daemons/featuresDonald Sharp2016-10-251-0/+1
| | | | | | | With the way that vtysh works, it compiles in cli even if there is no support in the protocols. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* zebra: Refactor netlink interactionsvivek2016-10-171-0/+1
| | | | | | | | | | | | | Separate core netlink functions and library functions from route-related interactions and interface-related interactions. Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com> Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Don Slice <dslice@cumulusnetworks.com> Ticket: CM-13199 Reviewed By: CCR-5254 Testing Done: bgp-min, ospf-min
* vnc: default to enabledLou Berger2016-10-031-4/+4
|
* bgpd: add L3/L2VPN Virtual Network Control featureLou Berger2016-10-031-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature adds an L3 & L2 VPN application that makes use of the VPN and Encap SAFIs. This code is currently used to support IETF NVO3 style operation. In NVO3 terminology it provides the Network Virtualization Authority (NVA) and the ability to import/export IP prefixes and MAC addresses from Network Virtualization Edges (NVEs). The code supports per-NVE tables. The NVE-NVA protocol used to communicate routing and Ethernet / Layer 2 (L2) forwarding information between NVAs and NVEs is referred to as the Remote Forwarder Protocol (RFP). OpenFlow is an example RFP. For general background on NVO3 and RFP concepts see [1]. For information on Openflow see [2]. RFPs are integrated with BGP via the RF API contained in the new "rfapi" BGP sub-directory. Currently, only a simple example RFP is included in Quagga. Developers may use this example as a starting point to integrate Quagga with an RFP of their choosing, e.g., OpenFlow. The RFAPI code also supports the ability import/export of routing information between VNC and customer edge routers (CEs) operating within a virtual network. Import/export may take place between BGP views or to the default zebera VRF. BGP, with IP VPNs and Tunnel Encapsulation, is used to distribute VPN information between NVAs. BGP based IP VPN support is defined in RFC4364, BGP/MPLS IP Virtual Private Networks (VPNs), and RFC4659, BGP-MPLS IP Virtual Private Network (VPN) Extension for IPv6 VPN . Use of both the Encapsulation Subsequent Address Family Identifier (SAFI) and the Tunnel Encapsulation Attribute, RFC5512, The BGP Encapsulation Subsequent Address Family Identifier (SAFI) and the BGP Tunnel Encapsulation Attribute, are supported. MAC address distribution does not follow any standard BGB encoding, although it was inspired by the early IETF EVPN concepts. The feature is conditionally compiled and disabled by default. Use the --enable-bgp-vnc configure option to enable. The majority of this code was authored by G. Paul Ziemba <paulz@labn.net>. [1] http://tools.ietf.org/html/draft-ietf-nvo3-nve-nva-cp-req [2] https://www.opennetworking.org/sdn-resources/technical-library Now includes changes needed to merge with cmaster-next.
* Merge remote-tracking branch 'origin/cmaster' into cmaster-nextDonald Sharp2016-09-301-1/+1
|\
| * debian: Update release informationDonald Sharp2016-09-091-1/+1
| | | | | | | | Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | zebra: add missing files to EXTRA_DISTRenato Westphal2016-09-261-1/+0
| | | | | | | | | | | | This fixes RPM package generation on CentOS 7. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* | build: support for "development build"Avneesh Sachdev2016-09-231-0/+8
| | | | | | | | | | | | | | | | | | | | * configure.ac Add the --enable-dev-build flag. It controls the DEV_BUILD define for autoconf and automake, which can be used to conditionally build in code that is only intended for development.. Signed-off-by: Avneesh Sachdev <avneesh@sproute.com>
* | fpm: Add protobuf support for FPM.Avneesh Sachdev2016-09-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code that allows a client to convey routes to a Forwarding Plane Manager component using protobuf instead of netlink.. * fpm/fpm.proto Protobuf definitions pertaining to the Forwarding Plane Manager. In particular, this file defines the AddRoute and DeleteRoute messages. * fpm/fpm.h Tweak FPM message header definition to also allow messages to be encoded in protobuf format. * fpm/{fpm_pb.h,.gitignore,.Makefile.am} Add the fpm_pb library, which contains code for interfacing with the FPM using protobuf. * configure.ac Generate fpm/Makefile. * Makefile.am Add fpm subdirectory to build. * common.am Add flags to be used by clients of the fpm_pb library. Signed-off-by: Avneesh Sachdev <avneesh@sproute.com>
* | build: turn off automake portability warningsAvneesh Sachdev2016-09-231-1/+3
| | | | | | | | | | | | | | | | Modify configure.ac to disable portability warnings for automake -- our automake code (in particular common.am) uses some constructs specific to gmake. Signed-off-by: Avneesh Sachdev <avneesh@sproute.com>
* | qpb: Add support for protobuf.Avneesh Sachdev2016-09-231-1/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Infrastructure that allows protocol buffers to be used in Quagga. The changes below comprise of: - Build hooks - Protobuf definitions for common types. - Library routines for working with protobuf, including functions that help translate between common quagga types and their protobuf equivalents. Changes: * qpb/{Makefile.am,README.txt,qpb.h,.gitignore} Add the qpb library, which provides shared code and definitions for using protocol buffers in quagga code. * qpb/qpb.proto Protobuf definitions that can be shared by all of quagga. * qpb/linear_allocator.h An allocator that allocates memory by walking down towards the end of a buffer. This is used to cheaply allocate/deallocate memory on the stack for protobuf operations. * qpb/qpb_allocator.[ch] Thin layer that allows a linear allocator to be used with the protobuf-c library. * common.am This is an automake fragment that is intended to be shared by Makefile.am files in the tree. It currently includes definitions related to protobuf. * configure.ac - Add logic to optionally build protobuf code. By default, protobuf support is enabled if the protobuf C compiler (protoc-c) is available, and the associated header files/library can be found. The user can choose to override this behavior via the new --disable-protobuf/--enable-protobuf flags. - Include the quagga protobuf library (qpb) in the build. * .gitignore Ignore source code generated by protobuf compiler. * Makefile.am Add 'qpb' to the list of subdirectories. Signed-off-by: Avneesh Sachdev <avneesh@sproute.com> Edited: Paul Jakma <paul.jakma@hpe.com>: Change the sense of the configure enable option to require explicit specifying, as an experimental feature.
* | zebra: check at startup if the kernel supports MPLSRenato Westphal2016-09-231-23/+14
| | | | | | | | | | | | | | | | Replace all HAVE_MPLS #ifdef's by a run-time check if MPLS is supported by the kernel or not. This way we don't need to create multiple packages for each OS distribution. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* | mpls: add support to the OpenBSD kernelRenato Westphal2016-09-231-0/+5
| | | | | | | | Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* | mpls: add null driverRenato Westphal2016-09-231-0/+25
| | | | | | | | Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* | ldpd: adapt the code for QuaggaRenato Westphal2016-09-231-2/+41
| | | | | | | | Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* | bgpd: Revert --enable-bgp-standaloneDonald Sharp2016-09-201-6/+0
| | | | | | | | | | | | | | 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>
* | build: goodbye, gawkDavid Lamparter2016-09-191-6/+0
| | | | | | | | | | | | Signed-off-by: David Lamparter <equinox@opensourcerouting.org> Acked-by: Vincent JARDIN <vincent.jardin@6wind.com> Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | lib, vtysh: support multiple VRFs by using linux netnsFeng Lu2016-09-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* | bgpd: Allow bgp to work standaloneDonald Sharp2016-09-091-0/+6
| | | | | | | | Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | build: detect and create AM_SILENT_RULES macro if neededPawel Wieczorkiewicz2016-09-031-0/+1
| | | | | | | | | | | | | | | | | | | | 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>
* | config: Give the option of disabling run as user/groupJafar Al-Gharaibeh2016-09-031-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | configure: fix static linking with readlineThomas Petazzoni2016-09-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ospfd: Remove HAVE_OSPF_TEDonald Sharp2016-08-161-6/+0
| | | | | | | | | | | | | | | | | | 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)
* | ospfd: Remove HAVE_OPAQUE_LSADonald Sharp2016-08-161-12/+3
| | | | | | | | | | | | | | | | | | 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)
* | pimd: add a workaround for *BSDRenato Westphal2016-08-081-5/+40
| | | | | | | | | | | | | | | | | | | | 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>
* | bgpd: use utsname.domainname only when availableRenato Westphal2016-08-081-0/+5
| | | | | | | | Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
* | Merge remote-tracking branch 'origin/cmaster' into cmaster-nextDonald Sharp2016-08-081-1/+1
|\|
| * quagga: Set version strings appropriatelyDonald Sharp2016-08-021-1/+1
| | | | | | | | | | | | | | Set the version strings to be correct for the upcoming 3.1 release of Quagga. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | configure: Auto pick-up the correct json envDonald Sharp2016-08-011-7/+4
|/ | | | | | | | | | 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
* Merge remote-tracking branch 'origin/cmaster' into cmaster-nextDonald Sharp2016-07-131-0/+6
|\
| * quagga: Allow compile time determination of v6 RR semanticsDonald Sharp2016-06-201-0/+6
| | | | | | | | | | | | | | | | | | | | 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 76981cd383e4bed69454bcc4151a0aae89e8ca84)
| * configure.ac: Add back HAVE_SYSTEMDDonald Sharp2016-06-171-0/+2
| | | | | | | | | | | | | | | | | | 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>
| * quagga: Modify code to build properly in tools and cumulusDonald Sharp2016-06-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | 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
| * configure: Auto pick-up the correct json envDonald Sharp2016-06-151-2/+6
| | | | | | | | | | | | | | | | | | | | 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
| * configure: Ensure systemd development is presentDonald Sharp2016-06-151-4/+10
| | | | | | | | | | | | | | | | | | | | 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
* | quagga: Allow compile time determination of v6 RR semanticsDonald Sharp2016-06-201-0/+6
| | | | | | | | | | | | | | | | | | 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>
* | quagga: Modify code to build properly in tools and cumulusDonald Sharp2016-06-141-0/+2
| | | | | | | | | | | | | | | | 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>
* | configure.ac: Add back HAVE_SYSTEMDDonald Sharp2016-06-101-0/+2
| | | | | | | | | | | | | | | | | | 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>
* | configure: Auto pick-up the correct json envDonald Sharp2016-06-101-2/+6
| | | | | | | | | | | | | | Fix the code to allow Quagga to automatically compile with the correct json library. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
* | configure: Ensure systemd development is presentDonald Sharp2016-06-101-5/+10
| | | | | | | | | | | | | | 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>
* | build: determine CFLAGS more intelligentlyDavid Lamparter2016-06-081-47/+59
| | | | | | | | | | | | | | | | 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)
* | vtysh: drop unused variables & RETSIGTYPEDavid Lamparter2016-06-081-1/+0
| | | | | | | | | | | | | | | | | | | | 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)
* | build: enable isisd by defaultDavid Lamparter2016-06-031-4/+3
| | | | | | | | | | | | | | | | 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>
* | build: track config argsDavid Lamparter2016-06-031-1/+3
| | | | | | | | | | | | | | 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>
* | build: remove --disable-ipv6David Lamparter2016-06-031-23/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | build: get rid of INCLUDES, use AM_CPPFLAGSDavid Lamparter2016-06-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | 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)