Commit Graph

478 Commits

Author SHA1 Message Date
Daniel Walton
b6ab5a3ab1 bgpd: Make SAFI-1 and SAFI-4 use the same table
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-06-30 13:55:47 +00:00
Quentin Young
8e25c8ce2f *: rebase vty_outln() -> master
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-29 17:38:59 +00:00
Quentin Young
1318e7c841 *: s/VTY_NEWLINE/VTYNL/g
Should be able to fit more vty_out onto one line now

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-29 17:34:54 +00:00
Russ White
0bc44f61c9 Merge pull request #754 from qlyoung/fix-argv-arg
use argv->text where appropriate
2017-06-29 11:06:15 -04:00
Jafar Al-Gharaibeh
0eef52fd95 Merge pull request #759 from qlyoung/remove-vty-argparsers
*: remove VTY_GET_*
2017-06-29 09:36:06 -05:00
Donald Sharp
1e84e9a697 Merge pull request #714 from opensourcerouting/cli_magic_defpy
CLI magic: part 1 (DEFPY)
2017-06-28 09:48:33 -04:00
Quentin Young
facfee22f5 *: remove VTY_GET_*
CLI validates input tokens, so there's no need to do it in handler
functions anymore.

spatch follows
----------------

@getull@
expression v;
expression str;
@@
<...
- VTY_GET_ULL(..., v, str)
+ v = strtoull (str, NULL, 10)
...>

@getul@
expression v;
expression str;
@@
<...
- VTY_GET_ULONG(..., v, str)
+ v = strtoul (str, NULL, 10)
...>

@getintrange@
expression name;
expression v;
expression str;
@@
<...
- VTY_GET_INTEGER_RANGE(name, v, str, ...)
+ v = strtoul (str, NULL, 10)
...>

@getint@
expression v;
expression str;
@@
<...
- VTY_GET_INTEGER(..., v, str)
+ v = strtoul (str, NULL, 10)
...>

@getv4@
expression v;
expression str;
@@
<...
- VTY_GET_IPV4_ADDRESS(..., v, str)
+ inet_aton (str, &v)
...>

@getv4pfx@
expression v;
expression str;
@@
<...
- VTY_GET_IPV4_PREFIX(..., v, str)
+ str2prefix_ipv4 (str, &v)
...>

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-27 19:04:41 +00:00
Quentin Young
55f9148812 bgpd: argv->arg grab bag
* Pass ->text to functions that now do full string matching
* Remove cases for l2vpn and evpn where they cannot occur

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-27 17:46:42 +00:00
Quentin Young
a820600449 bgpd: more cli-ening
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-27 17:46:42 +00:00
Daniel Walton
4fbf55e986 Merge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label-misc3 2017-06-26 17:24:44 +00:00
Olivier Dugeon
8ea37652c7 Merge pull request #745 from qlyoung/fix-lookup
*: simplify log message lookup
2017-06-21 18:22:52 +02:00
Quentin Young
56b4067930 *: simplify log message lookup
log.c provides functionality for associating a constant (typically a
protocol constant) with a string and finding the string given the
constant. However this is highly delicate code that is extremely prone
to stack overflows and off-by-one's due to requiring the developer to
always remember to update the array size constant and to do so correctly
which, as shown by example, is never a good idea.b

The original goal of this code was to try to implement lookups in O(1)
time without a linear search through the message array. Since this code
is used 99% of the time for debugs, it's worth the 5-6 additional cmp's
worst case if it means we avoid explitable bugs due to oversights...

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-21 15:22:21 +00:00
Daniel Walton
c1a44e4367 Merge branch 'master' into bgpd-ipv4-plus-label-misc3 2017-06-21 10:30:29 -04:00
Russ White
bfd93d11b8 Merge pull request #731 from qlyoung/fix-bgp-misc-cli
bgpd: fix misc cli ranges & config writes
2017-06-19 21:53:05 -04:00
Daniel Walton
9bedbb1e52 bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>

- All ipv4 labeled-unicast routes are now installed in the ipv4 unicast
  table. This allows us to do things like take routes from an ipv4
  unicast peer, allocate a label for them and TX them to a ipv4
  labeled-unicast peer. We can do the opposite where we take routes from
  a labeled-unicast peer, remove the label and advertise them to an ipv4
  unicast peer.

- Multipath over a labeled route and non-labeled route is not allowed.

- You cannot activate a peer for both 'ipv4 unicast' and 'ipv4
  labeled-unicast'

- The 'tag' variable was overloaded for zebra's route tag feature as
  well as the mpls label. I added a 'mpls_label_t mpls' variable to
  avoid this.  This is much cleaner but resulted in touching a lot of
  code.
2017-06-16 19:12:57 +00:00
Quentin Young
4668a15109 bgpd: fix misc cli ranges & config writes
* Ranges for some MED were 2^32 - 2 instead of 2^32 - 1
* Use correct printf specifiers for unsigned values
* Some drive-by CLI collapsing and simplification

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-16 19:09:05 +00:00
Donald Sharp
18c5703710 bgpd: Add view/vrf auto completion to commands
Modify the '<view|vrf> NAME' commands to allow auto-completion
of available choices.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-06-16 13:01:51 -04:00
David Lamparter
f787d7a0b3 bgpd: (demo) apply some DEFPY()
(This was intended as further demonstration of the DEFPY code, but it
might as well go into the tree.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-06-14 19:29:26 +02:00
Quentin Young
47332bd02b bgpd: fix memleak with 'show ip bgp vrf ...'
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-09 20:18:56 +00:00
David Lamparter
326452238a Merge branch 'stable/3.0'
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-06-06 17:37:41 +02:00
Quentin Young
ce2570bc0a bgpd: fix large-community-list commands
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-04 19:04:56 +00:00
Lou Berger
375a2e67ad bgpd: remove encap safi show commands
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-23 15:58:50 -04:00
Lou Berger
6c8744af2d bgpd: remove additional instance of BGP_ENCAP(v6)_NODE
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-23 15:58:50 -04:00
Lou Berger
5b1f0f29e7 bgpd: remove support for ipv4|6 encap safi config
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-23 15:42:32 -04:00
Lou Berger
33c0d63f9c bgpd: remove encap safi show commands
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-23 15:11:30 -04:00
Lou Berger
5f69e7a7ac bgpd: remove support for ipv4|6 encap safi config
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-23 15:01:54 -04:00
David Lamparter
57463530f3 Merge branch 'stable/3.0'
Conflicts:
	ospf6d/ospf6_lsa.c
	ospfd/ospf_vty.c
	zebra/interface.c

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-18 12:28:12 +02:00
David Lamparter
92eedda1fb Merge branch stable/2.0 into stable/3.0
Conflicts:
	bgpd/bgp_fsm.c
	ospf6d/ospf6_lsa.c
	ospfd/ospf_vty.c
	zebra/redistribute.c

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-18 12:23:13 +02:00
David Lamparter
b2b6f8f33c Pre-revert nonmergeable changes
Revert "ospf6d: fix decimal area ID cli"
commit a27cb3cfe9

Revert "bgpd: add back unicast option to 'address-family vpnv(4&6)' Issue #459"
commit 399598bf6b

Revert "Fix the memory leak"
commit d8d58e9839

Revert "zebra: 'no ip route 4.1.1.19 255.255.255.255 99' is ambiguous"
commit 83f3561935

Revert "ospf6d: Allow unconfig of unknown lsa's"
commit 5b0747d71d

Revert "Fix the "Dead assignment" of clang SA."
commit 3a6570a1f1

Revert "snapcraft: Improve README.usage.md based on feedback received"
commit 2a3a819a9c

Revert "zebra: stop deregistering static nexthops unless removing the static"
commit 1dac3a9619

All of these changes do not apply on stable/3.0 due to either CLI
changes or another fix already being present.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-18 12:09:50 +02:00
David Lamparter
7e467f2d2b Merge branch 'frr/pull/557'
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-18 11:37:37 +02:00
Renato Westphal
e89f016d3e Merge pull request #561 from donaldsharp/static_config2
Static config2
2017-05-17 14:18:51 -03:00
Donald Sharp
1f0a6ed1f1 bgpd: Fix occassional turn off of extended-nexthop for an if
Sometimes, like once every 400 iterations, when you restart
Quagga, extended-nexthop has been turned off for interface
based config( for 5549 ).

Examining the code, there is only 1 real path to setting
the PEER_FLAG_CAPABILITITY_ENHE and that is through
peer_conf_interface_get.  Modify this code path
to always set the PEER_FLAG_CAPABILITY_ENHE if it is
not already set.

In addition, fix a possible pointer dereference.

Ticket: CM-12929
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-17 08:48:46 -04:00
Donald Sharp
a6e895a9df Merge remote-tracking branch 'origin/stable/2.0' 2017-05-17 08:32:53 -04:00
Donald Sharp
047fc9501d bgpd: Allow 'show bgp neighbor' to indicate authentication or not
When we configure authentication.  Allow the 'show bgp neighbor'
commands( and their ilk ) to indicate that the peer has
authentication enabled.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-17 07:51:23 -04:00
Daniel Walton
46111f2f48 bgpd: Add epoch uptime to BGP neighbor json outputs
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-05-17 00:07:02 +00:00
Daniel Walton
3bd07551f8 bgp: garbage "neighbor (af 54816) remote-as internal" peer in show run
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-05-17 00:01:23 +00:00
Daniel Walton
464598de53 bgpd: "neighbor swpX interface remote-as XYZ" is ignored
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Don Slice <dslice@cumulusnetworks.com>

If you did:
  neighbor swp1 interface
  neighbor swp1 interface remote-as external

we would not set the remote-as. You could however still do
  neighbor swp1 remote-as external
2017-05-16 23:54:46 +00:00
Donald Sharp
c358f112a6 bgpd: Fix occassional turn off of extended-nexthop for an if
Sometimes, like once every 400 iterations, when you restart
Quagga, extended-nexthop has been turned off for interface
based config( for 5549 ).

Examining the code, there is only 1 real path to setting
the PEER_FLAG_CAPABILITITY_ENHE and that is through
peer_conf_interface_get.  Modify this code path
to always set the PEER_FLAG_CAPABILITY_ENHE if it is
not already set.

In addition, fix a possible pointer dereference.

Ticket: CM-12929
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-16 15:06:35 -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
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
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
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
399598bf6b bgpd: add back unicast option to 'address-family vpnv(4&6)' Issue #459 2017-05-09 14:52:54 -04:00
Lou Berger
8366e9e68c Merge pull request #454 from dwalton76/hide-router-bgp-peer-ipv4-unicast-commands
bgpd: hide "router bgp" commands also under "address-family ipv4 unic…
2017-05-09 11:54:33 -04:00
Donald Sharp
6281320446 Merge remote-tracking branch 'origin/stable/3.0' 2017-05-08 16:51:21 -04:00
Don Slice
5ef7c5dfdd bgpd: resolve crash displaying bgp vrf routing info
Problem uncovered with crash when entering the command "show ip bgp
vrf vrf1001 0.0.0.0".   The crash was caused by a mistake incrementing
the index value in the vrf/view case.  Manual testing completed and
failing test case now passes successfully.

Ticket: CM-16223
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed By: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-05 17:17:28 +00:00
Donald Sharp
d476347d5d Merge remote-tracking branch 'origin/stable/3.0' 2017-05-04 13:35:25 -04:00
Daniel Walton
596c17ba57 bgpd: hide "router bgp" commands also under "address-family ipv4 unicast"
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
Reviewed-by:   Quentin Young <qlyoung@cumulusnetworks.com>
2017-05-03 16:45:14 +00:00
Donald Sharp
ae9b0e11f6 bgpd: Fix crashes with '[no] neighbor ... shutdown ..' command
This fixes two crashes:

1) When we enter a 'neighbor shutdown..' command for a peer
group or interface based peer we were not properly looking
up the peer.

2) When we we enter 'no neighbor shutdown..' command for
a peer group or interface based peer we were not properly
lookup up the peer.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-03 09:13:12 -04:00
Donald Sharp
5ce77b2b1e bgpd: Fix 'show bgp ... summary json' to have empty {}
When we have no output for a json command we should have
an empty {} displayed.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-02 22:34:21 -04:00
Donald Sharp
05ba625af7 Merge remote-tracking branch 'origin/stable/3.0' 2017-05-02 15:52:09 -04:00
Renato Westphal
5a9a82b8ec Merge pull request #426 from donaldsharp/afi_safi2
Afi safi2
2017-05-02 12:09:17 -03:00
Donald Sharp
46854ac0ae bgpd: Fix 'show .. bgp ... neighbors ' command
The 'show ip bgp neighbors swp31s0' command was not
working properly.  This fixes that issue.

This command still has issues that need to be investigated
but for the moment this gets the command working in the
form that is needed.  More rework can come.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-28 10:55:45 -04:00
Donald Sharp
b9f77ec810 bgpd: Make json output to be camelCase
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-28 10:55:45 -04:00
Donald Sharp
798c3572a0 bgpd: Modify 'show ... bgp ... summary' to only display pertinent info
Modify the 'show ... bgp ... summary' command when you are
looking at a afi( with no safi specified ) to only display
output for those safi's that have been configured.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-28 10:55:39 -04:00
Renato Westphal
f0dac89fde bgpd: fix "clear bgp" commands
The use of VTY_DECLVAR_CONTEXT(bgp, bgp) here is wrong as we are not
inside the "router bgp" configuration node. This was making the clear
commands always fail with a "Current configuration object was deleted
by another process" error, which doesn't make any sense.

Also, the bgp_clear() function will already check for us if the given
peer-group or neighbor exists or not, there's no need to duplicate this
logic here.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-04-28 10:47:51 -03:00
Donald Sharp
b3b3879c3e lib, bgpd: Remove UNDEFINED_NODE
Remove the UNDEFINED_NODE as that it's implementation breaks
our ability in BGP to figure out where we are by allowing
default: in the switch statement.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-04-15 13:26:56 -04:00
Don Slice
b60f527556 bgpd: labeled unicast display
Implement 'show' and 'clear' commands for the labeled-unicast address-family.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-04-06 10:32:07 -04:00
Don Slice
f51bae9cf9 bgpd: labeled unicast config
Implement support for activating the labeled-unicast address family in
BGP and relevant configuration for this address family.

Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-04-06 10:30:03 -04:00
David Lamparter
505e50567f *: apply DEFUN_NOSH for node-switch CLI commands
These have copies in vtysh that do the node-switch locally and are
listed in extract.pl's ignore list.  The ignore list however is
redundant since DEFUN_NOSH does the same thing...

ldpd is a bit hacky, but Renato is reworking this anyway.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-03-28 15:48:07 -04:00
Donald Sharp
1a664f5e36 Merge pull request #254 from donaldsharp/shutdown3
Shutdown take 3
2017-03-07 11:29:44 -05:00
Martin Winter
2989c6c960 Merge pull request #251 from donaldsharp/bgp_view
BGP Display
2017-03-07 06:51:10 -08:00
Donald Sharp
652b942989 bgpd: Add json output for last Notification message
When we send a shutdown message, add json
support to let us see it there too.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-03-06 19:40:26 -05:00
David Lamparter
73d70fa68a bgpd: TX shutdown message
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2017-03-06 19:40:26 -05:00
David Lamparter
38de8d0229 bgpd: RX shutdown message in "show bgp neighbor"
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2017-03-06 19:40:26 -05:00
Renato Westphal
83456d1438 Merge pull request #233 from donaldsharp/ecmp1
bgpd, zebra: Allow setting ecmp from daemon cli
2017-03-03 12:42:52 -03:00
Donald Sharp
f212a85776 bgp: Fix view/vrf lookup
This commit fixes the view/vrf lookup that got broken.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-03-02 13:31:01 -05:00
Donald Sharp
daf9ddbbc6 bgpd: Cleanup grabbag of coverity scan issues found
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-03-01 08:40:50 -05:00
Donald Sharp
37fe77317c bgpd, zebra: Allow setting ecmp from daemon cli
When starting up bgp and zebra now, you can specify
-e <number> or --ecmp <number>
and that number will be used as the maximum ecmp
that can be used.

The <number specified must be >= 1 and <= MULTIPATH_NUM
that Quagga is compiled with.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-03-01 07:58:32 -05:00
Philippe Guibert
5ef6cd6954 bgpd: replace AFI_ETHER reference with AFI_L2VPN ref
The introduction of AFI_L2VPN prefix makes usage of AFI_ETHER deprecated
and is of no usage currently. The former replaces the latter one.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2017-02-14 13:59:00 +01:00
Philippe Guibert
42362ae230 bgpd: remove HAVE_EVPN references
This commit removes HAVE_EVPN references from bgpd folder

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2017-02-14 13:58:59 +01:00
Philippe Guibert
b194703e9c bgpd: remove old address-family vty command for evpn
old vty format to configure evpn: address-family evpn
is no longer supported.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2017-02-14 13:58:59 +01:00
Philippe Guibert
61a5196233 bgpd: add support for evpn subnode by using afi/safi parameter
Added the possibility to enter in evpn address-family in bgp node, by
using 'address-family l2vpn evpn' command.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2017-02-14 13:58:58 +01:00
Philippe Guibert
3d6c0dfa87 bgpd: basic support for EVPN
To handle BGP NLRI EVPN messages, bgp is modified to handle AFI_L2VPN
and SAFI_EVPN values.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2017-02-14 13:58:57 +01:00
Philippe Guibert
4e0b7b6d35 bgpd: basic vty support for EVPN
Introduction of EVPN address-family node that is reachable under
BGP node, like follow: address-family evpn. Under that node, only
some commands are available for configuring a neighbor or setting
some basic settings like attribute unchanged behaviour. Currently,
no vty command is available for setting NLRI entries for EVPN.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2017-02-14 13:58:57 +01:00
David Lamparter
dab8cd005f *: fix ambiguous commands
Some "show [ip] bgp ipv4 encap ..." commands remaining ambiguous.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-02-10 16:57:20 +01:00
Donald Sharp
74ef167228 bgpd: Fix miss-indented code.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-02-08 09:35:33 -05:00
Donald Sharp
517cd68a3e bgpd: Fix usage of uninitialized dn_flag[]
dn_flag was tested inside of a 'use_json' block
further down in the function.  Move initialization
of the value to outside of the !use_json if statement

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-02-07 14:55:39 -05:00
David Lamparter
ace5a8a17e Merge branch 'frr/pull/157' ("Fixinator")
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-02-07 16:38:03 +01:00
Donald Sharp
848ac646bd Revert "bgpd: Put back original behavior for some show bgp commands"
This reverts commit 713de0685f.

During Discussions with Lou, it was decided that his code
changes would handle this part, and my code changes would
fix up vtysh and bgp to be in sync again.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-02-03 10:33:14 -05:00
Donald Sharp
fd420a3275 bgpd, vtysh: Fix vtysh able to handle some safi modes for bgp
This adds the ability for vtysh to handle v4 and v6
safi modes besides unicast and multicast.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com.
2017-02-03 10:29:53 -05:00
Lou Berger
efe9a9a62a bgp: remove HAVE_IPV6 from file (again!)
Signed-off-by: Lou Berger <lberger@labn.net>
2017-02-03 10:16:01 -05:00
Lou Berger
0114461b5e bgpd: add missing json strings
Signed-off-by: Lou Berger <lberger@labn.net>
2017-02-03 10:04:19 -05:00
Lou Berger
f62a5c334a bgpd: get rid of 'unknown' in show safi
Merge 2.0 change, adapted to master

Signed-off-by: Lou Berger <lberger@labn.net>
2017-02-02 22:12:26 -05:00
Lou Berger
d08aa468d7 bgpd: get rid of 'unknown' in show safi (broken in earlier merge)
Signed-off-by: Lou Berger <lberger@labn.net>
2017-02-02 21:54:10 -05:00
Lou Berger
f799a22aa7 bgpd: cleanup/restore show ip|ipv6 bgp and show bgp ipv4 summary related commands
Signed-off-by: Lou Berger <lberger@labn.net>
2017-02-02 21:53:57 -05:00
Donald Sharp
713de0685f bgpd: Put back original behavior for some show bgp commands
The behavior of some show commands was switched from
showing the unicast data to all safi data.  This
is a change in behavior and needs to be put
back for 2.0

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-02-02 13:56:56 -05:00
Donald Sharp
fdad6d5661 bgpd: Allow vtysh to work for address-family
extract.pl.in requires the lines that are ignored
to be consisten with what is in the *.c file
that we are ignoring from, else we get ambiguous
commands.

This allows vtysh to enter address-family sub mode
in bgp again.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-02-02 13:54:47 -05:00
Donald Sharp
1a35e2e565 Merge remote-tracking branch 'origin/stable/2.0' 2017-02-02 10:42:51 -05:00
Dinesh G Dutt
cca1dda8bf bgpd: Add decoded notification code strings to JSON output
Ticket: CM-14136
Reviewed By: CCR-5585
Testing Done: bgpmin

The JSON output of 'bgp neighbor show' lacked the decoded strings for
the last notification error code/subcode. Decoding these strings outside
quagga is painful, and then needs to match with any updates to the codes
from RFCs/drafts. Further, all apps that look to understanding this need
to then add their own decoders for these strings.

Just add the decoded strings to the JSON output as well. JSON key name
for this is 'lastNotificationReason'.

Signed-off-by: Dinesh Dutt <ddutt@cumulusnetworks.com>
2017-01-30 13:40:53 -05:00
Don Slice
3b69fd5118 bgpd: do not allow prefix length on update-source
A common misconfiguration that was silently accepted but wouldn't work
was including the prefix length on the update-source; i.e. 10.1.1.1/32.
This commit rejects this config and notifies the user.

Ticket: CM-13485
Signed-off-by: Don Slice <dslice@cumulusnetworks.com.
Reviewed-by: Donald Sharp
2017-01-30 13:40:53 -05:00
Donald Sharp
42afeb280b Merge remote-tracking branch 'origin/master' into redistribute 2017-01-27 16:11:55 -05:00
Donald Sharp
40d1cbfbb3 *: Fix redistribute issue
Somewhere in the past we switched from
using the auto-generated redistribute statements
to a non-generated version.  This caused us to
loose new protocols to redistribute as they are
added.  Put it back.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-27 15:52:12 -05:00
Donald Sharp
e677700b8f Merge branch 'master' into moreafisafi 2017-01-27 14:58:19 -05:00
Donald Sharp
c016b6c796 Merge remote-tracking branch 'origin/master' into pr/111 2017-01-27 11:44:42 -05:00
Donald Sharp
69d143a005 bgpd: Fix assert condition error.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-27 09:49:30 -05:00
Donald Sharp
b4898a387b bgp: Add Asserts and remove dead code
Add asserts to how I expect bgp_vty_find_and_parse_afi_safi
to be used.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-27 09:07:44 -05:00
Donald Sharp
9317e17dc8 bgpd: Make usage of idx consistent
Convert the idx to &idx to make our api more consistent

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-27 08:12:53 -05:00
Donald Sharp
0e37c258a3 bgpd: Fix possible crash and some minor CR issues
This fix addresses these things:

1) Clean up documentation as requested
2) Fix a wrong search for "exact-match"
3) Fix possible crash.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-27 04:57:44 -05:00
Donald Sharp
7f12cb2b65 Merge remote-tracking branch 'origin/master' into bgpafisafi 2017-01-26 10:38:07 -05:00