]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
8 years agoUpdate Traffic Engineering Support for OSPFD
Olivier Dugeon [Tue, 19 Apr 2016 14:21:46 +0000 (16:21 +0200)]
Update Traffic Engineering Support for OSPFD

NOTE: I am squashing several commits together because they
do not independently compile and we need this ability to
do any type of sane testing on the patches.  Since this
series builds together I am doing this. -DBS

This new structure is the basis to get new link parameters for
Traffic Engineering from Zebra/interface layer to OSPFD and ISISD
for the support of Traffic Engineering

* lib/if.[c,h]: link parameters struture and get/set functions
* lib/command.[c,h]: creation of a new link-node
* lib/zclient.[c,h]: modification to the ZBUS message to convey the
link parameters structure
* lib/zebra.h: New ZBUS message

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Add support for IEEE 754 format

* lib/stream.[c,h]: Add stream_get{f,d} and stream_put{f,d}) demux and muxers to
  safely convert between big-endian IEEE-754 single and double binary
  format, as used in IETF RFCs, and C99.  Implementation depends on host
  using __STDC_IEC_559__, which should be everything we care about.  Should
  correctly error out otherwise.
* lib/network.[c,h]: Add ntohf and htonf converter
* lib/memtypes.c: Add new memeory type for Traffic Engineering support

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Add link parameters support to Zebra

* zebra/interface.c:
   - Add new link-params CLI commands
   - Add new functions to set/get link parameters for interface
* zebra/redistribute.[c,h]: Add new function to propagate link parameters
to routing daemon (essentially OSPFD and ISISD) for Traffic Engineering.
* zebra/redistribute_null.c: Add new function
zebra_interface_parameters_update()
* zebra/zserv.[c,h]: Add new functions to send link parameters

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Add support of new link-params CLI to vtysh

In vtysh_config.c/vtysh_config_parse_line(), it is not possible to continue
to use the ordered version for adding line i.e. config_add_line_uniq() to print
Interface CLI commands as it completely break the new LINK_PARAMS_NODE.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Update Traffic Engineering support for OSPFD

These patches update original code to RFC3630 (OSPF-TE) and add support of
RFC5392 (Inter-AS v2) & RFC7471 (TE metric extensions) and partial support
of RFC6827 (ASON - GMPLS).

* ospfd/ospf_dump.[c,h]: Add new dump functions for Traffic Engineering
* ospfd/ospf_opaque.[c,h]: Add new TLV code points for RFC5392
* ospfd/ospf_packet.c: Update checking of OSPF_OPTION
* ospfd/ospf_vty.[c,h]: Update ospf_str2area_id
* ospfd/ospf_zebra.c: Add new function ospf_interface_link_params() to get
Link Parameters information from the interface to populate Traffic Engineering
metrics
* ospfd/ospfd.[c,h]: Update OSPF_OPTION flags (T -> MT and new DN)
* ospfd/ospf_te.[c,h]: Major modifications to update the code to new
link parameters structure and new RFCs

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
tmp

8 years agolib, zebra: unify link layer type and hardware address handling
Timo Teräs [Fri, 15 Jan 2016 15:36:33 +0000 (17:36 +0200)]
lib, zebra: unify link layer type and hardware address handling

This removes the BSD specific usage of struct sockaddr_dl
hardware address. This unifies to use explict hw_addr member for
the address, and zebra specific enumeration for the link layer
type.

Additionally the zapi is updated to never send platform specific
structures over the wire, but the ll_type along with hw_addr_len
and hw_addr are now sent for all platforms.

Based on initial work by Paul Jakma.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Author:    Timo Teräs <timo.teras@iki.fi>
#
# rebase in progress; onto 9c2f85d
# You are currently editing a commit while rebasing branch 'renato' on '9c2f85d'.
#
# Changes to be committed:
# modified:   isisd/isis_circuit.c
# modified:   lib/if.c
# modified:   lib/if.h
# modified:   lib/zclient.c
# modified:   zebra/interface.c
# modified:   zebra/interface.h
# modified:   zebra/kernel_socket.c
# modified:   zebra/rt_netlink.c
# modified:   zebra/rtadv.c
# modified:   zebra/zserv.c
#
# Untracked files:
# "\033\033OA\033OB\033"
# 0001-bgpd-fix-build-on-Solaris.patch
# ldpd/
# redhat/ldpd.init
# redhat/ldpd.service
# tags
#

8 years agoconfig: Give the option of disabling run as user/group
Jafar Al-Gharaibeh [Thu, 28 Jul 2016 19:41:20 +0000 (14:41 -0500)]
config: Give the option of disabling run as user/group

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>
8 years agovtysh: Fix, guard against NULL pointer dereference
Jafar Al-Gharaibeh [Mon, 1 Aug 2016 23:14:38 +0000 (18:14 -0500)]
vtysh: Fix, guard against NULL pointer dereference

getpwuid() may fail returning a null value leaving subsequent
code vulnerable to a null pointer dereference.

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>
8 years agolib/memory: fix indirect static link with zlib
Baruch Siach [Fri, 2 Sep 2016 03:42:08 +0000 (06:42 +0300)]
lib/memory: fix indirect static link with zlib

quagga SNMP support depends on netsnmp, that optionally depends on OpenSSL,
which in turn requires zlib. zlib exports the 'zcalloc' symbol, which collides
with a function of the same name in memory.c. This is not a problem when
linking dynamically, since quagga does not use zlib directly. But static
linking fails with the error:

  CCLD     ospfd
.../output/host/usr/mips64el-buildroot-linux-uclibc/sysroot/usr/lib/libz.a(zutil.o): In function `zcalloc':
zutil.c:(.text+0x48): multiple definition of `zcalloc'
.../output/build/quagga-1.0.20160315/lib/.libs/libzebra.a(memory.o):memory.c:(.text+0x1a0): first defined here

Rename 'zcalloc' to 'zzcalloc' to avoid symbol collision.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
8 years agoconfigure: fix static linking with readline
Thomas Petazzoni [Fri, 2 Sep 2016 03:42:07 +0000 (06:42 +0300)]
configure: fix static linking with readline

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>
8 years agobgpd, lib, ospfd, pimd, zebra: Use nexthop_types_t
Donald Sharp [Fri, 2 Sep 2016 14:32:14 +0000 (10:32 -0400)]
bgpd, lib, ospfd, pimd, zebra: Use nexthop_types_t

Use the 'enum nexthop_types_t' instead of
the zebra.h #defines.  And remove code from
zebra.h that does not belong there.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
8 years agolib: Remove unused ZEBRA_NEXTHOP_IPV4_ONLINK type
Donald Sharp [Fri, 2 Sep 2016 13:38:28 +0000 (09:38 -0400)]
lib: Remove unused ZEBRA_NEXTHOP_IPV4_ONLINK type

Remove the unused ZEBRA_NEXTHOP_IPV4_ONLINK type
from the system.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: stack overrun in IPv6 RA receive code (CVE ##TBA##)
David Lamparter [Wed, 31 Aug 2016 11:31:16 +0000 (13:31 +0200)]
zebra: stack overrun in IPv6 RA receive code (CVE ##TBA##)

The IPv6 RA code also receives ICMPv6 RS and RA messages.
Unfortunately, by bad coding practice, the buffer size specified on
receiving such messages mixed up 2 constants that in fact have different
values.

The code itself has:
 #define RTADV_MSG_SIZE 4096
While BUFSIZ is system-dependent, in my case (x86_64 glibc):
 /usr/include/_G_config.h:#define _G_BUFSIZ 8192
 /usr/include/libio.h:#define _IO_BUFSIZ _G_BUFSIZ
 /usr/include/stdio.h:# define BUFSIZ _IO_BUFSIZ

As the latter is passed to the kernel on recvmsg(), it's possible to
overwrite 4kB of stack -- with ICMPv6 packets that can be globally sent
to any of the system's addresses (using fragmentation to get to 8k).

(The socket has filters installed limiting this to RS and RA packets,
but does not have a filter for source address or TTL.)

Issue discovered by trying to test other stuff, which randomly caused
the stack to be smaller than 8kB in that code location, which then
causes the kernel to report EFAULT (Bad address).

Ticket: CM-12687
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Reviewed-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit 6a98e6a916c18bb130430d1dcbd9f23a17ac97bd)

8 years agobgpd: Add fix for multiple set commands with prefer-global
root [Tue, 30 Aug 2016 12:59:08 +0000 (08:59 -0400)]
bgpd: Add fix for multiple set commands with prefer-global

In further testing, found that if there were multiple set commands in
the route-map with one being prefer-global, the removal of the prefer-global
was not recognized and reacted to correctly.  This small addition includes
that support

Ticket: CM-11480
Signed-off-by: Don Slice
Reviewed By: Donald Sharp
Testing Done: Manual testing, bgp-min and bgp-smoke completed

(cherry picked from commit 3aef92192569c33906c6a2623d0753c16c0e7a64)

8 years agozebra: refactor zsend_ipv[4|6]_nexthop_lookup
Donald Sharp [Wed, 24 Aug 2016 09:02:22 +0000 (05:02 -0400)]
zebra: refactor zsend_ipv[4|6]_nexthop_lookup

These two functions are functionally equivalent refactor.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: Remove unused function reference.
Donald Sharp [Wed, 24 Aug 2016 08:05:36 +0000 (04:05 -0400)]
zebra: Remove unused function reference.

The rib_lookup_ipv6 is not implemented. Remove it.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: refactor rib_add_ipv[4|6]_multipath
Donald Sharp [Wed, 24 Aug 2016 08:01:20 +0000 (04:01 -0400)]
zebra: refactor rib_add_ipv[4|6]_multipath

The rib_add_ipv[4|6]_multipath functions are functionally
equivalent.  Refactor to 1 function.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: Refactor rib_add_ipv[4|6] to a common function
Donald Sharp [Wed, 24 Aug 2016 06:20:47 +0000 (02:20 -0400)]
zebra: Refactor rib_add_ipv[4|6] to a common function

rib_add_ipv[4|6] both were essentially the same function
combine and refactor everywhere.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: Refactor rib_delete_ipv[4|6]
Donald Sharp [Wed, 24 Aug 2016 05:39:08 +0000 (01:39 -0400)]
zebra: Refactor rib_delete_ipv[4|6]

These two functions are essentially the same.
Refactor.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: Refactor rib_match_ipv[4|6]
Donald Sharp [Wed, 24 Aug 2016 04:48:37 +0000 (00:48 -0400)]
zebra: Refactor rib_match_ipv[4|6]

the rib_match_ipv4 and rib_match_ipv6 functions were
the same.  Refactor to 1 function.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: Refactor v4 and v6 static_add into 1 function
Donald Sharp [Wed, 24 Aug 2016 04:26:07 +0000 (00:26 -0400)]
zebra: Refactor v4 and v6 static_add into 1 function

Refactor the static_add_ipv[4|6] functions into
1 function call.  They are basically doing the exact
same thing no need for separate code paths.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: Refactor v4 and v6 static_delete
Donald Sharp [Wed, 24 Aug 2016 04:07:49 +0000 (00:07 -0400)]
zebra: Refactor v4 and v6 static_delete

Refactor v4 and v6 static delete into 1 function.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: Create zebra_static.[ch] to isolate code
Donald Sharp [Thu, 1 Sep 2016 11:20:02 +0000 (07:20 -0400)]
zebra: Create zebra_static.[ch] to isolate code

Isolate the zebra static_XXX functions from zebra_rib.c
This is the first in a series of changes to clean up
the zebra code a bit more.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoquagga-reload.py should be importable
Daniel Walton [Wed, 31 Aug 2016 12:58:46 +0000 (12:58 +0000)]
quagga-reload.py should be importable

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Ticket: CM-12686

8 years agoQuagga won't advertise 0.0.0.0/0 with network statement
Daniel Walton [Wed, 31 Aug 2016 12:31:47 +0000 (12:31 +0000)]
Quagga won't advertise 0.0.0.0/0 with network statement

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

8 years agojson support for "show ip route" for "show ipv6 route"
Daniel Walton [Mon, 29 Aug 2016 19:59:53 +0000 (19:59 +0000)]
json support for "show ip route" for "show ipv6 route"

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

8 years agobuild/solaris: fix one error and a few warnings
Renato Westphal [Fri, 26 Aug 2016 23:46:24 +0000 (20:46 -0300)]
build/solaris: fix one error and a few warnings

Signed-off-by: Renato Westphal <renato@openbsd.org>
8 years agobgpd: cleanup vty bgp_node_afi/safi utils
Lou Berger [Tue, 12 Jan 2016 18:42:05 +0000 (13:42 -0500)]
bgpd: cleanup vty bgp_node_afi/safi utils

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

8 years agobgp: Reorg cleanup to align process and bgp instance init/destroy
Lou Berger [Tue, 12 Jan 2016 18:42:03 +0000 (13:42 -0500)]
bgp: Reorg cleanup to align process and bgp instance init/destroy

bgp_address_destroy became per-bgp instance.  Moved the
call to the bgp_address_destroy function to the bgp delete.

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

8 years agobgpd: fix build on Solaris
Renato Westphal [Wed, 24 Aug 2016 15:11:00 +0000 (12:11 -0300)]
bgpd: fix build on Solaris

* Solaris doesn't have u_int64_t, so use uint64_t instead. C99-style
  fixed-width integers should always be preferred to improve portability;

* 's_addr' is a macro on Solaris, so we can't use it as a variable name.
  Rename the 's_addr' variable to 'addr' in the
  bgp_peer_conf_if_to_su_update_v4() function.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoMerge remote-tracking branch 'origin/cmaster' into cmaster-next
Donald Sharp [Tue, 23 Aug 2016 18:54:47 +0000 (14:54 -0400)]
Merge remote-tracking branch 'origin/cmaster' into cmaster-next

8 years agoquagga route-map on-match and continue statements accept 65536
Daniel Walton [Mon, 22 Aug 2016 12:37:13 +0000 (12:37 +0000)]
quagga route-map on-match and continue statements accept 65536

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

8 years agozebra: implement per-route mtu handling
Timo Teräs [Mon, 2 Nov 2015 14:50:07 +0000 (16:50 +0200)]
zebra: implement per-route mtu handling

This commits allow overriding MTU using netlink attributes on
per-route basis. This is useful for routing protocols that can
advertice prefix specific MTUs between routers (e.g. NHRP).

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
(cherry picked from commit b11f3b54c842117e22e2f5cf1561ea34eee8dfcc)

8 years agozebra: Fix cherry-pick of ZEBRA_FLAG_CHANGED
Donald Sharp [Sun, 21 Aug 2016 16:59:48 +0000 (12:59 -0400)]
zebra: Fix cherry-pick of ZEBRA_FLAG_CHANGED

When cherrypicking I did not notice the move of the flag
from flags -> status.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agozebra: make ZEBRA_FLAG_CHANGED internal status
Timo Teräs [Mon, 2 Nov 2015 14:50:05 +0000 (16:50 +0200)]
zebra: make ZEBRA_FLAG_CHANGED internal status

This flag is used internally in zebra only. And it makes no sense
to expose it over the zclient API, as having it set from client
could corrupt the internal state.

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit 7eb6136b2732d4782360f9f376336c6d4f667ff0)

8 years agoisisd: warn if there is an MTU issue on circuits
Christian Franke [Mon, 15 Aug 2016 11:36:59 +0000 (13:36 +0200)]
isisd: warn if there is an MTU issue on circuits

Instead of later tripping over an assert, add a proper warning for
interfaces whose MTU is too low.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fold up isis_circuit_is_type_set()
David Lamparter [Fri, 12 Aug 2016 23:32:52 +0000 (01:32 +0200)]
isisd: fold up isis_circuit_is_type_set()

see previous commit.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fix is_type_set
David Lamparter [Fri, 12 Aug 2016 23:20:20 +0000 (01:20 +0200)]
isisd: fix is_type_set

Code's "is_type" is "circuit-type" in CLI, "circuit_type" is "network"
(type) in CLI, and the function to change is_type is
isis_event_circuit_type_change()... *headdesk*

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fix network-type configuration
Christian Franke [Thu, 11 Aug 2016 14:08:05 +0000 (16:08 +0200)]
isisd: fix network-type configuration

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fix isis_circuit_af_set() on fresh circuit
David Lamparter [Thu, 11 Aug 2016 15:02:50 +0000 (17:02 +0200)]
isisd: fix isis_circuit_af_set() on fresh circuit

A newly-created circuit will be in enabled state but have neither IPv4
nor IPv6 configured.  The logic in isis_circuit_af_set assumed that
"enabled" is equivalent to "ip || ipv6".

This is the only place where this distinction is currently relevant, as
the CLI won't allow enabling an interface without enabling either IPv4
or IPv6;  and it will also disable a circuit when both are deconfigured.

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fix isis_circuit_create()
David Lamparter [Thu, 11 Aug 2016 14:59:08 +0000 (16:59 +0200)]
isisd: fix isis_circuit_create()

Between the awkwardly managed CSM and the tacked-on IPv6 support, the
simplified logic to setup a circuit wasn't quite right.

Note that the API essentially allows creating a circuit without enabling
either IPv4 or IPv6.  This wasn't possible before and probably breaks
isisd in 'interesting' ways.  The CLI won't do this, so it's only an
issue when adding on other configuration mechanisms.

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoMerge remote-tracking branch 'origin/cmaster' into cmaster-next
Donald Sharp [Fri, 19 Aug 2016 16:18:35 +0000 (12:18 -0400)]
Merge remote-tracking branch 'origin/cmaster' into cmaster-next

8 years agobgpd: Upon interface up (update) only kick-off non-Established peers
vivek [Thu, 18 Aug 2016 22:02:49 +0000 (15:02 -0700)]
bgpd: Upon interface up (update) only kick-off non-Established peers

Any interface flags/parameter change (e.g., MTU, PROMISC flag change) is
notified by zebra to clients as an "up" event. BGP literally treats this
as the interface coming up and kicks all neighbors on that interface (i.e.,
directly connected peers). When doing so for IPv4 peers on the interface
(numbered or unnumbered /30-/31) or IPv6 numbered peers, peers that may
already be Established are also flapped; when doing so for IPv6 unnumbered
peers (classic 'neighbor swpX interface' scenario with no configured IP
address on interface), only peers not in Established state are processed.

This patch fixes the code to ensure that in all cases, only non-Established
peers are kicked.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: Chris Cormier <chriscormier@cumulusnetworks.com>
Ticket: CM-12526
Reviewed By: CCR-5119
Testing Done: Manual, bgp-min

8 years agoquagga-reload.py should not restart quagga if bgp ASN changes
Daniel Walton [Thu, 18 Aug 2016 18:03:46 +0000 (18:03 +0000)]
quagga-reload.py should not restart quagga if bgp ASN changes

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

8 years agovtysh --markfile needs to ignore the "end" lines
Daniel Walton [Thu, 18 Aug 2016 17:47:01 +0000 (17:47 +0000)]
vtysh --markfile needs to ignore the "end" lines

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

8 years agozebra: Fix up cherry-pick mistake
Donald Sharp [Thu, 18 Aug 2016 14:15:01 +0000 (10:15 -0400)]
zebra: Fix up cherry-pick mistake

I forgot to include the if (IS_ZEBRA_DEBUG_EVENT) test

8 years agozebra: additional redistribute related logging
Lou Berger [Tue, 12 Jan 2016 18:41:45 +0000 (13:41 -0500)]
zebra: additional redistribute related logging

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

8 years agoospfd: Impl. per interface 'ip ospf area' command
Joakim Tjernlund [Fri, 7 Aug 2009 11:48:15 +0000 (13:48 +0200)]
ospfd: Impl. per interface 'ip ospf area' command

Use with interface command:
 interface ppp0
 ip ospf area 0.0.0.0
This will enable OSPF on ppp0 with area 0.0.0.0

Remove with "no ip ospf area"

* ospf_vty.c: add "ip ospf area (A.B.C.D|<0-4294967295>)" interface command

* ospfd.c: (ospf_interface_{un,}set) new helper function to enable/disable
  OSPF on a specific interface.
  (ospf_if_update) 2 possible paths now to deal with interface updates.

Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
[DL: this restores the tree to deccaf9...]

8 years agoRevert "per-interface ospf enable and area set command."
David Lamparter [Tue, 16 Aug 2016 15:08:54 +0000 (17:08 +0200)]
Revert "per-interface ospf enable and area set command."

This reverts commit e723861da171fd811f499665e5432dce4e364ee6.

The code is from Joakim Tjernlund; this is just to fix the history (and
attribution) of it.  The last commit will restore the exact same tree
state.

THIS COMMIT WILL PROBABLY NOT COMPILE.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years ago*: use an ifindex_t type, defined in lib/if.h, for ifindex values
Paul Jakma [Mon, 18 Jan 2016 10:12:10 +0000 (10:12 +0000)]
*: use an ifindex_t type, defined in lib/if.h, for ifindex values

(cherry picked from commit 9099f9b2a66e86f8a90d7fe18f61bd2bb1bc6744)

8 years agoFix for CM-12450 Ensure quagga logs at startup are sent to syslog (until log configur...
Sid Khot [Thu, 18 Aug 2016 02:36:54 +0000 (19:36 -0700)]
Fix for CM-12450 Ensure quagga logs at startup are sent to syslog (until log configuration is processed)

Ticket: CM-12450
Reviewed By: CCR-5112
Testing Done: Manual

8 years agoMerge remote-tracking branch 'origin/cmaster' into cmaster-next
Donald Sharp [Thu, 18 Aug 2016 00:52:04 +0000 (20:52 -0400)]
Merge remote-tracking branch 'origin/cmaster' into cmaster-next

8 years agoBGP: neighbor activate lines for ipv4 unicast are not in the sub context
Daniel Walton [Wed, 17 Aug 2016 00:22:12 +0000 (00:22 +0000)]
BGP: neighbor activate lines for ipv4 unicast are not in the sub context

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

8 years agobgpd: Fix for CM-11777 Need Quagga.conf created at quagga install
Sid Khot [Tue, 16 Aug 2016 23:27:34 +0000 (16:27 -0700)]
bgpd: Fix for CM-11777 Need Quagga.conf created at quagga install

Ticket: CM-11777
Reviewed By: CCR-5110
Testing Done: Manual

8 years agoospfd: Remove HAVE_OSPF_TE
Donald Sharp [Wed, 16 Dec 2015 19:22:11 +0000 (14:22 -0500)]
ospfd: Remove HAVE_OSPF_TE

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)

8 years agoospfd: Remove HAVE_OPAQUE_LSA
Donald Sharp [Wed, 16 Dec 2015 19:22:10 +0000 (14:22 -0500)]
ospfd: Remove HAVE_OPAQUE_LSA

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)

8 years agolib, bgpd, tests: Refactor FILTER_X in zebra.h
Donald Sharp [Thu, 7 Jan 2016 15:03:01 +0000 (10:03 -0500)]
lib, bgpd, tests: Refactor FILTER_X in zebra.h

lib/zebra.h has FILTER_X #define's.  These do not belong there.
Put them in lib/filter.h where they belong.

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

8 years agopimd: don't break with missing SO_BINDTODEVICE
David Lamparter [Thu, 11 Aug 2016 15:51:41 +0000 (17:51 +0200)]
pimd: don't break with missing SO_BINDTODEVICE

This effectively a partial revert of commit 61ea395...
"pimd: Bind pim sockets to interface they are associated with"

Note this isn't really a proper fix, it just clears the build breakage
on BSD without improving the usage of multiple sockets.

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agobgpd: only try to identify VRF on Linux
David Lamparter [Thu, 11 Aug 2016 15:28:58 +0000 (17:28 +0200)]
bgpd: only try to identify VRF on Linux

Only Linux has SO_BINDTODEVICE, but that's not a problem since the whole
VRF use case in that instance is currently Linux-specific.  Other OS's
VRF implementations will need different code.

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: warn if there is an MTU issue on circuits
Christian Franke [Mon, 15 Aug 2016 11:36:59 +0000 (13:36 +0200)]
isisd: warn if there is an MTU issue on circuits

Instead of later tripping over an assert, add a proper warning for
interfaces whose MTU is too low.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fold up isis_circuit_is_type_set()
David Lamparter [Fri, 12 Aug 2016 23:32:52 +0000 (01:32 +0200)]
isisd: fold up isis_circuit_is_type_set()

see previous commit.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fix is_type_set
David Lamparter [Fri, 12 Aug 2016 23:20:20 +0000 (01:20 +0200)]
isisd: fix is_type_set

Code's "is_type" is "circuit-type" in CLI, "circuit_type" is "network"
(type) in CLI, and the function to change is_type is
isis_event_circuit_type_change()... *headdesk*

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fix network-type configuration
Christian Franke [Thu, 11 Aug 2016 14:08:05 +0000 (16:08 +0200)]
isisd: fix network-type configuration

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fix isis_circuit_af_set() on fresh circuit
David Lamparter [Thu, 11 Aug 2016 15:02:50 +0000 (17:02 +0200)]
isisd: fix isis_circuit_af_set() on fresh circuit

A newly-created circuit will be in enabled state but have neither IPv4
nor IPv6 configured.  The logic in isis_circuit_af_set assumed that
"enabled" is equivalent to "ip || ipv6".

This is the only place where this distinction is currently relevant, as
the CLI won't allow enabling an interface without enabling either IPv4
or IPv6;  and it will also disable a circuit when both are deconfigured.

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: fix isis_circuit_create()
David Lamparter [Thu, 11 Aug 2016 14:59:08 +0000 (16:59 +0200)]
isisd: fix isis_circuit_create()

Between the awkwardly managed CSM and the tacked-on IPv6 support, the
simplified logic to setup a circuit wasn't quite right.

Note that the API essentially allows creating a circuit without enabling
either IPv4 or IPv6.  This wasn't possible before and probably breaks
isisd in 'interesting' ways.  The CLI won't do this, so it's only an
issue when adding on other configuration mechanisms.

Reported-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agolib: don't have log functions change errno
Christian Franke [Tue, 10 Nov 2015 17:04:42 +0000 (18:04 +0100)]
lib: don't have log functions change errno

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
(cherry picked from commit abfd40d68202882696260617729518a6d2c99302)

8 years agoRevert "Remove individual daemon conf files and replace with Quagga.conf"
Sid Khot [Tue, 16 Aug 2016 00:59:47 +0000 (17:59 -0700)]
Revert "Remove individual daemon conf files and replace with Quagga.conf"

This reverts commit f04605f4e5518ca161ee4088895988c4ae050b57.

8 years ago"No such peer-groupr" should be "No such peer-group"
Daniel Walton [Mon, 15 Aug 2016 19:25:02 +0000 (19:25 +0000)]
"No such peer-groupr" should be "No such peer-group"

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

8 years agozebra: Fix usage of accidental NULL pointer
Donald Sharp [Mon, 15 Aug 2016 16:04:30 +0000 (12:04 -0400)]
zebra: Fix usage of accidental NULL pointer

NS_DEFAULT is #defined to 0, We are passing it
in to a function that is taking 'struct zebra_ns *'
which is translating into a NULL pointer.  Which
in some situations will cause a crash.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
             Daniel Walton <dwalton@cumulusnetworks.com>
             Nikolay Aleksandrov <nikolay@cumulusnetworks.com>

(cherry picked from commit 1e9fa2763953adc603c3acc4ed2a46c9e72cbb29)
(cherry picked from commit e33efc8aa85ad17698bd8d42f1d32d80eb5ca4b6)

8 years agoMerge remote-tracking branch 'origin/cmaster' into cmaster-next
Donald Sharp [Mon, 15 Aug 2016 16:10:28 +0000 (12:10 -0400)]
Merge remote-tracking branch 'origin/cmaster' into cmaster-next

8 years agozebra: Fix usage of accidental NULL pointer
Donald Sharp [Mon, 15 Aug 2016 16:04:30 +0000 (12:04 -0400)]
zebra: Fix usage of accidental NULL pointer

NS_DEFAULT is #defined to 0, We are passing it
in to a function that is taking 'struct zebra_ns *'
which is translating into a NULL pointer.  Which
in some situations will cause a crash.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
             Daniel Walton <dwalton@cumulusnetworks.com>
             Nikolay Aleksandrov <nikolay@cumulusnetworks.com>

(cherry picked from commit 1e9fa2763953adc603c3acc4ed2a46c9e72cbb29)

8 years agozebra: Fix interface lookup for RA statistics
vivek [Sat, 13 Aug 2016 20:25:56 +0000 (13:25 -0700)]
zebra: Fix interface lookup for RA statistics

Ensure we lookup interface across VRFs, not just in the default VRF.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by: Dinesh Dutt <ddutt@cumulusnetworks.com>
Ticket: CM-12357
Reviewed By: CCR-5097
Testing Done: Manual, bgp-min

8 years agoRemove individual daemon conf files and replace with Quagga.conf
Dinesh G Dutt [Sat, 13 Aug 2016 07:41:21 +0000 (00:41 -0700)]
Remove individual daemon conf files and replace with Quagga.conf

Ticket: CM-11777
Reviewed By: CCR-5096
Testing Done:

The recommended, and in many ways the only supported, model for
the configuration file of quagga is to use a single Quagga.conf
configuration file. However, we weren't shipping with this model,
which led to some confusion amongst users. This patch fixes this
by removing all individual daemon configuration files and replacing
it with the single Quagga.conf file.

8 years agobgpd: Reverting fix for CM-5040: BGP and OSPF should accept "router-id use-loopback"
Sid Khot [Sat, 13 Aug 2016 00:09:27 +0000 (17:09 -0700)]
bgpd: Reverting fix for CM-5040: BGP and OSPF should accept "router-id use-loopback"
ospfd: Reverting fix for CM-5040: BGP and OSPF should accept "router-id use-loopback"

This reverts commit cdb805bc9e45e355f4f034be8c89f0b7ca7894fd.

Conflicts:
bgpd/bgp_vty.c

8 years ago*: fix trivial build errors on *BSD
Renato Westphal [Thu, 4 Aug 2016 13:07:33 +0000 (10:07 -0300)]
*: fix trivial build errors on *BSD

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agozebra: create an abstraction layer for netlink_neigh_update()
Renato Westphal [Thu, 4 Aug 2016 13:07:32 +0000 (10:07 -0300)]
zebra: create an abstraction layer for netlink_neigh_update()

We shouldn't have platform-agnostic code (e.g. zebra/interface.c)
calling platform-specific functions (e.g. netlink_neigh_update).

This commit introduces the kernel_neigh_update() function, which then
has to be implemented by all supported platforms. Currently only Linux
implements this function, which is only used by the RTADV code.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agozebra: replace __u32 with standard uint32_t
Renato Westphal [Thu, 4 Aug 2016 13:07:31 +0000 (10:07 -0300)]
zebra: replace __u32 with standard uint32_t

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agopimd: add a workaround for *BSD
Renato Westphal [Thu, 4 Aug 2016 13:07:30 +0000 (10:07 -0300)]
pimd: add a workaround for *BSD

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>
8 years agobgpd: fix wrong use of IN6_IS_ADDR_LINKLOCAL
Renato Westphal [Thu, 4 Aug 2016 13:07:29 +0000 (10:07 -0300)]
bgpd: fix wrong use of IN6_IS_ADDR_LINKLOCAL

The IN6_IS_ADDR_LINKLOCAL macro expects to receive a pointer to an
in6_addr structure.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agobgpd: use utsname.domainname only when available
Renato Westphal [Thu, 4 Aug 2016 13:07:28 +0000 (10:07 -0300)]
bgpd: use utsname.domainname only when available

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agolib: update strlcpy to OpenBSD v1.13
Renato Westphal [Thu, 4 Aug 2016 13:07:27 +0000 (10:07 -0300)]
lib: update strlcpy to OpenBSD v1.13

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agolib: fix setting of IPv4 multicast sockopts on OpenBSD
Renato Westphal [Thu, 4 Aug 2016 13:07:26 +0000 (10:07 -0300)]
lib: fix setting of IPv4 multicast sockopts on OpenBSD

OpenBSD doesn't support the "ifindex hack" derived from RFC 1724 which
allows an ifindex to be encoded in the imr_interface field (in_addr)
of the ip_mreq structure. OpenBSD also doesn't support the RFC3678
Protocol-Independent socket API extensions, which allows an interface
to be specified by its ifindex. With that said, in OpenBSD we still need
to specify an interface by its IP address. This patch adds an exception
in the multicast sockopt functions to handle this case.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoospf6d: fix sendmsg on OpenBSD
Renato Westphal [Thu, 4 Aug 2016 13:07:25 +0000 (10:07 -0300)]
ospf6d: fix sendmsg on OpenBSD

When sending ancillary data on OpenBSD, we need to tell the compiler
that the ancillary data buffer should be aligned on the stack to the
minimum alignment of the first ancillary data object that will be sent.

Additionally, HAVE_SIN6_SCOPE_ID is not defined anywhere, check for
HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID instead.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agozebra: fix build on OpenBSD >= 5.9
Renato Westphal [Thu, 4 Aug 2016 13:07:24 +0000 (10:07 -0300)]
zebra: fix build on OpenBSD >= 5.9

RTF_XRESOLVE was removed from the OpenBSD tree recently.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
8 years agoMerge remote-tracking branch 'origin/cmaster' into cmaster-next
Donald Sharp [Mon, 8 Aug 2016 00:56:35 +0000 (20:56 -0400)]
Merge remote-tracking branch 'origin/cmaster' into cmaster-next

8 years agobgpd: Fix for CM-11982 bgp failed to redistribute connected in vrf table
Sid Khot [Fri, 5 Aug 2016 23:49:39 +0000 (16:49 -0700)]
bgpd: Fix for CM-11982 bgp failed to redistribute connected in vrf table

Made fix to update the redistribute vrf bitmap when vrf goes down and comes up.

Ticket: CM-11982
Reviewed By: CCR-5032
Testing Done: bgp-min passed, manual

8 years ago'debug ospf' print a garbage character
Daniel Walton [Fri, 5 Aug 2016 21:47:42 +0000 (21:47 +0000)]
'debug ospf' print a garbage character

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by: sidkhot@cumulusnetworks.com
Ticket: CM-12271

8 years agoFix changelog to add maintainer info, build fails without it
John Berezovik [Thu, 4 Aug 2016 16:08:37 +0000 (09:08 -0700)]
Fix changelog to add maintainer info, build fails without it

8 years agolib: Add newline terminators to pim docstring
Quentin Young [Wed, 3 Aug 2016 19:30:06 +0000 (19:30 +0000)]
lib: Add newline terminators to pim docstring

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agoquagga: Set version strings appropriately
Donald Sharp [Tue, 2 Aug 2016 08:54:45 +0000 (04:54 -0400)]
quagga: Set version strings appropriately

Set the version strings to be correct for the upcoming
3.1 release of Quagga.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agolib: Arm build breakage with MAX_INT macro issues
Donald Sharp [Wed, 3 Aug 2016 14:26:31 +0000 (10:26 -0400)]
lib: Arm build breakage with MAX_INT macro issues

The VTY_GET_INTEGER_RANGE macro is failing on arm
with a warning->error issue where we are passing in
a unsigned MAXINT to this macro and it is complaining
that the comparison of (TMPL) > MAXINT is always going
to be false because of data structure size.

I've changed the tmp variable to a unsigned long long
which alleviates this issue.

Ticket: CM-12187
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
8 years agobgpd: Add command to prefer global ipv6 address
Don Slice [Wed, 3 Aug 2016 13:49:09 +0000 (06:49 -0700)]
bgpd: Add command to prefer global ipv6 address

There are cases where customers desire the ability to override the
default behavior of installing ipv6 prefixes with a link-local next-hop
if both a link-local and global ipv6 next-op is present in the bgp table.
This fix provides this ability and will allow the global to be used as the
next-hop.  This also retains the ability to manually set the ipv6 next-hop
global value as before, and if so, this manual entry will be used for the
next-hop.

Ticket: CM-11480
Signed-off-by: Don Slice
Reviewed By: CCR-4983
Testing Done: Manual testing results attached to the ticket. bgp-min and
bgp-smoke will be completed before committing.

8 years agobgpd: Add the no form of some dump bgp commands
Donald Sharp [Mon, 1 Aug 2016 17:38:05 +0000 (13:38 -0400)]
bgpd: Add the no form of some dump bgp commands

Ticket: CM-9432
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by:

8 years agoconfigure: Auto pick-up the correct json env
Donald Sharp [Sat, 4 Jun 2016 23:55:22 +0000 (19:55 -0400)]
configure: Auto pick-up the correct json env

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

8 years agoBGP displays "keepalive" instead of "keepalives" for debugs
Daniel Walton [Mon, 1 Aug 2016 12:15:28 +0000 (12:15 +0000)]
BGP displays "keepalive" instead of "keepalives" for debugs

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

8 years agovtysh: Do not run extract.pl over protocols that are not configured
Donald Sharp [Thu, 28 Jul 2016 18:28:22 +0000 (14:28 -0400)]
vtysh: Do not run extract.pl over protocols that are not configured

Dynamically figure out the list of .c files that we need to scan
based upon whether or not the daemon is --enabled via configure.

Ticket: CM-12081
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by: Quentin Young <qlyoung@cumulusnetworks.com>
8 years agolib: 'show commandtree' is not a CLI command
Donald Sharp [Thu, 28 Jul 2016 18:02:52 +0000 (14:02 -0400)]
lib: 'show commandtree' is not a CLI command

The 'show commandtree' command was added to the CONFIG_NODE.

We have a basic assumption that CONFIG_NODE commands actually
change state.  'show commandtree' doesn't meet this requirement.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
8 years agoisisd: drop unused per-type metric values
David Lamparter [Thu, 28 Jul 2016 15:23:32 +0000 (17:23 +0200)]
isisd: drop unused per-type metric values

Expense, Error and Delay metrics never quite made it into the real
world.  Either way isisd does nothing useful with them, so let's drop
them from the code.  If someone wants to implement them, this patch can
still be reverted.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: API: area (L1), domain (L2) passwords
Christian Franke [Thu, 28 Jul 2016 15:23:31 +0000 (17:23 +0200)]
isisd: API: area (L1), domain (L2) passwords

Last isisd CLI cleanup for now.  This also folds L1 & L2 configs into
common functions, reducing CLI function bloat by a bit.

(This patch contains changes authored by both Christian Franke and David
Lamparter.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: API: timers (LSP, SPF)
Christian Franke [Thu, 28 Jul 2016 15:23:30 +0000 (17:23 +0200)]
isisd: API: timers (LSP, SPF)

See previous commits...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: API: LSP-MTU & area level
Christian Franke [Thu, 28 Jul 2016 15:23:29 +0000 (17:23 +0200)]
isisd: API: LSP-MTU & area level

Yet more CLI functions in isis_vty.c using more nice setters.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: API: timers (IIH, CSNP, PSNP)
David Lamparter [Thu, 28 Jul 2016 15:23:28 +0000 (17:23 +0200)]
isisd: API: timers (IIH, CSNP, PSNP)

No setters needed since change of fields doesn't require any
specific action to make it apply.  Just move the CLI defs to isis_vty.c.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: API: circuit password
Christian Franke [Thu, 28 Jul 2016 15:23:27 +0000 (17:23 +0200)]
isisd: API: circuit password

This cleans up circuit password configuration a little bit.
(Restructured several times by both Christian Franke and David
Lamparter.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 years agoisisd: API: basic area config
Christian Franke [Thu, 28 Jul 2016 15:23:26 +0000 (17:23 +0200)]
isisd: API: basic area config

Move out basic area configuration (metric type, overload and attachment
bits, dynamic hostname extension enable) into isis_vty.c.

[v2: moved stuff back here that accidentally was in the previous patch]

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>