]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
8 years agolib/zclient: Consolidate error reporting for zclient_read_header
Donald Sharp [Thu, 17 Sep 2015 14:54:25 +0000 (10:54 -0400)]
lib/zclient: Consolidate error reporting for zclient_read_header

All functions that call zclient_read_header immediately turn around
and check to ensure that the version and marker fields are correct
Move this code into zclient_read_header

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit a9d4cb33faa6af622240190a80f41c4672374925)

8 years agoospfd: Fix for 'no' + 'debug command' does not disable 'debug command'
Vystoropskyi, Sergii [Sun, 16 Aug 2015 13:25:36 +0000 (13:25 +0000)]
ospfd: Fix for 'no' + 'debug command' does not disable 'debug command'

"no debug ospf packet all detail" does not cancel "debug ospf packet all detail"
due to the code inconsistency in setting/unsetting debug flags.

* ospf_dump.c: added missing flags.
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit b075e8728f650b0850e20fdf8dde467440a24b28)

8 years agoospfd: Fast OSPF convergence
Michael Rossberg [Mon, 27 Jul 2015 05:56:25 +0000 (07:56 +0200)]
ospfd: Fast OSPF convergence

When considering small networks that have extreme requirements on
availability and thus convergence delay, the timers given in the OSPF RFC
seem a little “conservative”, i.e., the delay between accepted LSAs and the
rate at which LSAs are sent.  Cisco introduced two commands 'timers throttle
lsa all’ and 'timers lsa arrival’, which allow operators to tune these
parameters.

I have been writing a patch to also support 'timers lsa arrival’ fully and
‘timers throttle lsa all’ (without the throttling part) also in quagga.

8 years agoFix _netlink_route_debug message
Kaloyan Kovachev [Mon, 15 Jun 2015 14:08:48 +0000 (17:08 +0300)]
Fix _netlink_route_debug message

(cherry picked from commit 8c56b44de0fa8100b6f0b367dbc604d41b94025f)

8 years agozebra: fix VRF code for *BSD
David Lamparter [Tue, 2 Jun 2015 06:31:38 +0000 (08:31 +0200)]
zebra: fix VRF code for *BSD

There seems to be no rtm_table in struct rt_msghdr, at least on the
systems I have access to...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit d6cf5134c05a7890738411852d9357ee5bb322f3)

8 years agoospf6d, bgpd: avoid calling if_nametoindex
Feng Lu [Fri, 22 May 2015 09:39:55 +0000 (11:39 +0200)]
ospf6d, bgpd: avoid calling if_nametoindex

As the comments in if.h, it is better to call ifname2ifindex()
instead of if_nametoindex().

And ifname2ifindex() can work for VRF by appending a parameter
while if_nametoindex() can not.

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>
Acked-by: Vincent JARDIN <vincent.jardin@6wind.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 395828eea809e8b2b8c5824d3639cefedd7aa9f0)

8 years agozebra: use prefix2str for logging where possible
Timo Teräs [Sat, 23 May 2015 08:08:41 +0000 (11:08 +0300)]
zebra: use prefix2str for logging where possible

This makes code more robust, consice and readable.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit be6335d682c5ee1b6930345193eda875705fbab2)

8 years agozebra/vty: use prefix2str and unify show ip/ipv6 route code
Timo Teräs [Sat, 23 May 2015 08:08:40 +0000 (11:08 +0300)]
zebra/vty: use prefix2str and unify show ip/ipv6 route code

Use prefix2str where possible. As now ip/ipv6 are practically
identical, they are merged removing unneeded code duplication.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 53a5c39c705f917567d5b1764f1fe12ad5c5e577)

8 years agolib: make prefix2str simpler to use, and use it in zclient
Timo Teräs [Sat, 23 May 2015 08:08:39 +0000 (11:08 +0300)]
lib: make prefix2str simpler to use, and use it in zclient

Returning the buffer allows using it in the logging functions
in easier way. This also makes the API consistent with sockunion.

Add also PREFIX_STRLEN to be the generic buffer length required
for any prefix string representation.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 41eb9a4305fbcb206c900a18af7df7115d857d60)

8 years agolib: allow caller to provide prefix storage in sockunion2hostprefix
Timo Teräs [Fri, 22 May 2015 10:40:57 +0000 (13:40 +0300)]
lib: allow caller to provide prefix storage in sockunion2hostprefix

Avoids a dynamic allocation which is usually freed immediate afterwards.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agobgpd: tests - add null pointer protection to fix bgp test failures
Lou Berger [Tue, 12 Jan 2016 18:41:58 +0000 (13:41 -0500)]
bgpd: tests - add null pointer protection to fix bgp test failures

Signed-off-by: Lou Berger <lberger@labn.net>
(cherry picked from commit d5d5e3e04fc41b9a89b7ce9049fd322bdbde2e4d)

Conflicts:
bgpd/bgp_nexthop.c

8 years agobgpd: Do not process workqueue upon instance delete
vivek [Thu, 9 Jun 2016 01:14:17 +0000 (18:14 -0700)]
bgpd: Do not process workqueue upon instance delete

During instance cleanup, an earlier patch walked the workqueue in order
to process queued routes of the instance. However, since the workqueue
is not per instance, the code walks and immediately processes all routes
across all instances.

This may not be ideal in the presence of VRFs, when multiple instances
will be a fact. Revert that part of the change from earlier patch. This
needs to be revisited later for a better solution.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Updates: bb86c6017eccd03ea1554c7bdef5949cf676f208

8 years agoMerge branch 'cmaster-next' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into...
vivek [Thu, 9 Jun 2016 00:58:55 +0000 (17:58 -0700)]
Merge branch 'cmaster-next' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster-next

8 years agobgpd: improve cleanup in bgp_delete()
Lou Berger [Tue, 12 Jan 2016 18:41:57 +0000 (13:41 -0500)]
bgpd: improve cleanup in bgp_delete()

Signed-off-by: Lou Berger <lberger@labn.net>
(cherry picked from commit 82dd707988b7481e203cab058c92f0b3041dd558)

Conflicts:
bgpd/bgp_nexthop.h
bgpd/bgp_route.c
bgpd/bgp_routemap.c
bgpd/bgp_zebra.h
bgpd/bgpd.c
bgpd/bgpd.h

8 years agoMerge branch 'cmaster-next' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into...
Daniel Walton [Thu, 9 Jun 2016 00:49:09 +0000 (17:49 -0700)]
Merge branch 'cmaster-next' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster-next

8 years agozebra: Fix comparison warning
Donald Sharp [Wed, 8 Jun 2016 19:30:48 +0000 (15:30 -0400)]
zebra: Fix comparison warning

It's possible to have a comparison where
MULTIPATH_NUM is greater than the size of
data that a u_char supports for nexthop_num

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoripngd: allow to enable/disable the ECMP feature
Feng Lu [Fri, 22 May 2015 09:39:54 +0000 (11:39 +0200)]
ripngd: allow to enable/disable the ECMP feature

Introduce a new command "[no] allow-ecmp" to enable/disable the
ECMP feature in RIPng. By default, ECMP is not allowed.

Once ECMP is disabled, only one route entry can exist in the list.

* ripng_zebra.c: adjust a debugging information, which shows the number
                 of nexthops according to whether ECMP is enabled.
* ripngd.c: ripng_ecmp_add() will reject the new route if ECMP is not
            allowed and some entry already exists.
            A new configurable command "allow-ecmp" is added to control
            whether ECMP is allowed.
            When ECMP is disabled, ripng_ecmp_disable() is called to
            remove the multiple nexthops.
* ripngd.h: Add a new member "ecmp" to "struct ripng", indicating whether
            ECMP is allowed or not.

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>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 72855b16b72e9ad2c7eb0c0bfd8f5985f779608f)

8 years agoripngd: add ECMP support
Feng Lu [Fri, 22 May 2015 09:39:53 +0000 (11:39 +0200)]
ripngd: add ECMP support

* Each node in the routing table is changed into a list, holding
  the multiple equal-cost paths.

* If one of the multiple entries gets less-preferred (greater
  metric or greater distance), it will be directly deleted instead
  of starting a garbage-collection timer for it.
  The garbage-collection timer is started only when the last entry
  in the list gets INFINITY.

* Some new functions are used to maintain the ECMP list. And hence
  ripng_route_process(), ripng_redistribute_add() and ripng_timeout()
  are significantly simplified.

* ripng_zebra_ipv6_add() and ripng_zebra_ipv6_delete() now can share
  the common code. The common part is moved to ripng_zebra_ipv6_send().

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>
Acked-by: Vincent Jardin <vincent.jardin@6wind.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: always print adj->sysid (clang 3.6 warning)
David Lamparter [Wed, 20 May 2015 17:06:12 +0000 (19:06 +0200)]
isisd: always print adj->sysid (clang 3.6 warning)

As any new compiler version, clang 3.6 has new warnings, one of these
being that it now warns for testing whether the address of an array will
be true.

Of course there is no point in this check for the sysid, so let's always
just print the sysid.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agolib/vty: don't clear output buffer on input EOF
David Lamparter [Thu, 14 May 2015 12:24:06 +0000 (14:24 +0200)]
lib/vty: don't clear output buffer on input EOF

A VTY's input can be closed without the output becoming unavailable.
This happens both on stdio when stdin ends, as well as over TCP when an
unidirectional input shutdown() happens.

In such a case, resetting the output buffer is not appropriate since
there might still be data to be successfully written.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agolib/vty: add vty_stdio at-close hook
David Lamparter [Tue, 12 May 2015 19:56:18 +0000 (21:56 +0200)]
lib/vty: add vty_stdio at-close hook

This is intended to be used for either "exit on close", "fork on close"
or "reopen vty on close" functionality for the stdio vty.  Which of
these options to take depends on the context, the use case right now is
test programs exiting on EOF.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 464ccf36b4aa1b942cad413ea30267b4bf9e6315)

8 years agolib/vty: put stdin in raw mode for vty
David Lamparter [Tue, 5 May 2015 09:04:46 +0000 (11:04 +0200)]
lib/vty: put stdin in raw mode for vty

The interactive CLI actually works just fine, if we just put the
terminal in raw mode to get keystrokes as they come.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit ba53a8fdecef07577dcc4109e5c82bb124d49c58)

8 years agolib/vty: add vty_stdio()
David Lamparter [Thu, 30 May 2013 14:33:45 +0000 (16:33 +0200)]
lib/vty: add vty_stdio()

this introduces a new public/API function to the vty code for opening a
VTY on stdin/stdout.  Intended for unrestricted use by the individual
daemons, i.e. "offical API".

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agolib/vty: add separate output fd support to VTYs
David Lamparter [Thu, 30 May 2013 14:31:49 +0000 (16:31 +0200)]
lib/vty: add separate output fd support to VTYs

to be used with stdin/stdout terminals, this adds support for writing to
a different FD than we're reading from.  Also fixes error messages from
config load being written to stdin.

[v2: fixed config write]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 4715a53b4d390e72a06c864a6a505971841e3dc9)

8 years agoospfd: Remove another odd flooding hack in opaque LSA code
Paul Jakma [Fri, 23 Jan 2015 16:43:49 +0000 (16:43 +0000)]
ospfd: Remove another odd flooding hack in opaque LSA code

* ospf_opaque.c: (ospf_opaque_adjust_lsreq) Odd hack to general OSPF
  database exchange but made to act only on opaque LSAs. It's either covering
  up bugs in the flooding code or its wrong. If it's covering up bugs, those
  would affect all LSAs and should be fixed at a lower layer in ospfd, indeed
  perhaps those bugs are long fixed anyway (?). Alternatively, it's just plain
  wrong. Nuke.
  (ospf_opaque_exclude_lsa_from_lsreq) helper to above, nuke.
* ospf_packet.c: Nuke call to ospf_opaque_adjust_lsreq.

Tested-by: olivier.dugeon@orange.com
8 years agolib: assert(0) still needs a return
David Lamparter [Wed, 13 May 2015 10:44:50 +0000 (12:44 +0200)]
lib: assert(0) still needs a return

assert(0) is not guaranteed to not return since assert() in general can
be optimised out when building without debug / with optimisation.  This
breaks the build in clang, which warns/errors about the missing return.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit f1fc327c7eb00634d2c2b08c2a6f6e44a626ef04)

8 years ago*: fix more initialisers (for BSD)
David Lamparter [Tue, 21 Apr 2015 08:13:07 +0000 (10:13 +0200)]
*: fix more initialisers (for BSD)

FreeBSD and NetBSD spew a few more warnings about variable initialisers.
Found with OSR's/NetDEF's fancy new CI system.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agolib: fix "reduce strcmp in CLI" fallout (10bac801)
David Lamparter [Tue, 12 May 2015 15:18:04 +0000 (17:18 +0200)]
lib: fix "reduce strcmp in CLI" fallout (10bac801)

In "lib/cli: reduce strcmp in CLI hot paths", I failed to notice that
CMD_VARIABLE as a boolean test covers a superset of the other types of
variables.  Thus, the patch broke processing of IP/IPv6/Integer range
parameters in the CLI.

Fix by some reordering and introducing TERMINAL_RECORD macro (which
marks whether a given terminal type is a parameter) to be used in places
where the check is really for all kinds of variables.

Reported-by: Timo Teräs <timo.teras@iki.fi>
Tested-by: Martin Winter <mwinter@netdef.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agobgpd: speed up "no-hit" withdraws for routeservers
David Lamparter [Mon, 13 Apr 2015 07:50:00 +0000 (09:50 +0200)]
bgpd: speed up "no-hit" withdraws for routeservers

This accelerates handling of incoming Withdraw messages for routes that
don't exist in the table to begin with.  Cisco IOS 12.4(24)T4 has a bug
in this regard - it sends withdraws instead of doing nothing for
prefixes that are filtered.

Pulling up the adj_in removal in Quagga should have no ill effect, but
we can avoid the costly iteration over all rsclients if there was no
adj_in entry.

Performance impact of this change on routeserver with 3 buggy peers,
startup/sync time:

before patch:  143.12 seconds (user cpu)
after patch:     7.01 seconds (user cpu)

Many thanks to Nick Hilliard & INEX for providing real-world test data!

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Acked-by: Paul Jakma <paul@jakma.org>
8 years agoospfd: Remove the blocking of opaque LSAs origination & flooding 'optimisation'
Paul Jakma [Tue, 20 Jan 2015 15:45:36 +0000 (15:45 +0000)]
ospfd: Remove the blocking of opaque LSAs origination & flooding 'optimisation'

* Opaque support contains some kind of hack/optimisation to
  origination/flooding to suppress some origins/floods until an opaque LS
  Acks are received.  Previous versions of the code have already been shown
  to have bugs in them (see e16fd8a5, e.g.). It seems over-complex and fragile,
  plus its conceptually the wrong place to try implement flooding hacks that,
  AFAICT, do not depend particularly on the semantics of opaque LSA.

  Nuke.

Tested-by: Olivier Dugeon <olivier.dugeon@orange.com>
8 years agolib/cli: reduce strcmp in CLI hot paths
David Lamparter [Tue, 5 May 2015 09:10:20 +0000 (11:10 +0200)]
lib/cli: reduce strcmp in CLI hot paths

Er, no idea how anyone could ever have thought that it would be a good
idea to have a zillion of strcmp() calls in the CLI's active paths, just
to compare against things like "A.B.C.D".

Reduces 40k prefix list load time from 1.65s to 1.23s (1.34:1).

Acked-by: Paul Jakma <paul@jakma.org>
[v2: killed CMDS_* macros]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 10bac80195cf5a781da6e4415e6580fd7080f734)

8 years agolib: constify sockunion api
Timo Teräs [Wed, 29 Apr 2015 06:43:01 +0000 (09:43 +0300)]
lib: constify sockunion api

Add const to read-only api calls.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 81b139bdd530adda045d22a4daf0054b89703dab)

8 years agozebra: fix rtadv check for non-glibc linux
Timo Teräs [Wed, 29 Apr 2015 06:43:00 +0000 (09:43 +0300)]
zebra: fix rtadv check for non-glibc linux

Default RTADV enabled for non-glibc linux (fixes check for musl libc).

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agozebra: fix build with rtadv disabled
Timo Teräs [Wed, 29 Apr 2015 06:42:59 +0000 (09:42 +0300)]
zebra: fix build with rtadv disabled

Otherwise we get warning on rtadv_init() prototype not being
defined when compiling rtadv.c (as dummy stub is provided always).

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agobuild: add --enable-werror
David Lamparter [Tue, 3 Mar 2015 09:00:43 +0000 (10:00 +0100)]
build: add --enable-werror

This allows enabling -Werror in a consistent way.  Note that this is
different from just specifiying it in CFLAGS, since that would either
break configure tests (if done on ./configure), or would override
configure's CFLAGS (if done on make).

Using --enable-werror instead provides a new WERROR variable that is
additionally used during make with a consistent set of warning flags.

The tests/ directory is exempt.  (Rationale being, better to have more
tests than pedantically complain about them.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agobuild: determine CFLAGS more intelligently
David Lamparter [Tue, 3 Mar 2015 08:55:51 +0000 (09:55 +0100)]
build: determine CFLAGS more intelligently

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)

8 years agovtysh: drop unused variables & RETSIGTYPE
David Lamparter [Wed, 4 Mar 2015 06:18:24 +0000 (07:18 +0100)]
vtysh: drop unused variables & RETSIGTYPE

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)

8 years agovtysh: fix function prototypes
David Lamparter [Wed, 4 Mar 2015 06:07:01 +0000 (07:07 +0100)]
vtysh: fix function prototypes

This makes a whole bunch of vtysh functions static, fixes prototypes for
a few more, and masks user_free() and user_write_config() (both unused.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit a9eb9063071437f5cde3b78adf273b428c49d378)

8 years agovtysh: don't use '\0' as NULL
David Lamparter [Tue, 3 Mar 2015 08:06:51 +0000 (09:06 +0100)]
vtysh: don't use '\0' as NULL

for some reason, the vty code was using '\0' in place of NULL.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit a91a3bac14976c04bf22b20c7e4bada787ec79b1)

8 years agoospf6d: fix pointer arithmetic warning
David Lamparter [Sun, 19 Apr 2015 12:54:03 +0000 (14:54 +0200)]
ospf6d: fix pointer arithmetic warning

caddr_t was signed; this buffer size comparison is better done in
unsigned.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 3cf4053a9e832408fad33a8246ecbd189f23a956)

8 years agoospf6d: oi->cost is uint32, not short
David Lamparter [Tue, 3 Mar 2015 08:08:20 +0000 (09:08 +0100)]
ospf6d: oi->cost is uint32, not short

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 72c69d434840598a158747ba9f69dad536f96cea)

8 years agoospf6d: use existing union, avoid strict-aliasing
David Lamparter [Tue, 3 Mar 2015 09:30:27 +0000 (10:30 +0100)]
ospf6d: use existing union, avoid strict-aliasing

There are preexisting fields u.lp.id and u.lp.adv_router in struct
prefix that do the same thing as these type-punning pointer derefs.
Use these and shut up the strict-aliasing warnings.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 0de0138a9146074f268245193e45c9376d998722)

8 years agolib, vtysh: reduce unneccessary C extension usage
David Lamparter [Tue, 3 Mar 2015 08:08:05 +0000 (09:08 +0100)]
lib, vtysh: reduce unneccessary C extension usage

We're only supporting GCC, Clang and ICC; but there's no reason to use
nonstandard C constructs if they don't actually provide any benefit.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 71f55f38cb3dd804176e7f382f52b75ddcd437de)

8 years agolib: use const consistently for zserv path
David Lamparter [Tue, 3 Mar 2015 07:57:02 +0000 (08:57 +0100)]
lib: use const consistently for zserv path

The global variable is missing its const, but the accessor function has
a meaningless extra const in exchange...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agopimd: Fix register message checksum
Donald Sharp [Wed, 8 Jun 2016 15:47:33 +0000 (11:47 -0400)]
pimd: Fix register message checksum

The register message checksum was being calculated over
the first 4 bytes of the packet, instead of the first
8 bytes.  From the RFC:

PIM Version, Type, Reserved, Checksum
        Described in Section 4.9. Note that in order to reduce
        encapsulation overhead, the checksum for Registers is done only
        on the first 8 bytes of the packet, including the PIM header and
        the next 4 bytes, excluding the data packet portion.  For
        interoperability reasons, a message carrying a checksum
        calculated over the entire PIM Register message should also be
        accepted.  When calculating the checksum, the IPv6 pseudoheader
        "Upper-Layer Packet Length" is set to 8.

Ticket: CM-11265
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agopimd: Rehookup the redistribution code
Donald Sharp [Fri, 3 Jun 2016 10:20:05 +0000 (06:20 -0400)]
pimd: Rehookup the redistribution code

Due to rewrite of the redistribution mechanism in ZEBRA,
rehookup the redist statements to pimd from zebra.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: Fix last sent command to protocol
Donald Sharp [Fri, 3 Jun 2016 08:56:10 +0000 (04:56 -0400)]
zebra: Fix last sent command to protocol

With the addition of VRF's we were not properly
storing the last sent command to individual
protocols from zebra.  This commit fixes this:

Pre-Fix:
Client: bgp
------------------------
FD: 14
Route Table ID: 0
Connect Time: 00:10:51
Not registered for Nexthop Updates
Last Msg Rx Time: 00:10:51
Last Msg Tx Time: 00:00:04
Last Rcvd Cmd: ZEBRA_REDISTRIBUTE_ADD
Last Sent Cmd: (null)

Post-Fix:
Client: bgp
------------------------
FD: 14
Route Table ID: 0
Connect Time: 00:02:42
Not registered for Nexthop Updates
Last Msg Rx Time: 00:02:42
Last Msg Tx Time: 00:00:09
Last Rcvd Cmd: ZEBRA_REDISTRIBUTE_ADD
Last Sent Cmd: ZEBRA_INTERFACE_UP

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agopimd: Make pim_pkt_dump use standard lib functions
Donald Sharp [Tue, 7 Jun 2016 15:00:53 +0000 (11:00 -0400)]
pimd: Make pim_pkt_dump use standard lib functions

pim_pkt_dump was creating a custom function to dump
detailed packet data.  Switch it over to use
zlog_hexdump.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agobgpd: Fix Missing capability codes in data structure
Donald Sharp [Tue, 7 Jun 2016 14:49:35 +0000 (10:49 -0400)]
bgpd: Fix Missing capability codes in data structure

Forward port of a fix from upstream introduced
the need to have data on the new capability codes
that have been introduced.

This commit adds in the missing capabilities.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agozebra: clean up misc_null pragmas
David Lamparter [Tue, 3 Mar 2015 08:14:46 +0000 (09:14 +0100)]
zebra: clean up misc_null pragmas

The no-op alternatives provided in misc_null trigger a few warnings
since they provide functions / use pragmas without prototypes.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit a3466abd93f83424f9f83e56282e42188e1f94ce)

8 years agozebra: Cleanup missed cherry-pick
Donald Sharp [Tue, 7 Jun 2016 13:38:02 +0000 (09:38 -0400)]
zebra: Cleanup missed cherry-pick

Cherry-pick of 2e5ca49758543 was missing the
removal of some files.

Since these are not referenced in the build anymore
it's ok to remove them.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: use prototypes/includes in rt_netlink
David Lamparter [Wed, 4 Mar 2015 06:05:39 +0000 (07:05 +0100)]
zebra: use prototypes/includes in rt_netlink

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 48ab06b43040bb27d267bb165eedf9e496eb865b)

8 years agozebra: remove unused netlink_route()/kernel_rtm_ipv6()
David Lamparter [Tue, 3 Mar 2015 07:57:49 +0000 (08:57 +0100)]
zebra: remove unused netlink_route()/kernel_rtm_ipv6()

kernel_delete_ipv6_old(), removed in 51bdeba a little while ago, was the
last user of netlink_route() and kernel_rtm_ipv6().  Everything else
uses the _multipath variants of these functions.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 872b0dc0537b62503d98bafd3075553795c847cb)

8 years agoisisd: remove unused process_is_hello()
David Lamparter [Tue, 3 Mar 2015 07:56:05 +0000 (08:56 +0100)]
isisd: remove unused process_is_hello()

The code uses process_lan_hello() or process_p2p_hello().  The unused
process_is_hello() seems to be a leftover generic version.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fix size_t confusions
David Lamparter [Fri, 10 Apr 2015 07:10:11 +0000 (09:10 +0200)]
isisd: fix size_t confusions

isisd had a few places that mixed up size_t vs. unsigned long, and %zd
vs. %ld.  Clean out.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 01da6176b88fe59b3c6ceaf3630df88046c83159)

8 years agoisisd: assorted fixes (unused variables, static)
David Lamparter [Wed, 4 Mar 2015 06:13:38 +0000 (07:13 +0100)]
isisd: assorted fixes (unused variables, static)

This just mops up a few warnings in isisd.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit f50ee93d12f8213a048a04fcf7d73e12662288e5)

8 years agoisisd: fix minor & vs. && mix-up
David Lamparter [Tue, 3 Mar 2015 08:07:43 +0000 (09:07 +0100)]
isisd: fix minor & vs. && mix-up

apparently we were displaying all IPv6 reachabilities as external.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: don't use POSIX reserved y1/yn names
David Lamparter [Tue, 3 Mar 2015 07:56:35 +0000 (08:56 +0100)]
isisd: don't use POSIX reserved y1/yn names

y1 and yn are POSIX standard names for Bessel functions.  For
consistency, just rename all of these variables from "y" to "yy".

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agobgpd, zebra: fix struct/pointer sizeof mixups
David Lamparter [Tue, 3 Mar 2015 07:54:54 +0000 (08:54 +0100)]
bgpd, zebra: fix struct/pointer sizeof mixups

Two places were taking sizeof(pointer) instead of the sizeof(struct),
while performing operations on the struct.  Both are initialisation
functions;  I guess we haven't seen fallout since they weren't critical.
Fix anyway.

[v2: fix mistake that actually broke bgpd RS workqueue init]
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit d43f8b39b075fe60e0c8fdb33b07b284d3fae503)

8 years ago*: add/cleanup initialisers
David Lamparter [Tue, 3 Mar 2015 08:07:25 +0000 (09:07 +0100)]
*: add/cleanup initialisers

There were some (inconsequential) warnings about uninitialised use of
variables.  Also, in one case, sub-structs were mixed in initialisation,
which doesn't quite work as intended.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years ago*: add missing includes
David Lamparter [Tue, 3 Mar 2015 07:55:54 +0000 (08:55 +0100)]
*: add missing includes

Some places, particularly headers, were spewing warnings since they
don't include neccessary other headers to get struct/enum definitions.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 388f8857eb81ef75014060976776523a58a99389)

8 years ago*: fix signedness mix-ups
David Lamparter [Tue, 3 Mar 2015 07:55:26 +0000 (08:55 +0100)]
*: fix signedness mix-ups

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 21401f3215be26dcb0f787105f5907745498e966)

8 years agobgpd, lib, vtysh: hook up bgp VPNv6 CLI node
vivek [Tue, 7 Jun 2016 02:29:05 +0000 (19:29 -0700)]
bgpd, lib, vtysh: hook up bgp VPNv6 CLI node

Signed-off-by: Lou Berger <lberger@labn.net>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 13c378d96a57017f5995b2e0df46cfc31123f0e8)

Conflicts:
bgpd/bgp_vty.c
bgpd/bgpd.c
vtysh/vtysh_config.c

8 years agobgpd: wire up VPNv6 protocol processing
Lou Berger [Tue, 12 Jan 2016 18:41:55 +0000 (13:41 -0500)]
bgpd: wire up VPNv6 protocol processing

There wasn't much missing for VPNv6 to begin with; just a few bits of
de- & encoding and a few lists to be updated.

Signed-off-by: Lou Berger <lberger@labn.net>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
[Editorial note: Signed-off-by may imply an authorship claim, but need not]

Edited-by: Paul Jakma <paul.jakma@hpe.com> / <paul@jakma.org>
(cherry picked from commit 9da04bca0e994ec92b9242159bf27d89c6743354)

Conflicts:
bgpd/bgp_attr.c
bgpd/bgp_mplsvpn.c
bgpd/bgpd.c

8 years agobgpd: handle AS4 and EOI route distinguishers
Lou Berger [Tue, 12 Jan 2016 18:41:54 +0000 (13:41 -0500)]
bgpd: handle AS4 and EOI route distinguishers

Signed-off-by: Lou Berger <lberger@labn.net>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit a03bd16eedc5077e98716509b8918ed365227e02)

Conflicts:
bgpd/bgp_mplsvpn.c

8 years agobgpd: make _vpnv4 static handling SAFI-agnostic
Lou Berger [Tue, 12 Jan 2016 18:41:53 +0000 (13:41 -0500)]
bgpd: make _vpnv4 static handling SAFI-agnostic

This changes the existing _vpnv4 functions for MPLS-VPN into
SAFI-agnostic functions, renaming them from *_vpnv4 to *_safi.

Also adds route-map support while at it.

Signed-off-by: Lou Berger <lberger@labn.net>
Reviewed-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit a76d9ca3584c1751a592457c167c1e146648ceb6)

Conflicts:
bgpd/bgp_route.c

8 years agolib: add "show commandtree" CLI command
Lou Berger [Tue, 12 Jan 2016 18:41:48 +0000 (13:41 -0500)]
lib: add "show commandtree" CLI command

Signed-off-by: Lou Berger <lberger@labn.net>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit f9ec4190f1eaf2dba355a9808bca8d7148bc8a55)

8 years agolib: fix bookkeeping for libreadline malloc()s
Lou Berger [Tue, 12 Jan 2016 18:41:46 +0000 (13:41 -0500)]
lib: fix bookkeeping for libreadline malloc()s

When libreadline is used, we mistakenly mix in strdup() done in
libreadline with Quagga's lib/memory bookkeeping/counting, leading to
counter underflows on MTYPE_TMP.

Signed-off-by: Lou Berger <lberger@labn.net>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 672900382d47137638086bd8351b2678f589a546)

Conflicts:
lib/command.c

8 years agobgpd: Fix graceful restart capability minsize
Lou Berger [Wed, 10 Feb 2016 14:24:00 +0000 (14:24 +0000)]
bgpd: Fix graceful restart capability minsize

* bgp_open.c: cap_minsize should be CAPABILITY_CODE_RESTART_LEN for RESTART
  not 6.

(cherry picked from commit 7748fdc757a2181649dd4956f2767545673ef28d)

8 years agolib, bgpd: Fixup afi_t to be an enum and cleanup zebra.h
Donald Sharp [Thu, 7 Jan 2016 14:33:28 +0000 (09:33 -0500)]
lib, bgpd: Fixup afi_t to be an enum and cleanup zebra.h

This code change does two things:

1) Removes ZEBRA_AFI_XXX #defines since they were redundant information
2) Switches afi_t to an enumerated type so that the compiler
can do a bit more compile time checking.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit f3cfc46450cccc5ac035a5a97c5a1a5484205705)

Conflicts:
bgpd/bgp_open.c
bgpd/bgp_open.h
bgpd/bgp_routemap.c

8 years agobgpd: bgp_scan shouldn't queue up route_nodes with no routes for processing
Paul Jakma [Tue, 1 Dec 2015 14:32:11 +0000 (14:32 +0000)]
bgpd: bgp_scan shouldn't queue up route_nodes with no routes for processing

* bgp_nexthop.c: (bgp_scan) There is little point queueing an rn with no routing
  information for processing.
* bgp_route.c: (bgp_process) Do nothing on rn's with no routes. Add an assert
  for now, to try catch any other cases, but prob should be removed.
  (bgp_best_selection) rn with no routes == finish early.

(cherry picked from commit 91b9e8547a7c5697d5d7481f9476778077024019)

Conflicts:
bgpd/bgp_nexthop.c
bgpd/bgp_route.c

8 years agobgpd: Update error subcode for OPEN message
vivek [Mon, 6 Jun 2016 19:14:21 +0000 (12:14 -0700)]
bgpd: Update error subcode for OPEN message

Updates: 695ef95fd7d5d8e48e2406092a2f52c8c9c784f3

8 years agobgpd: Check capability falls on right multiple of size, where possible.
Paul Jakma [Wed, 25 Nov 2015 17:14:35 +0000 (17:14 +0000)]
bgpd: Check capability falls on right multiple of size, where possible.

* bgp_open.c: (cap_modsizes) Table of multiple a capability's data size
  should fall on, if applicable.
  (bgp_capability_parse) Check the header lengthcap_modsizes should fall on.

  Inspiration from Cumulus bgpd-capability-cleanup.patch patch, with a
  slightly different approach.

Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit 4078f2eb7a3a94ddb30cfd8b76b054e790aab524)

8 years agoMerge branch 'cmaster-next' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into...
vivek [Mon, 6 Jun 2016 17:41:13 +0000 (10:41 -0700)]
Merge branch 'cmaster-next' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster-next

8 years agobgpd: update rtt on soft clear
Timo Teräs [Thu, 22 Oct 2015 08:35:18 +0000 (11:35 +0300)]
bgpd: update rtt on soft clear

rtt is calculated dynamically by the kernel. Refresh it on
soft clear.

Fixes: ef757700d0 "bgpd: allow using rtt in route-map's set metric"
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
(cherry picked from commit 5a2a1ec18c89daec5de6690a9b0f47c0d11a0f2d)

Conflicts:
bgpd/bgpd.c

8 years agopimd: Allow (*,G) igmp joins to work.
Donald Sharp [Mon, 6 Jun 2016 16:27:11 +0000 (12:27 -0400)]
pimd: Allow (*,G) igmp joins to work.

Start the implementation of accepting (*,G)
igmpv3 joins.

Ticket: CM-7894
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agobgpd: check rtt later after the real peer is known
Timo Teräs [Thu, 22 Oct 2015 08:35:17 +0000 (11:35 +0300)]
bgpd: check rtt later after the real peer is known

OPEN message handler moves the connection from the temporary
"struct peer" (used to accept it) to the real "struct peer" based
on the configuration. RTT needs to be updated only to the real
struct peer, and this patch moves the RTT query to point where
realpeer is known.

Fixes: ef757700d0 "bgpd: allow using rtt in route-map's set metric"
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
(cherry picked from commit 0edba8b6ad9c83fa0a3cc58765fe9f123f4109ac)

Conflicts:
bgpd/bgp_packet.c

8 years agobgpd: Make bgp_info_cmp robust to paths that do not have su_remote info
Timo Teräs [Wed, 24 Jun 2015 12:27:21 +0000 (15:27 +0300)]
bgpd: Make bgp_info_cmp robust to paths that do not have su_remote info

My original su_remote == NULL check is not correct. It seems that

* bgp_route.c: (bgp_info_cmp) Some bgp_info is compared with su_remote=NULL
  and it's supposed to be perfectly legal.  E.g.  configured subnet announces
  ("network a.b.c.d/n"). Ensure bgp_info_cmp is robust if such a path gets
  as far as the neighbour address comparison step.

(cherry picked from commit 2820a01eed1c616d490ddbfd17793c19597459d1)

Conflicts:
bgpd/bgp_route.c

8 years agobgpd: Compile fix for clearing-completion FSM fix, using workqueue helper.
Paul Jakma [Tue, 15 Sep 2015 15:17:22 +0000 (16:17 +0100)]
bgpd: Compile fix for clearing-completion FSM fix, using workqueue helper.

(cherry picked from commit 782fb0770080d0e2970fc63af8645e82543aa4d0)

Conflicts:
bgpd/bgp_fsm.c

8 years agozebra: simplify redistribution code
Timo Teräs [Fri, 22 May 2015 10:41:00 +0000 (13:41 +0300)]
zebra: simplify redistribution code

Merge the conditionals as one to avoid code duplication.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit f85592e05ae6463727433893e61afd1081fcf7e0)

Conflicts:
zebra/redistribute.c

8 years agoMerge branch 'cmaster-next' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into...
vivek [Mon, 6 Jun 2016 15:43:54 +0000 (08:43 -0700)]
Merge branch 'cmaster-next' of ssh://stash.cumulusnetworks.com:7999/quag/quagga into cmaster-next

8 years agopimd: igmp_add_group_by_addr remove unneeded parameter
Donald Sharp [Mon, 6 Jun 2016 13:28:43 +0000 (09:28 -0400)]
pimd: igmp_add_group_by_addr remove unneeded parameter

We were passing in the interface name when we were also
passing in the igmp pointer which has this information.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agopimd: Remove unnecessary parameter
Donald Sharp [Mon, 6 Jun 2016 13:17:40 +0000 (09:17 -0400)]
pimd: Remove unnecessary parameter

We were already passing in the interface name, no need
to do it twice.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agopimd: Remove dead code.
Donald Sharp [Mon, 6 Jun 2016 12:32:21 +0000 (08:32 -0400)]
pimd: Remove dead code.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agobgpd: allow using rtt in route-map's set metric
Timo Teräs [Wed, 29 Apr 2015 06:43:04 +0000 (09:43 +0300)]
bgpd: allow using rtt in route-map's set metric

Useful when the BGP neighbors are over tunnels that have large
differences in geographic distances and RTTs. Especially useful
for DMVPN setups to allow preferring closes hub.

The parameter is added as new alias command as otherwise it seems
the command parser is not able to match it properly (it seems
merging is done for the various 'set metric' route-map objects in
different routing engines). For same reason also they are listed
as three separate options: optional +/- seems not possibly easily.

Related research papers:
http://www.pps.univ-paris-diderot.fr/~jch/research/delay-based.pdf
http://arxiv.org/pdf/1309.0632.pdf

Paper on similar extension to Babel:
http://www.pps.univ-paris-diderot.fr/~jch/research/rapport-jonglez-2013.pdf

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit ef757700d0fd51dc0b46df9d3631208919f9b779)

8 years agobgpd: refactor route-map objects modifying integer values
Timo Teräs [Wed, 29 Apr 2015 06:43:02 +0000 (09:43 +0300)]
bgpd: refactor route-map objects modifying integer values

Use common code to parse, validate and adjust the route-map
objects that contain a simple integer value. This also allows
compiling the add/sub format metric object.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
(cherry picked from commit 38f22ab07c8e1f0f12e23c2e2d0a3e1f71bef695)

Conflicts:
bgpd/bgp_routemap.c

8 years agolib, bgpd: Fixup some more compile errors due to warnings
Donald Sharp [Sat, 4 Jun 2016 23:12:18 +0000 (19:12 -0400)]
lib, bgpd: Fixup some more compile errors due to warnings

Original cherry-pick done on a fedora box with a completely
different compiler.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years ago"quagga reload" needs python-ipaddr, but it isn't a pkg dependency
Daniel Walton [Thu, 2 Jun 2016 11:49:57 +0000 (04:49 -0700)]
"quagga reload" needs python-ipaddr, but it isn't a pkg dependency

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
Ticket: CM-10563

8 years agovtysh: Add code to allow pimd show running specific
Donald Sharp [Wed, 1 Jun 2016 19:34:21 +0000 (15:34 -0400)]
vtysh: Add code to allow pimd show running specific

Add code to allow the show run command to accept and
display the pimd specific configuration.

Ticket: CM-11218
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agopimd: Add support for displaying ip mroute
Donald Sharp [Wed, 1 Jun 2016 19:31:02 +0000 (15:31 -0400)]
pimd: Add support for displaying ip mroute

When you enter a static mroute under an interface
the 'show run' is not displaying this information.
Add code to allow this.

Ticket: CM-11257
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agozebra: Remove experimental warning
Donald Sharp [Wed, 1 Jun 2016 15:44:16 +0000 (11:44 -0400)]
zebra: Remove experimental warning

Remove the pimd experimental warnings that are being
displayed for some commands.

Ticket: CM-6128
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agopim: Fix 'no ip pim sm'
Donald Sharp [Wed, 1 Jun 2016 15:26:29 +0000 (11:26 -0400)]
pim: Fix 'no ip pim sm'

The 'no ip pim sm' command was not being accepted.
Additionally fix the help output

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: Fix unprotected zlog_debug
Donald Sharp [Wed, 1 Jun 2016 13:12:07 +0000 (09:12 -0400)]
zebra: Fix unprotected zlog_debug

Fixing an unprotected zlog_debug.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agopimd: Allow command zclient to find it's data
Donald Sharp [Wed, 1 Jun 2016 01:27:48 +0000 (21:27 -0400)]
pimd: Allow command zclient to find it's data

pim has two zclient sockets to zebra.  One
is used exclusively to do mrib lookups.  The
other is to do the normal day to day communication
between pim and zebra.  With the change
to the zebra api to send up all data to all
sockets this caused the mrib lookup socket
to accumulate data in between mrib lookups.
So if at some point in time we get upcoming
data but no mrib lookups modify the code
to find the mrib lookup it is looking for.

Long term we need to figure something else out
but this change will get us moving forward again.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years ago*: use void * for printing pointers
David Lamparter [Tue, 3 Mar 2015 07:51:53 +0000 (08:51 +0100)]
*: use void * for printing pointers

On higher warning levels, compilers expect %p printf arguments to be
void *.  Since format string / argument warnings can be useful
otherwise, let's get rid of this noise by sprinkling casts to void *
over printf calls.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years ago*: use long long to print time_t
David Lamparter [Tue, 3 Mar 2015 07:48:11 +0000 (08:48 +0100)]
*: use long long to print time_t

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)

8 years agozclient: Revert lib export of zclient_socket()/zclient_socket_un().
Everton Marques [Tue, 23 Sep 2014 17:33:34 +0000 (14:33 -0300)]
zclient: Revert lib export of zclient_socket()/zclient_socket_un().

8 years agozebra_rib: Revert work-around for zebra marking recursive static route as inactive.
Everton Marques [Tue, 23 Sep 2014 17:05:55 +0000 (14:05 -0300)]
zebra_rib: Revert work-around for zebra marking recursive static route as inactive.

8 years agozebra_rib: Revert debug hooks.
Everton Marques [Mon, 22 Sep 2014 21:00:15 +0000 (18:00 -0300)]
zebra_rib: Revert debug hooks.

8 years agozebra: Export zclient_socket_un().
Everton Marques [Thu, 3 Jul 2014 17:53:44 +0000 (14:53 -0300)]
zebra: Export zclient_socket_un().