]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
12 years agolib: bump ZSERV_VERSION to 2
David Lamparter [Fri, 20 Apr 2012 15:26:48 +0000 (17:26 +0200)]
lib: bump ZSERV_VERSION to 2

continually changing the zserv protocol without bumping up the version
number has made it impossible to talk to zebra without knowing the exact
version.  in reality, increasing the version number more often guards
against inadvertedly running incompatible versions of a daemon and zebra
as well as aids external development.

  * lib/zclient.h: #define ZSERV_VERSION 2

Signed-off-by: David Lamparter <equinox@diac24.net>
12 years agoRevert "zebra: clean up client routes when client goes away"
David Lamparter [Fri, 20 Apr 2012 15:23:39 +0000 (17:23 +0200)]
Revert "zebra: clean up client routes when client goes away"

This reverts commit af56d404cd56d94ad3b2ec3f159650eb72baef0a,
which was accidentally duplicating functionality from commit
2ea1ab1 "zebra: ZEBRA_HELLO and mopping up routes (BZ#448)"

Conflicts:

zebra/zebra_rib.c

Signed-off-by: David Lamparter <equinox@diac24.net>
12 years agobgpd: Fix crash when disabling dampening (BZ#687)
Jorge Boncompte [DTI2] [Fri, 13 Apr 2012 11:46:09 +0000 (13:46 +0200)]
bgpd: Fix crash when disabling dampening (BZ#687)

    Vladimir Podobaev reported that the following commands crashed the
daemon.

router bgp 123
 bgp dampening
 no bgp dampening 1 2 3 4
 no bgp dampening

    The problem was that bgp_damp_info_clean() tried to dereference the
already freed reuse_list array in the second call to "no bgp dampening".

    Fixed by checking in bgp_damp_disable() that the dampening it's
enabled before doing the cleanup.

Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
12 years agoospfd: Fixes a crash of the daemon with a snmp walk
Jorge Boncompte [DTI2] [Mon, 9 Apr 2012 16:03:57 +0000 (18:03 +0200)]
ospfd: Fixes a crash of the daemon with a snmp walk

    - And allows to walk the LSDB.

Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
12 years agozebra: use larger buffer (4096) for netlink messages
JR Rivers [Sun, 1 Apr 2012 19:16:31 +0000 (12:16 -0700)]
zebra: use larger buffer (4096) for netlink messages

Increase the maximum number of nexthops per route by using a larger
buffer for netlink messages.

  * zebra/rt_netlink.c: Use a buffer of 4096 bytes to parse/build
    netlink messages. Add a hash define for this number
    (NL_PKT_BUF_SIZE). Most places in the code were previously using a
    buffer of 1024 bytes.

12 years agoisisd: merge osr/google-is-is
David Lamparter [Mon, 16 Apr 2012 16:24:40 +0000 (18:24 +0200)]
isisd: merge osr/google-is-is

this is essentially half of a rewrite of isisd. please note that a lot
of things are still broken and isisd is not ready for production use.

12 years agoquagga: option "-z" ("--socket <path>") added
Vyacheslav Trushkin [Fri, 25 Nov 2011 14:51:48 +0000 (18:51 +0400)]
quagga: option "-z" ("--socket <path>") added

All daemons modified to support custom path to zserv
socket.

[reapplied from b511468 after isisd merge]

12 years agoisisd: indent longopts array
Vyacheslav Trushkin [Fri, 25 Nov 2011 13:56:21 +0000 (17:56 +0400)]
isisd: indent longopts array

12 years agoisisd: reapply removal of CVS cruft
David Lamparter [Mon, 16 Apr 2012 16:14:50 +0000 (18:14 +0200)]
isisd: reapply removal of CVS cruft

this re-removes CVS keywords and .cvsignore files. original commits:
b82cdeb delete CVS keywords
05e54ee build: delete .cvsignore files

12 years agobgpd: merge osr/quagga-osr-patches (BZ#700)
David Lamparter [Mon, 16 Apr 2012 14:46:13 +0000 (16:46 +0200)]
bgpd: merge osr/quagga-osr-patches (BZ#700)

this merges a bgp capability negotiation fix where bgpd would fail if no
multiprotocol capability was present, but other capabilities were.

12 years agobgpd: merge osr/google-bgp-multipath
David Lamparter [Mon, 16 Apr 2012 11:54:37 +0000 (13:54 +0200)]
bgpd: merge osr/google-bgp-multipath

this patchset allows collapsing multiple received routes in BGP into one
multipath route that will, if readvertised, contain an aggregate of all
received attributes.

12 years agoisisd: reapply patch to fix zebra protocol
Avneesh Sachdev [Thu, 12 Apr 2012 06:56:03 +0000 (23:56 -0700)]
isisd: reapply patch to fix zebra protocol

Reapply the bits of revision b4e45f6 that pertain to isisd. That is:
  git log -n 1 -p b4e45f6 -- isisd

These were dropped in the merge with the Google ISIS code (14d2bbaa).

The commit message for b4e45f6 is:

    fix zebra protocol after MP-BGP changes

    The previous commits modified both zebra and bgpd for additional
    SAFI field, but not any other routing daemon, which led to zebra
    daemon crashing with failed assertion.

12 years agoMerge quagga mainline into the google ISIS code.
Avneesh Sachdev [Thu, 12 Apr 2012 06:51:08 +0000 (23:51 -0700)]
Merge quagga mainline into the google ISIS code.

The steps were:

  $ git checkout google-is-is
  $ git merge quagga
  $ git checkout google-is-is -- isisd

  # Resolve conflicts in the following:
  lib/md5.h
  zebra/rt_netlink.c
  zebra/zebra_rib.c
  zebra/zserv.c

Note that the content in the isisd directory is left unchanged in the
merge. As a result, changes made to isisd as part of the following
commits on the quagga mainline are dropped.

  # 8ced4e82 is the merge base, e96b3121 is the current quagga master
  $ git log --oneline --reverse 8ced4e82..e96b3121 -- isisd
  5574999 isisd: fix crash on "no router isis" (BZ#536)
  8998075 isisd: raise hello rate for DIS (BZ#539)
  306ca83 isisd: include hash.h, not hash.c
  b82cdeb delete CVS keywords
  2f65867 isisd: indent longopts array
  b511468 quagga: option "-z" ("--socket <path>") added
  05e54ee build: delete .cvsignore files
  b4e45f6 fix zebra protocol after MP-BGP changes
  7fd6cd8 isisd: fix circuit state machine
  907fd95 isisd: send proper LSP after DIS election
  d034aa0 isisd: fix wrong next-hops from SPF
  c25eaff isisd: unexpected kernel routing table (BZ#544)
  e6b03b7 isisd: implement MD5 circuit authentication

12 years agoospfd: adjust OSPF_ROUTER_LSA_MIN_SIZE for VL case
Denis Ovsienko [Tue, 3 Apr 2012 16:33:24 +0000 (20:33 +0400)]
ospfd: adjust OSPF_ROUTER_LSA_MIN_SIZE for VL case

12 years agoMerge branch 'quagga' into google-bgp-multipath
Avneesh Sachdev [Mon, 9 Apr 2012 07:25:15 +0000 (00:25 -0700)]
Merge branch 'quagga' into google-bgp-multipath

Conflicts:
bgpd/bgp_route.c

12 years agobgpd: fix issue in capability negotiation (BZ#700)
Avneesh Sachdev [Sun, 19 Feb 2012 18:19:52 +0000 (10:19 -0800)]
bgpd: fix issue in capability negotiation (BZ#700)

Address problem where bgpd would reject a session if a peer sent some
capabilities in its Open message, but did not include a Multiprotocol
extensions capability. Note that the session would come up if there
were no capabilities at all in the Open message.

  * Add the 'mp_capability' out parameter to
    bgp_capability_parse(). Set it to '1' if a Multiprotocol
    extensions capability is encountered.

  * Switch on 'mp_capability' instead of 'capability' in the calling
    functions to determine if the peer indicated the set of AFI/SAFIs
    it supports.

    The net result is that when a peer does not send an MP capability,
    it is assumed to support the AFI/SAFIs configured for it locally.

12 years agozebra: include hardware addr in if up/down messages
Josh Bailey [Thu, 22 Mar 2012 00:13:39 +0000 (17:13 -0700)]
zebra: include hardware addr in if up/down messages

Change interface up/down notification messages to also include the
hardware address of the interface. The format of these messages is now
identical to the interface add message -- move the serialization code
to common functions.

  * lib/zclient.c: Modify zebra_interface_if_set_value() to also parse
    the hardware address. Invoke it from zebra_interface_add_read()
    and and zebra_interface_state_read().

  * zebra/zserv.c: Add zserv_encode_interface(). Invoke it from
    zserv_interface_add(), zserv_interface_delete() and
    zserv_interface_update().

12 years agolib: Tweak to if_delete_retain()
Josh Bailey [Wed, 21 Mar 2012 17:37:03 +0000 (10:37 -0700)]
lib: Tweak to if_delete_retain()

  * lib/if.c: Change if_delete_retain() to delete all connected
    addresses, but to not free the list that holds them. Free the list
    just before the interface structure itself is freed, in
    if_delete().

12 years agozebra: clean up client routes when client goes away
Josh Bailey [Thu, 22 Mar 2012 01:47:51 +0000 (18:47 -0700)]
zebra: clean up client routes when client goes away

  * zebra/zebra_rib.c: Add code to clean up routes added by a client
    (as identfied by 'rib type').

  * zebra/zserv.[ch]: Maintain the type of the routes added by a
    client on the 'zserv' structure -- assume that a given client uses
    a single route type for now.

    Clean up routes from a client when the client goes away (in
    zebra_client_close()).

From: Josh Bailey <joshb@google.com>
Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@diac24.net>
12 years agozebra: add more logs/asserts to rib work queue code
Subbaiah Venkata [Tue, 27 Mar 2012 23:35:22 +0000 (16:35 -0700)]
zebra: add more logs/asserts to rib work queue code

  * zebra/zebra_rib.c: (rib_queue_add, rib_queue_init) Add some more
    logs and asserts.

From: Subbaiah Venkata <svenkata@google.com>
Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@diac24.net>
12 years agoisisd: couple of bug fixes
Subbaiah Venkata [Wed, 28 Mar 2012 06:48:05 +0000 (23:48 -0700)]
isisd: couple of bug fixes

12 years agoisisd: add Google's changes to IS-IS
Josh Bailey [Sat, 24 Mar 2012 15:35:20 +0000 (08:35 -0700)]
isisd: add Google's changes to IS-IS

12 years agozebra: tweak deletion of routes without nexthop addr
Subbaiah Venkata [Wed, 28 Mar 2012 02:21:29 +0000 (19:21 -0700)]
zebra: tweak deletion of routes without nexthop addr

  * zebra/zserv.c

    - zread_ipv4_delete(): Pass a null 'gate' parameter to
      rib_delete_ipv4() if the route being deleted does not specify a
      next hop IP address. We were previously passing a pointer to a
      cleared out IP address.

    - zread_ipv4_add(): Fix indentation.

From: Subbaiah Venkata <svenkata@google.com>
Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@diac24.net>
12 years agozebra: read multipath routes and hw addr from netlink
Josh Bailey [Thu, 22 Mar 2012 08:09:21 +0000 (01:09 -0700)]
zebra: read multipath routes and hw addr from netlink

  * zebra/rt_netlink.c:

    - Pick up the hardware address of an interface when we receive a
      netlink link change message. Extract code for parsing the
      link-layer hardware address into a new function so we can reuse
      it.

    - netlink_routing_table(): Update to handle multipath routes.

    - netlink_route_change(): Update to handle multipath routes. Fix
      problem where the metric was not being read out.

  * zebra/zebra_rib.[ch]: Extern nexthop_ipv4_ifindex_add() -- it is
    now called from the netlink code.

From: Josh Bailey <joshb@google.com>
Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@diac24.net>
12 years agolib: add stream_set_endp()
Subbaiah Venkata [Sat, 24 Mar 2012 20:10:19 +0000 (13:10 -0700)]
lib: add stream_set_endp()

  * lib/stream.[ch]:

    - Add stream_set_endp(). This can be used to trim data (for
      example, padding) at the end of a stream.

    - Fix swapped 'getp' and 'endp' parameters in STREAM_WARN_OFFSETS.

From: Subbaiah Venkata <svenkata@google.com>
Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@diac24.net>
12 years agolib: add support for keyed-hashing with MD5
Josh Bailey [Wed, 21 Mar 2012 17:22:19 +0000 (10:22 -0700)]
lib: add support for keyed-hashing with MD5

  * lib/md5.[ch] Add implementation of HMAC-MD5 from RFC 2104.

From: Josh Bailey <joshb@google.com>
Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@diac24.net>
12 years agolib: Tweaks to linked list macros
Josh Bailey [Wed, 21 Mar 2012 17:00:07 +0000 (10:00 -0700)]
lib: Tweaks to linked list macros

  * lib/linklist.h

    - Change the listnextnode, listhead and listtail macros so that
      they allow the list pointer to be NULL.

    - Modify the ALL_LIST_ELEMENTS* macros such that they clear the
      data pointer at the beginning and end of the loop.

From: Josh Bailey <joshb@google.com>
Signed-off-by: Avneesh Sachdev <avneesh@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@diac24.net>
12 years agolib: pretty ip_masklen and masklen2ip
David Lamparter [Tue, 3 Apr 2012 22:14:36 +0000 (00:14 +0200)]
lib: pretty ip_masklen and masklen2ip

nonwithstanding any desire for optimisation, these versions are shorter
and more concise.  reading the comments, they might even be easier to
understand.

I've tested them on i686 and x86_64, and checked that correct assembler
code is emitted for ARM, MIPS and PowerPC.

IPv6 is left as an exercise for another day, none of the ideas I had led
to a "yes, this is the one to go with" solution.

Signed-off-by: David Lamparter <equinox@diac24.net>
12 years agoRevert "lib: optimize ip_masklen()" (BZ#720)
David Lamparter [Fri, 23 Mar 2012 21:48:05 +0000 (22:48 +0100)]
Revert "lib: optimize ip_masklen()" (BZ#720)

This reverts commit d171bf58ef12ace43d48565e6870722dece1e6ed.

There are multiple reasons for this revert, including bug #720, but also
quite simply the unreadability of having 2000 lines of an autogenerated
table in the middle of a source file.

Signed-off-by: David Lamparter <equinox@diac24.net>
Reported-by: Martin Winter <mwinter@opensourcerouting.org>
12 years agobgpd: bgp_attr_flags_diagnose shouldn't assert
Paul Jakma [Tue, 27 Mar 2012 10:54:04 +0000 (11:54 +0100)]
bgpd: bgp_attr_flags_diagnose shouldn't assert

* bgpd/bgp_attr.c: (bgp_attr_flags_diagnose) debug code for error-handling
  paths probably shouldn't assert, instead it should just log that there
  was no problem.

12 years agobgpd: attr_parse call to attr_malformed should deal with PROCEED error case
Paul Jakma [Sun, 25 Mar 2012 20:31:47 +0000 (21:31 +0100)]
bgpd: attr_parse call to attr_malformed should deal with PROCEED error case

* bgpd/bgp_attr.c: (bgp_attr_parse) the invalid flag check call to
  bgp_attr_malformed is pretty useless if it doesn't actually allow
  for the PROCEED non-error case.

12 years agobgpd: Fix silly mistake in bgp_attr_flag_invalid
Paul Jakma [Fri, 23 Mar 2012 14:58:45 +0000 (14:58 +0000)]
bgpd: Fix silly mistake in bgp_attr_flag_invalid

* bgp_attr.c: (bgp_attr_flag_invalid) flags is meant to be masked
  off with the mask variable...

12 years agobgpd: malformed attribute error that can still proceed should fixup getp
Paul Jakma [Thu, 15 Mar 2012 11:30:00 +0000 (11:30 +0000)]
bgpd: malformed attribute error that can still proceed should fixup getp

* bgp_attr.c: (bgp_attr_malformed) When a malformed attribute error can be
  ignored, and BGP message processing may still proceed, the stream getp
  should be adjusted to the end of the attribute - the caller may not have
  consumed all the attribute. Problem noted by Martin Winter in bug 678.

  Also, rename the 'startp' local to 'notify_datap', for clarity.

12 years agoMerge branch 'babeld-merge' into master-copy
Paul Jakma [Sun, 25 Mar 2012 16:10:22 +0000 (17:10 +0100)]
Merge branch 'babeld-merge' into master-copy

12 years agobabeld: remove "parasitic" mode.
Juliusz Chroboczek [Tue, 14 Feb 2012 14:43:34 +0000 (15:43 +0100)]
babeld: remove "parasitic" mode.

This is the functionality described in Appendix C of RFC 6126.  Its
main purpose is to avoid keeping a full source table, which makes it
possible to implement a subset of Babel in just a few hundred lines of
code.  However, in Quagga the code for maintaining the source table is
already there, and a parasitic implementation can be simulated using
filtering -- so it makes little sense to keep the functionality.

12 years agobabeld: 3 more timing statements in config text
Denis Ovsienko [Tue, 14 Feb 2012 11:12:03 +0000 (15:12 +0400)]
babeld: 3 more timing statements in config text

This commit makes the following lines visible in running-config text,
when respective intervals are configured to non-default values:

* babel hello-interval
* babel update-interval
* babel resend-delay

12 years agobabeld: consolidate zebra interface into fewer functions.
Juliusz Chroboczek [Tue, 14 Feb 2012 10:22:29 +0000 (11:22 +0100)]
babeld: consolidate zebra interface into fewer functions.

12 years agobabeld: fix typo in kernel_route_add_v6.
Juliusz Chroboczek [Tue, 14 Feb 2012 10:17:32 +0000 (11:17 +0100)]
babeld: fix typo in kernel_route_add_v6.

12 years agobabeld: set interface flags eagerly, not at interface up.
Juliusz Chroboczek [Tue, 14 Feb 2012 08:09:32 +0000 (09:09 +0100)]
babeld: set interface flags eagerly, not at interface up.

12 years agobabeld: more helpful sample conf file.
Juliusz Chroboczek [Tue, 14 Feb 2012 07:53:51 +0000 (08:53 +0100)]
babeld: more helpful sample conf file.

12 years agobabeld: fix documentation.
Juliusz Chroboczek [Tue, 14 Feb 2012 07:52:19 +0000 (08:52 +0100)]
babeld: fix documentation.

12 years agobabeld: remove remains of standalone babeld's configuration code.
Juliusz Chroboczek [Tue, 14 Feb 2012 07:49:57 +0000 (08:49 +0100)]
babeld: remove remains of standalone babeld's configuration code.

Standalone babeld has a configuration interface that is not used in
Quagga.  This removes a few bits of this code that survived the
port to Quagga.

12 years agobabeld: drive interface_config_write() forward
Denis Ovsienko [Mon, 13 Feb 2012 18:13:37 +0000 (22:13 +0400)]
babeld: drive interface_config_write() forward

12 years agobabeld: justify "running-config" meaning in CLI
Denis Ovsienko [Sat, 11 Feb 2012 17:06:16 +0000 (21:06 +0400)]
babeld: justify "running-config" meaning in CLI

The primary focus of this commit is to make "show running-config"
command display more current configuration, including some of the bits
previously seen in the output of "show babel running-config". Besides
that, the following commands were renamed for consistency with the
syntax of other components:

"debug *" to "debug babel *" (and moved to top level)
"show babel running-config" to "show babel parameters"

* babel_interface.c
  * show_babel_running_config(): rename to show_babel_parameters(),
    update syntax pattern, don't call show_babeld_configuration()
  * babel_if_init(): update respectively
  * babel_enable_if_config_write(): new VTY helper for static
    babel_enable_if
* babel_interface.h: add extern declaration
* babel_main.c: unset all debug options by default
  * show_babel_main_configuration(): remove debug options decoder
* babel_zebra.c
  * babel_debug(): rename to debug_babel(), update syntax pattern
  * no_babel_debug(): rename to no_debug_babel(), update syntax pattern
  * babelz_zebra_init(): update respectively
  * debug_babel_config_write() new VTY helper for static debug_type
* babel_zebra.h: add extern declaration
* babeld.c
  * babel_config_write(): add the code to output "debug babel *",
    "router babel", "redistribute *" and "network *" statements
  * show_babeld_configuration(): dismiss
* babeld.h: remove extern declaration
* babeld.texi: update for renamed commands
* babeld.conf.sample: idem, add debug statements block

12 years agoRemove dead variable reboot_time.
Juliusz Chroboczek [Sat, 11 Feb 2012 16:48:05 +0000 (17:48 +0100)]
Remove dead variable reboot_time.

Thanks to Denis Ovsienko.

12 years agodoc: fix typo.
Matthieu Boutier [Sat, 11 Feb 2012 14:09:33 +0000 (15:09 +0100)]
doc: fix typo.

12 years agodoc: update babeld documentation.
Juliusz Chroboczek [Sat, 11 Feb 2012 13:28:17 +0000 (14:28 +0100)]
doc: update babeld documentation.

12 years agodoc: fix Makefile dependencies for babeld.
Juliusz Chroboczek [Sat, 11 Feb 2012 13:27:16 +0000 (14:27 +0100)]
doc: fix Makefile dependencies for babeld.

12 years agobabeld: display update-interval and resend-delay in show commands"
Juliusz Chroboczek [Sat, 11 Feb 2012 13:06:24 +0000 (14:06 +0100)]
babeld: display update-interval and resend-delay in show commands"

12 years agobabeld: vty commands (hello-interval, update-interval, resend-delay).
Juliusz Chroboczek [Sat, 11 Feb 2012 13:02:10 +0000 (14:02 +0100)]
babeld: vty commands (hello-interval, update-interval, resend-delay).

12 years agobabeld: remove port and group setting commands.
Juliusz Chroboczek [Sat, 11 Feb 2012 12:34:30 +0000 (13:34 +0100)]
babeld: remove port and group setting commands.

They didn't work anyway, since they're called too late.

12 years agoResynchronise with babeld-1.3.1.
Juliusz Chroboczek [Sat, 11 Feb 2012 12:08:00 +0000 (13:08 +0100)]
Resynchronise with babeld-1.3.1.

12 years agobabeld: dismiss babel_redistribute_unset()
Denis Ovsienko [Sat, 11 Feb 2012 11:25:01 +0000 (15:25 +0400)]
babeld: dismiss babel_redistribute_unset()

The function was effectively duplicating existing
zclient_redistribute(). This makes no_babel_redistribute_type()
consistent with babel_redistribute_type()

12 years agobabeld: fix wire{d,less} commands name.
Matthieu Boutier [Wed, 8 Feb 2012 22:30:46 +0000 (23:30 +0100)]
babeld: fix wire{d,less} commands name.

12 years agoripd: add babel for redistribution.
Matthieu Boutier [Thu, 9 Feb 2012 20:51:17 +0000 (21:51 +0100)]
ripd: add babel for redistribution.

12 years agoripngd: Replace redistribution strings with route_types.h defines.
Matthieu Boutier [Thu, 9 Feb 2012 19:58:07 +0000 (20:58 +0100)]
ripngd: Replace redistribution strings with route_types.h defines.

12 years agobabeld: Add support for blackhole routes.
Juliusz Chroboczek [Thu, 9 Feb 2012 16:23:09 +0000 (17:23 +0100)]
babeld: Add support for blackhole routes.

Babel makes use of blackhole routes to prevent routing loops between
overlapping prefixes shortly after a route is retracted (see RFC 6126
sections 2.8 and 3.5.5).  This patch adds support for installing such
blackhole routes.

12 years agobabeld: refactor filtering stubs.
Juliusz Chroboczek [Thu, 9 Feb 2012 13:06:11 +0000 (14:06 +0100)]
babeld: refactor filtering stubs.

Factorise the common parts of the in/out filtering functions.  This also
fixes a bug with filtered out routes, which in babeld are signalled by
a filter returing INFINITY, not -1.

12 years agozebra: Display uptime of Babel routes in show ip[v6] route.
Juliusz Chroboczek [Thu, 9 Feb 2012 12:42:28 +0000 (13:42 +0100)]
zebra: Display uptime of Babel routes in show ip[v6] route.

12 years agobabeld: Use quagga_gettime.
Juliusz Chroboczek [Thu, 9 Feb 2012 12:35:27 +0000 (13:35 +0100)]
babeld: Use quagga_gettime.

12 years agobabeld: Don't use an ifindex when installing IPv4 routes.
Juliusz Chroboczek [Thu, 9 Feb 2012 11:29:10 +0000 (12:29 +0100)]
babeld: Don't use an ifindex when installing IPv4 routes.

Stand-alone babeld installs routes using both a next-hop gateway
and an interface index.  Unfortunately, this doesn't work for IPv4
under Quagga.

We now ignore the ifindex when installing IPv4 routes, which makes
Babel work for IPv4 in prefix-based networks.  Of course this breaks
IPv4 mesh networks, unless you play some tricks with your interfaces'
netmasks.

12 years agobabeld: remove some unused functions' arguments.
Matthieu Boutier [Tue, 31 Jan 2012 16:09:55 +0000 (17:09 +0100)]
babeld: remove some unused functions' arguments.

12 years agodoc: fix typo in babeld.
Matthieu Boutier [Tue, 7 Feb 2012 23:32:59 +0000 (00:32 +0100)]
doc: fix typo in babeld.

12 years agodoc: Document babeld.
Juliusz Chroboczek [Tue, 7 Feb 2012 15:33:17 +0000 (16:33 +0100)]
doc: Document babeld.

12 years agobabeld: Indentation fix.
Juliusz Chroboczek [Tue, 7 Feb 2012 04:44:41 +0000 (05:44 +0100)]
babeld: Indentation fix.

12 years agobabeld: Error handling and tweaks for babeld commands.
Juliusz Chroboczek [Tue, 7 Feb 2012 04:43:36 +0000 (05:43 +0100)]
babeld: Error handling and tweaks for babeld commands.

12 years agobabeld: Fix typo in hello interval command.
Juliusz Chroboczek [Tue, 7 Feb 2012 04:36:06 +0000 (05:36 +0100)]
babeld: Fix typo in hello interval command.

12 years agovtysh: Vtysh support for babeld.
Juliusz Chroboczek [Tue, 7 Feb 2012 03:58:49 +0000 (04:58 +0100)]
vtysh: Vtysh support for babeld.

12 years agobabeld: Replace the babeld.conf.sample file by one that actually works.
Juliusz Chroboczek [Tue, 7 Feb 2012 03:56:47 +0000 (04:56 +0100)]
babeld: Replace the babeld.conf.sample file by one that actually works.

12 years agobabeld: fix interface bug, simplify code.
Matthieu Boutier [Fri, 27 Jan 2012 23:29:51 +0000 (00:29 +0100)]
babeld: fix interface bug, simplify code.

Perhaps could it be able to free already free memory (so free(NULL)),
in function interface_reset().  On other hand, it initiated untracked
interfaces, raising (at least) inappropriate messages. Finally, I
remove the BABEL_IF_IS_ENABLE flag, witch was not really usefull.
Note the test if_up isn't weaker, because (...IS_UP => ...IS_ENABLE).

12 years agobabeld: state-file was loaded too early. Initial seqno too.
Matthieu Boutier [Sat, 28 Jan 2012 09:35:12 +0000 (10:35 +0100)]
babeld: state-file was loaded too early. Initial seqno too.

12 years agobabeld: fix eui64 features.
Matthieu Boutier [Fri, 27 Jan 2012 23:07:14 +0000 (00:07 +0100)]
babeld: fix eui64 features.

We are interested by eui64 with at least 6 octets.

12 years agobabeld: "return CMD_SUCCESS" was missing for command 'no debug'.
Matthieu Boutier [Fri, 27 Jan 2012 21:54:11 +0000 (22:54 +0100)]
babeld: "return CMD_SUCCESS" was missing for command 'no debug'.

12 years agobabeld: Replace redistribution strings with route_types.h defines.
Matthieu Boutier [Thu, 26 Jan 2012 21:15:34 +0000 (22:15 +0100)]
babeld: Replace redistribution strings with route_types.h defines.

12 years agobabeld: babelz merge.
Matthieu Boutier [Mon, 23 Jan 2012 22:46:32 +0000 (23:46 +0100)]
babeld: babelz merge.

Babelz is the last version of the stand-alone babel daemon. In
particular, it use multiple channels to diminuate
interferences. Please refer to this one for more details.

12 years agobabeld: remove unused variable.
Matthieu Boutier [Sun, 22 Jan 2012 23:22:14 +0000 (00:22 +0100)]
babeld: remove unused variable.

12 years agovtysh: fix regexp for install_element() in babeld
Ang Way Chuang [Fri, 27 Jan 2012 16:52:27 +0000 (20:52 +0400)]
vtysh: fix regexp for install_element() in babeld

12 years agobabeld: add MP-specific zclient API fix
Denis Ovsienko [Sat, 21 Jan 2012 19:16:00 +0000 (23:16 +0400)]
babeld: add MP-specific zclient API fix

Add proper initialization of SAFI field, which is present in the
revisions of zapi_ipv4 and zapi_ipv6 structures specific to
MP-BGP patchset. Without this change no Babel routes could make
into zebra RIB.

12 years agobabeld: change the modify route system.
Matthieu Boutier [Fri, 20 Jan 2012 14:32:16 +0000 (15:32 +0100)]
babeld: change the modify route system.

Zebra doesn't set errno to EEXIST if we add a route who was already in
the kernel, so we always returned after just doing "add; delete". This
patch fix the problem by doing "delete; add" always.

12 years agobabeld: fix bug due to v4mapped addresses.
Matthieu Boutier [Fri, 20 Jan 2012 16:53:57 +0000 (17:53 +0100)]
babeld: fix bug due to v4mapped addresses.

12 years agobabeld: add command (config) to set debug flags.
Matthieu Boutier [Thu, 19 Jan 2012 23:19:35 +0000 (00:19 +0100)]
babeld: add command (config) to set debug flags.

12 years agobabeld: remove useless variable, make local another.
Matthieu Boutier [Thu, 19 Jan 2012 21:38:56 +0000 (22:38 +0100)]
babeld: remove useless variable, make local another.

12 years agomemory: install babel memory informations.
Matthieu Boutier [Thu, 19 Jan 2012 21:37:38 +0000 (22:37 +0100)]
memory: install babel memory informations.

12 years agobabeld: fix commands informations messages.
Matthieu Boutier [Wed, 18 Jan 2012 22:03:00 +0000 (23:03 +0100)]
babeld: fix commands informations messages.

12 years agobabeld: place the babel-state file in the quagga vars directory.
Matthieu Boutier [Wed, 18 Jan 2012 21:06:10 +0000 (22:06 +0100)]
babeld: place the babel-state file in the quagga vars directory.

12 years agobabeld: use zlog_debug instead of do_debugf, for debugf.
Matthieu Boutier [Wed, 18 Jan 2012 19:20:59 +0000 (20:20 +0100)]
babeld: use zlog_debug instead of do_debugf, for debugf.

12 years agobabeld: add command: "show_babel_running_config".
Matthieu Boutier [Thu, 19 Jan 2012 21:36:56 +0000 (22:36 +0100)]
babeld: add command: "show_babel_running_config".

12 years agobabeld: add command: "show_babel_database".
Matthieu Boutier [Wed, 18 Jan 2012 19:01:31 +0000 (20:01 +0100)]
babeld: add command: "show_babel_database".

12 years agobabeld: add command: "show_babel_neighbour".
Matthieu Boutier [Wed, 18 Jan 2012 15:39:29 +0000 (16:39 +0100)]
babeld: add command: "show_babel_neighbour".

12 years agobabeld: avoid segfault (bug 706).
Matthieu Boutier [Tue, 17 Jan 2012 23:52:06 +0000 (00:52 +0100)]
babeld: avoid segfault (bug 706).

12 years agobabeld: change fprintf(stderr) in term of zlog_err.
Matthieu Boutier [Tue, 17 Jan 2012 21:46:21 +0000 (22:46 +0100)]
babeld: change fprintf(stderr) in term of zlog_err.

12 years agobabeld: implement "show babel interface" command
Denis Ovsienko [Tue, 17 Jan 2012 15:25:03 +0000 (19:25 +0400)]
babeld: implement "show babel interface" command

* babel_interface.c
  * show_babel_interface_sub(): new function to process one ifp
  * show_babel_interface(): new function, VTY wrapper
  * babel_if_init(): update respectively

12 years agobabeld: add handling of "-z" cmdline arg
Denis Ovsienko [Tue, 17 Jan 2012 13:04:00 +0000 (17:04 +0400)]
babeld: add handling of "-z" cmdline arg

12 years agobabeld: bring babel_usage() into focus
Denis Ovsienko [Tue, 17 Jan 2012 13:00:20 +0000 (17:00 +0400)]
babeld: bring babel_usage() into focus

12 years agolib: update proto_redistnum() for Babel
Denis Ovsienko [Wed, 11 Jan 2012 14:18:56 +0000 (18:18 +0400)]
lib: update proto_redistnum() for Babel

12 years agobabeld: address remaining -Wcast-qual warnings
Denis Ovsienko [Tue, 10 Jan 2012 11:58:04 +0000 (15:58 +0400)]
babeld: address remaining -Wcast-qual warnings

* net.c
  * babel_send(): arguments are not treated as "const", justify
    declaration
* babel_main.c: declare constant pointers as such

12 years agobabeld: fix bug concerning pidfile.
Matthieu Boutier [Sun, 8 Jan 2012 16:07:10 +0000 (17:07 +0100)]
babeld: fix bug concerning pidfile.

12 years agobabeld: address some other compilation warnings.
Matthieu Boutier [Sun, 8 Jan 2012 15:43:08 +0000 (16:43 +0100)]
babeld: address some other compilation warnings.

12 years agobabeld: address some compilation warnings
Denis Ovsienko [Sun, 8 Jan 2012 12:52:36 +0000 (16:52 +0400)]
babeld: address some compilation warnings

Including system headers is not necessary with zebra.h included and
sometimes results in "__ASSERT_FUNCTION redefined" compilation warning.

* babeld.c
  * babel_distribute_update_interface(): make static
* babel_interface.c
  * interface_config_write(): unused 'babel_ifp'
  * don't include system headers
* message.c
  * send_request(): unused 'babel_ifp'
  * send_multihop_request(): idem
  * don't include system headers
* route.c: don't include system headers
* xroute.c: idem
* source.h: newline at EOF
* message.h: idem

12 years agobabeld: address FreeBSD "struct route" issue
Denis Ovsienko [Sun, 8 Jan 2012 11:29:19 +0000 (15:29 +0400)]
babeld: address FreeBSD "struct route" issue

FreeBSD system headers have their own "struct route", which made it
impossible to compile babeld. Switching babeld to "struct babel_route".