Commit Graph

8141 Commits

Author SHA1 Message Date
David Lamparter
70d44c5cd4 lib: cli: autocomplete variables
Shows known values in the appropriate naming domain when the user hits
<?> or <Tab>.  This patch only works in the telnet CLI, the next patch
adds vtysh support.

Included completions:
- interface names
- route-map names
- prefix-list names

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 10:27:43 -04:00
David Lamparter
c09c46ae3c lib: parser: add pre-merge varname propagation step
Fills token->varname based on context.  WORD tokens use the WORD - if it
isn't actually "WORD".  Other than that, a preceding constant token is
used as name.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 10:27:43 -04:00
David Lamparter
5894e76da7 lib: parser: split off & rename graph handling
Put core CLI graph stuff in lib/command_graph.[ch] and consistently
prefix all function names with "cmd_".

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 10:27:43 -04:00
David Lamparter
16705ecc65 lib: parser: add named variables in CLI
struct cmd_token now has a "varname" field which is derived from the
DEFUN's string definition.  It can be manually specified with "$name"
after some token, e.g. "foo WORD$var".  A later commit adds code to
automatically fill the value if nothing is specified.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 10:27:43 -04:00
Donald Sharp
6a72763d73 Merge pull request #520 from opensourcerouting/bgpd-fixes-master
bgpd: assorted fixes (master)
2017-05-15 10:01:39 -04:00
Donald Sharp
59371d4f21 Merge pull request #527 from LabNConsulting/working/master/patch-set/issue471+473
Master: Restore label distribution for VPN safi
2017-05-15 10:01:04 -04:00
David Lamparter
36a963950c Merge pull request #526 from donaldsharp/renato_eigrp
Renato eigrp
2017-05-15 14:32:13 +02:00
Donald Sharp
46c3ce8327 bgpd: Cleanup some SA
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 07:33:48 -04:00
Quentin Young
368d025eca lib: fix access to stack value
Passing stack value to thread_add_* causes thread->ref to become an
invalid pointer when the value goes out of scope

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-05-15 06:29:54 +00:00
Donald Sharp
56afaa8bcb Merge remote-tracking branch 'origin/stable/3.0' 2017-05-14 21:19:33 -04:00
Lou Berger
0918e873f2 bgpd: fix table leak introduced in labeled unicast (Issue #473)
Fix tested for vpn and encap ribs/safi.  Labeled unicast
      may still leak as not tested.

Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-14 20:26:07 -04:00
Lou Berger
20aeb9709e bgpd: fix v6 encap safi config - more labeled unicast breakage (Issue #473)
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-14 11:10:42 -04:00
Donald Sharp
abdcf26658 babeld: Tell zebra to send us stuff about the default vrf
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-14 00:10:37 -04:00
Donald Sharp
302a2d1c83 babeld: Fixup redistribution display
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 23:55:41 -04:00
Donald Sharp
32d095b834 vtysh: Add knob for babel execution
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 23:43:07 -04:00
Donald Sharp
a616ea5f24 lib, vtysh: Add bits and pieces to allow vtysh to understand babel
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 23:38:14 -04:00
Donald Sharp
053d05608f ripngd: Cleanup missing newlines
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 23:37:39 -04:00
Donald Sharp
f84d11d1cd babeld: Cli Fixes
1) Cleanup 'router babel' so it's NOSH
2) Fixed missing newlines

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 23:36:52 -04:00
Donald Sharp
900b8c5802 babeld: Get main to work correctly
Get main to init up in the libfrr paradigm.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 23:16:03 -04:00
Donald Sharp
2579b2c144 lib: Fix up string -> proto # conversion for babel
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 23:15:27 -04:00
Donald Sharp
f7bf422e5d babeld: Fix up some missed cli
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 23:01:32 -04:00
Donald Sharp
dd3293736d babeld: Fix some missed QUAGGA -> FRR
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 22:55:21 -04:00
Donald Sharp
0eb167b9f1 babeld: Cleanup some more compiler warnings
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 22:52:15 -04:00
Donald Sharp
dd15627e26 babeld: Cleanup xroute_stream
Cleanup warnings associated with xroute_stream

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 22:46:21 -04:00
Donald Sharp
f1d1a0b0b7 doc: Missed babel documentation
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 22:40:00 -04:00
Lou Berger
e5efc58be9 bgpd: fix rfapi label origination (Issue #473)
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-13 17:46:05 -04:00
Lou Berger
57907d6fe9 bgpd: fix VPN SAFI label distribution (Issue #473)
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-13 16:38:35 -04:00
Lou Berger
b380f68a7a bgpd: add epvn as labeled safi type (ISSUE #471)
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-13 16:37:13 -04:00
Donald Sharp
ca10883edc *: Initial Import of Babeld into FRR
This is a direct copy of:
https://github.com/boutier/quagga-merge

From the branch babel-merge

I copied the babeld directory into FRR and then fixed up everything to
compile.

Babeld at this point in time when run will more than likely crash and burn
in it's interfactions with zebra.

I might have messed up the cli, which will need to be looked at

extract.pl.in and vtysh.c need to be fixed up.  Additionally we probably
need to work on DEFUN_NOSH conversion in babeld as well

This code comes from:
Matthieu Boutier <boutier@irif.fr>
Juliusz Chroboczek <jch@irif.fr>

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 14:59:41 -04:00
Renato Westphal
63863c4797 eigrpd: Diverse Fixes
* Correct the metric calculation as well as the default metrics;
* Do not show invalid routes in the "show ip eigrp topology".
* Add support to VRFs;
* When downloading a neighbor remove the related routes;
* Fix bugs in the parser of packages they were creating
Invalid default routes;
* Add and remove routes in the zebra;
* Add command "on router eigrp AS";
* Make "delay" and "bandwitch" commands work as well as
Display them in running config;
* Add "no" version of several commands;
* Fix a serious momory leaks;
* Fix segfault when there is no 'successor' route to a
Given prefix;
* Other minor corrections;

Signed-off-by: Renato Westphal <renatowestphal@gmail.com>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 13:08:00 -04:00
Renato Westphal
7622065349 eigrpd: Some Basic Corrections
* Advertise routes to zebra
* Connected routes should not have a nexthop address
* Fix segfaut on exit

Signed-off-by: Renato Westphal <renatowestphal@gmail.com>
2017-05-13 13:08:00 -04:00
Donald Sharp
dfdbe7e4b0 lib: Cleanup command parsing a tiny bit
The CLI changes now make it impossible for numbers
outside the range specified in the cli to make it to
this code.  No need to check for it again.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-13 13:08:00 -04:00
Donald Sharp
7b87a0d5c6 Merge pull request #521 from opensourcerouting/bgpd-fixes-stable
bgpd: assorted fixes (stable/3.0)
2017-05-13 12:24:32 -04:00
David Lamparter
39f4150572 Merge pull request #508 from LabNConsulting/working/3.0/patch/issue198
bgpd: Issue #198 - clean up duplicate encap SAFI commands
2017-05-13 09:10:09 +02:00
David Lamparter
8d7bba2874 Merge pull request #525 from qlyoung/frr-script-fix
tools: $valgrind --> "$valgrind"
2017-05-13 09:09:22 +02:00
David Lamparter
99f226f8dc Merge pull request #524 from qlyoung/blublublub3.0
lib: use %p specifier for pointers
2017-05-13 09:08:55 +02:00
Quentin Young
61de994bcf tools: $valgrind --> "$valgrind"
String cmp missing quotes

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-05-12 23:29:58 +00:00
Quentin Young
ab87c0f350 lib: use %p specifier for pointers
Fixes builds on ARM

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-05-12 21:57:30 +00:00
Vincent JARDIN
c5221d2f48 README: add references to EIGRP and NHRP. 2017-05-12 22:51:45 +02:00
Renato Westphal
51cd5cc35e Merge pull request #518 from dwalton76/zebra-mpls-lsp-uninstall
zebra: zebra_mpls_lsp_uninstall was not being called
2017-05-12 12:51:06 -03:00
Renato Westphal
05910d5938 Merge pull request #495 from donaldsharp/mpls_fixes
Mpls fixes
2017-05-12 12:23:52 -03:00
Renato Westphal
7c7f4284cf bgpd: fix segfault with '[no] bgp network import-check'
These commands were causing bgpd to crash if a static VPN route was
configured.

While here, fix a bug in bgp_static_add() and bgp_static_delete().

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-12 12:03:53 -03:00
Renato Westphal
92a8bd6e7a bgpd: fix duplicate install of command
Only happens when FRR is configured with --enable-oldvpn-commands.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-12 12:02:24 -03:00
Renato Westphal
ff59521466 bgpd: fix 'show bgp [...] longer-prefixes'
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-12 11:58:37 -03:00
Renato Westphal
3eefc73454 bgpd: remove unused bgp_attr_default_intern() function
This function is not used anymore since commit 137446f9.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-12 11:48:02 -03:00
Renato Westphal
17c7bb7b1c lib: remove gap between AFI_IP6 and AFI_L2VPN
We have several pieces of code like this in FRR:

  for (afi = AFI_IP; afi < AFI_MAX; afi++)
    for (safi = SAFI_UNICAST; safi < SAFI_MAX; safi++)
      bgp_distance_table[afi][safi] = bgp_table_init (afi, safi);

We were creating a lot of useless garbage in the code because of this
gap. Fix this.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-12 11:48:02 -03:00
Renato Westphal
8b89a3023f bgpd: fix segfault with '[no] bgp network import-check'
These commands were causing bgpd to crash if a static VPN route was
configured.

While here, fix a bug in bgp_static_add() and bgp_static_delete().

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-12 11:48:02 -03:00
Renato Westphal
af5d681978 bgpd: fix duplicate install of command
Only happens when FRR is configured with --enable-oldvpn-commands.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-12 11:48:02 -03:00
Renato Westphal
9ff63e6f55 bgpd: removed unused parameter from bgp_dump_attr()
Originally we used the 'peer' parameter for this:

  if (peer_sort (peer) == BGP_PEER_IBGP)
    snprintf (buf + strlen (buf), size - strlen (buf), ", localpref %d",
              attr->local_pref);

Now we have this:

  if (CHECK_FLAG (attr->flag, ATTR_FLAG_BIT (BGP_ATTR_LOCAL_PREF)))
    snprintf (buf + strlen (buf), size - strlen (buf), ", localpref %u",
              attr->local_pref);

Remove the now useless 'peer' parameter.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-12 11:48:02 -03:00
Renato Westphal
5143a87b92 lib: add labeled-unicast in safi2str()
While here, move SAFI_ENCAP above SAFI_MPLS_VPN to keep the ordering
consistent.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-12 11:46:26 -03:00