Commit Graph

7556 Commits

Author SHA1 Message Date
Quentin Young
56a94b3668 lib: return thread pointer from thread_add*
Allow some more flexibility in case callers wish to manage their own
thread pointers and don't require or don't want the thread to keep a
back reference to its holding pointer.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-05-16 15:59:51 +00:00
David Lamparter
9b938b384c Merge pull request #492 from dwalton76/stable/2.0
Change Frr.conf to frr.conf
2017-05-16 17:55:58 +02:00
Don Slice
604bbacbcf bgpd: resolve issue with sending vpn labels
Found issue where sending labels using "address-family ipv4 vpn" was
broken by the labeled-unicast changes.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-05-16 09:48:18 -04:00
Donald Sharp
1a5ce38b9f ospfd: Actually fix ospf redistribute.
This is the final time I swear!

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-16 08:29:03 -04:00
Donald Sharp
439aa9fa39 ospf6d: Fix 'no area .. range...' command
The cli uplift had confused some parameters.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-16 08:28:58 -04:00
Donald Sharp
910a5c0e21 Merge branch 'master' into vrf_stuff 2017-05-16 07:58:55 -04:00
Donald Sharp
21a15acdde lib: Fix missing vrf_int.h from make distribute
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-16 07:49:46 -04:00
David Lamparter
c5761c2b5b Merge pull request #539 from donaldsharp/arm
Arm
2017-05-16 13:41:57 +02:00
Donald Sharp
b84ccd4089 bgpd: Revert incorrect handling of data
data is actually allowed to be NULL.  So allow
pass in.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 22:30:48 -04:00
Donald Sharp
cc629aef4a tests: Fix vrf_init to have correct call
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 22:30:28 -04:00
Donald Sharp
291ca371e2 lib: Improve error message for the developer
I keep getting people asking me about what to do
when this error is generated when they are programming
new cli.  Maybe this is a bit better bread-crumb?

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 20:55:33 -04:00
Donald Sharp
7298b8ccd5 eigrpd: Fix arm compile issue with some gcc's
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 20:51:29 -04:00
Donald Sharp
97b1a80cbb lib: Add some more documentation to vrf.h
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 19:37:16 -04:00
Donald Sharp
6df8536487 *: Consolidate vrf_hooks into vrf_init
We only needed to add/change the vrf callbacks when we initialize
the vrf subsystem.  As such it is not necessary to handle the callbacks
in any other way than through the init function.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 19:31:27 -04:00
Donald Sharp
759927a1b9 *: Remove some unneeded functions
vrf_iflist_create -> By the time this is called in enable, the vrf's iflist
is already created.  Additionally this code should be a properly of the vrf
to init/destroy not someone else.

vrf_iflist_terminate -> This function should be a property of vrf deletion
and does not need to be exposed.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 19:11:20 -04:00
Donald Sharp
7922fc65ae lib, zebra: Cleanup vrf api some
Segregate the vrf enable/disable functionality from other vrf
code.  This is to ensure that people are not actually using
the functions when they should not be.  Also document the
why of it properly in the new vrf_int.h header.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 19:02:34 -04:00
Donald Sharp
057fad8dfb eigrpd: Cleanup a bunch SA warnings.
1) Cleanup SA warnings, more to come
2) Cleanup some non debug guarded zlog_info code

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 18:48:54 -04:00
Daniel Walton
eb15f4773a bgpd: added bgp_nexthop_afi()
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>

Added bgp_nexthop_afi() to have one place that determines what the
Nexthop AFI is for bgp_packet_mpattr_start()
2017-05-15 17:03:10 +00:00
Quentin Young
f8c7b8a495 snapcraft: fix minor typo
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-05-15 12:28:56 -04:00
Jafar Al-Gharaibeh
7ce9737dd7 snap: add vtysh as a "proper" command alias for frr.vtysh
This allows direct access to vtysh without the "frr." prefix.
   The alias can be enabled by sudo snap frr vtysh

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2017-05-15 12:28:56 -04:00
David Lamparter
7a38655aa0 lib: parser: remove forgotten line
MTYPE_CMD_TOKEN_DATA isn't used anymore, I forgot to ditch the line.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 11:08:25 -04:00
David Lamparter
896014f4bc *: make consistent & update GPLv2 file headers
The FSF's address changed, and we had a mixture of comment styles for
the GPL file header.  (The style with * at the beginning won out with
580 to 141 in existing files.)

Note: I've intentionally left intact other "variations" of the copyright
header, e.g. whether it says "Zebra", "Quagga", "FRR", or nothing.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 16:37:41 +02:00
Lou Berger
4b34151b88 Merge pull request #531 from qlyoung/fix-stack-ref
lib: fix access to stack value
2017-05-15 10:34:38 -04:00
David Lamparter
32a71fd80c doc: fix VARIABLE <> WORD confusion in cli.md
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 10:27:43 -04:00
David Lamparter
d48ed3e098 bgpd: autocomplete peer-groups & interface peers
This wasn't quite correct in the previous patch, leading to peer-groups
& interface peers breaking in autocompletion.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 10:27:43 -04:00
David Lamparter
9a7fc1bd7a lib: cli: fix IPv6 address partial matching
A partially-entered IPv6 address would never return a "partly_match",
meaning some possible completions weren't listed by the matcher.

This specifically breaks autocompleting BGP IPv6 neighbor addresses.
Before:
aegaeon# show ip bg ne 2001:<?>
  WORD      Neighbor on BGP configured interface

After:
aegaeon# show ip bg ne 2001:<?>
  WORD      Neighbor on BGP configured interface
  X:X::X:X  Neighbor to display information about
      2001:db8::2

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 10:27:43 -04:00
David Lamparter
4e3e06d638 doc: update CLI documentation
Fix markdown formatting & add variable names.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 10:27:43 -04:00
David Lamparter
b8a815e5e4 bgpd: autocomplete neighbor names
Add autocompletion for neighbor IP/IPv6/peer-group names.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 10:27:43 -04:00
David Lamparter
7f059ea614 vtysh: autocomplete variables
This asks the connected daemons for their variable completions through a
hidden CLI command.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-15 10:27:43 -04:00
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
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
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