summaryrefslogtreecommitdiffstats
path: root/watchquagga (follow)
Commit message (Collapse)AuthorAgeFilesLines
* *: use long long to print time_tDavid Lamparter2016-05-301-4/+6
| | | | | | | | | | | | | Since we can't assume time_t to be long, int, or even long long, this consistently uses %lld/long long (or %llu/unsigned long long in a few cases) to print time_t/susecond_t values. This should fix a bunch of warnings, on NetBSD in particular. (Unfortunately, there seems to be no "PRId64" style printing macro for time_t...) Signed-off-by: David Lamparter <equinox@opensourcerouting.org> (cherry picked from commit ef008d2f8dc8f7160d8a3d24a15f2fad79ef3242)
* build: get rid of INCLUDES, use AM_CPPFLAGSDavid Lamparter2016-06-031-1/+1
| | | | | | | | | | | | | 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)
* watchquagga: break excessively long help stringDavid Lamparter2016-05-261-9/+14
| | | | | | | | watchquagga's command line help string exceeds the ISO C maximum string length (4095 characters). Just break it in two. Signed-off-by: David Lamparter <equinox@opensourcerouting.org> (cherry picked from commit 33b9663a89b5ec319986de0673764d2a18ec8725)
* build: Remove the old PIC/PIE patch, let libtool sort it outPaul Jakma2016-05-261-2/+1
| | | | | | | * 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.
* quagga: Fixup startup to allow consistency between sysV and systemdDonald Sharp2016-04-271-0/+4
| | | | | | | | | | | | | | | | | | | We want the ability to start up quagga in a varied set of environments. This needs to be done in SysV and systemd startups. As such refactor the code to allow us to allow end users to easily switch between the two sysV: edit the /etc/quagga/daemons file service quagga [start|stop|reload|restart] Systemd: edit the /etc/quagga/daemons file systemctl [start|stop|reload|restart] quagga Ticket: CM-10634 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
* Fix watchquagga to watch just one daemonDonald Sharp2015-08-241-6/+0
| | | | | | | | | | | | | | | Ticket: CM-6669 Reviewed by: CCR-3249 Testing: See Bug I believe in the past it made no sense to have only 1 quagga daemon running(zebra), since it would just handle interface configuration and static routes, both of which would be better handled through the linux cli. Now that we have added recursive static routes and the ability to handle static mpls labels to zebra, there are use cases where zebra would be the only be running. This change allows watchquagga to behave with this setup.
* Add --enable-werror to configureDonald Sharp2015-07-261-1/+1
|
* Fixup of warnings in the codeDonald Sharp2015-07-261-3/+5
| | | | | | | | | Ticket: None Reviewed by: Trivial Testing: A bunch of warnings have crept in to the code base. This fixes the issue
* watchquagga-mode-3-fix.patchDonald Sharp2015-07-221-8/+1
| | | | | | | | | | | | | | | | Watchquagga: In phased restart with zebra, invoke restart all when zebra dies To correctly handle starting and stopping of individual daemons not affecting watchquagga's monitoring, we resorted to fixing up watchquagga's daemon watch list every time a daemon was started or stopped. This was done by restarting watchquagga itself. This meant the handling of phased restart of individual daemons was broken in watchquagga as it attempted to stop daemons individually before starting them all individually. Fix this by restarting all when this happens. This does make mode 4 indistinguishable from mode 1, but I don't understood the point of mode 4 and we don't think users change watchquagga modes. Signed-off-by: Dinesh G Dutt <ddutt@cumulusnetworks.com>
* Multi-Instance OSPF SummaryDonald Sharp2015-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ——————————————------------- - etc/init.d/quagga is modified to support creating separate ospf daemon process for each instance. Each individual instance is monitored by watchquagga just like any protocol daemons.(requires initd-mi.patch). - Vtysh is modified to able to connect to multiple daemons of the same protocol (supported for OSPF only for now). - ospfd is modified to remember the Instance-ID that its invoked with. For the entire life of the process it caters to any command request that matches that instance-ID (unless its a non instance specific command). Routes/messages to zebra are tagged with instance-ID. - zebra route/redistribute mechanisms are modified to work with [protocol type + instance-id] - bgpd now has ability to have multiple instance specific redistribution for a protocol (OSPF only supported/tested for now). - zlog ability to display instance-id besides the protocol/daemon name. - Changes in other daemons are to because of the needed integration with some of the modified APIs/routines. (Didn’t prefer replicating too many separate instance specific APIs.) - config/show/debug commands are modified to take instance-id argument as appropriate. Guidelines to start using multi-instance ospf --------------------------------------------- The patch is backward compatible, i.e for any previous way of single ospf deamon(router ospf <cr>) will continue to work as is, including all the show commands etc. To enable multiple instances, do the following: 1. service quagga stop 2. Modify /etc/quagga/daemons to add instance-ids of each desired instance in the following format: ospfd=“yes" ospfd_instances="1,2,3" assuming you want to enable 3 instances with those instance ids. 3. Create corresponding ospfd config files as ospfd-1.conf, ospfd-2.conf and ospfd-3.conf. 4. service quagga start/restart 5. Verify that the deamons are started as expected. You should see ospfd started with -n <instance-id> option. ps –ef | grep quagga With that /var/run/quagga/ should have ospfd-<instance-id>.pid and ospfd-<instance-id>/vty to each instance. 6. vtysh to work with instances as you would with any other deamons. 7. Overall most quagga semantics are the same working with the instance deamon, like it is for any other daemon. NOTE: To safeguard against errors leading to too many processes getting invoked, a hard limit on number of instance-ids is in place, currently its 5. Allowed instance-id range is <1-65535> Once daemons are up, show running from vtysh should show the instance-id of each daemon as 'router ospf <instance-id>’ (without needing explicit configuration) Instance-id can not be changed via vtysh, other router ospf configuration is allowed as before. Signed-off-by: Vipin Kumar <vipin@cumulusnetworks.com> Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com> Reviewed-by: Dinesh G Dutt <ddutt@cumulusnetworks.com>
* *: use array_size() helper macroBalaji.G2012-10-251-1/+2
| | | | | | | | Use the array_size() helper macro. Replaces several instances of local macros with the same definition. Reviewed-by: Scott Feldman <sfeldma@cumulusnetworks.com> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
* build: allow configure and build in a separate directoryVincent Bernat2012-06-251-1/+1
| | | | | | | | | | | Some .h files in lib/ are autogenerated. The search path should include the build directory and the source directory. They usually match but sometimes, they may be different. For example: $ mkdir build $ cd build $ ../configure $ make
* build: delete .cvsignore filesDenis Ovsienko2011-12-131-13/+0
|
* delete CVS keywordsDenis Ovsienko2011-09-271-2/+0
|
* all: check return value from daemon() callStephen Hemminger2009-08-131-1/+5
| | | | | | * */*main.c: (main) Current versions of Gcc warn if the return value for daemon() is not checked. So add a simple test and exit on failure.
* [administrivia] Git should ignore backup files and .loT filesPaul Jakma2008-08-221-0/+3
|
* [trivia] Remove ChangeLog files, as this data is now maintained in SCMPaul Jakma2008-08-221-59/+0
|
* [build] Test for GNU-style PIE support in toolchain and enablePaul P Komkoff Jr2008-08-221-0/+3
| | | | | | | | | | | 2008-08-13 Paul P Komkoff Jr <i@stingr.net> * configure.ac: add a configure flag and autoconf macro, which will determine if your toolchain supports PIE. * */Makefile.am: add corresponding CFLAGS and LDFLAGS into appropriate places. Signed-off-by: Paul Jakma <paul@quagga.net>
* [administrivia] Add .gitignore files, based on .cvsignores.Paul Jakma2008-08-221-0/+13
|
* [autoconf] bugs 162,303,178: Fix 'present but can not be compiled' warningsPaul Jakma2007-05-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | 2007-05-09 Paul Jakma <paul.jakma@sun.com> * configure.ac: sys/conf.h depends on sys/param.h, at least on FBSD 6.2. (bug #363) Should check for in_pktinfo for IRDP 2006-05-27 Paul Jakma <paul.jakma@sun.com> * configure.ac: General cleanup of header and type checks, introducing an internal define, QUAGGA_INCLUDES, to build up a list of stuff to include so as to avoid 'present but cant be compiled' warnings. Misc additional checks of things missing according to autoscan. Add LIBM, for bgpd's use of libm, so as to avoid burdening LIBS, and all the binaries, with libm linkage. Remove the bad practice of using m4 changequote(), just quote the []'s in the case statements properly. This should fix bugs 162, 303 and 178. * */*.{c,h}: Update all HAVE_* to the standard autoconf namespaced HAVE_* defines. I.e. HAVE_SA_LEN -> HAVE_STRUCT_SOCKADDR_SA_LEN, * bgpd/Makefile.am: Add LIBM to bgpd's LDADD, for pow().
* 2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2005-02-172-2/+6
| | | | * watchquagga.c: (handle_read) Use new ERRNO_IO_RETRY macro.
* 2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2005-02-162-13/+10
| | | | | * watchquagga.c: (try_connect) Use new set_nonblocking function instead of calling fcntl directly.
* 2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2005-01-122-5/+19
| | | | | | | | | | | * watchquagga.c: (run_job) Fix bug: delay.tv_sec was being used without having been initialized when the "force" argument was true. (try_restart) When phased restart is stopping the routing daemons, it should tell run_job to update the restart interval. (phase_check) In final step of phased restart when the routing daemons are being started again, tell run_job not to update the restart interval (this is now done when the daemons are stopped).
* 2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2004-12-292-10/+15
| | | | | * watchquagga.c: In several places, cast pid_t to int for printf to avoid complaints on Solaris 8.
* 2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2004-12-292-22/+9
| | | | * watchquagga.c: Fix headers: get most stuff from zebra.h.
* 2004-12-23 Paul Jakma <paul@dishone.st>paul2004-12-232-1/+6
| | | | * watchquagga.c: Add missing getopt.h include
* 2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2004-12-222-22/+31
| | | | | * watchquagga.c: Try for gcc 2.95 compatibility (avoid %z and a tricky initialization).
* 2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2004-12-222-2/+51
| | | | | | * watchquagga.c: Add -b option to circumvent difficulties passing embedded spaces in command-line arguments. This is an ugly hack, we should probably use a config file instead.
* 2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2004-12-222-3/+12
| | | | * watchquagga.c: Use new config.h define for DAEMON_VTY_DIR.
* 2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2004-12-222-1/+13
| | | | * watchquagga.c: Get PATH_WATCHQUAGGA_PID from config.h.
* 2004-12-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2004-12-222-0/+17
| | | | * .cvsignore: Added.
* 2004-12-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs2004-12-223-0/+1360
* {ChangeLog,watchquagga.c,Makefile.am}: Created.