Commit Graph

359 Commits

Author SHA1 Message Date
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
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
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
Donald Sharp
af155bb6d8 bgpd: Fix crash when entering 'address-family ipv4'
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-26 09:09:38 -05:00
Donald Sharp
c7f1274bad bgpd, vtysh: Allow bgp and vtysh to work together again
Harmony is restored to the world as bgp and vtysh
can now, again, stay in sync with each other.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-25 21:51:28 -05:00
Donald Sharp
6dfe1c38d7 Merge pull request #101 from LabNConsulting/working/master/patch-set/3-vrf
Master version of basic vrf commands & some other missed fixes
2017-01-25 18:26:15 -05:00
David Lamparter
dcb817fd27 Merge branch 'frr/pull/92' (BGP Large Community support)
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-01-25 23:04:29 +01:00
David Lamparter
2acb4ac250 bgpd: lcommunity: fix whitespace & copyright
(to match surrounding code)
"git diff -w" should be almost empty.

Copyright edited to say FRR, this is not GNU Zebra :)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-01-25 22:35:03 +01:00
Donald Sharp
7eeee51e02 bgpd: Add some documentation for bgp_vty_find_and_parse_afi_safi_vrf
The use of this function was causing some confusion.  As
such let's add some documentation.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-25 09:37:13 -05:00
Philippe Guibert
1496eba797 bgpd: remove duplicated vty command to enter in vpn address family node
Because the vpn configuration command was duplicate, there was an
ambiguity to raise. This is a fix that permits configuring vpnv4 or
vpnv6 address-families on bgp.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2017-01-24 16:18:55 +01:00
Donald Sharp
f2a8972b0b bgpd: Cleanup 'view all' command
1) Make [<view|vrf> WORD] consistent
2) Fix inconsistent help string
3) Fix the show .. vrf all command

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-23 22:34:50 -05:00
Donald Sharp
af462945f1 bgpd: Start cleanup of 'show [ip] bgp ...' commands
Create bgp_vty_find_and_parse_afi_safi_vrf that
will parse the
`show [ip] bgp [<view|vrf> WORD] [<ipv4|ipv6> [<unicast|multicast|vpn|encap>]]'
part of a command and to return the correct spot we are in the command.

Cleanup 'dampening parameters' part of this command.

Consolidate the creation of the bgp data structure to be a bit cleaner.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-23 22:34:49 -05:00
Donald Sharp
3289141f01 bgpd: Remove unused function bgp_parse_safi
The bgp_parse_safi function is never called remove it.
Especially as that later commits will properly handle
what this function was trying to do.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-23 22:34:49 -05:00
David Lamparter
290c1eb150 Merge branch 'frr/pull/93'
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-01-24 03:16:01 +01:00
David Lamparter
44b8cd53c5 bgpd: fix whitespace
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-01-24 03:15:26 +01:00
Lou Berger
ce8080dbd8 bgpd: disambiguate differet forms of
show bgp ipv4 vpn
      address-family ipv4&6 vpn

Signed-off-by: Lou Berger <lberger@labn.net>
2017-01-22 21:08:05 -05:00
Donald Sharp
52951b630a bgpd: Fix cli for large-communities
The original commit for large communities broke
'show ip bgp' and 'show bgp ipv4 unicast' and
their ilk.  This commit fixes this as well
as some vtysh parse errors identified.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-20 10:43:08 -05:00
Donald Sharp
389e3fe0da bgpd: Cleanup some compiler warnings
Cleanup some compiler warnings discovered by
omnios.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-18 19:30:47 -05:00
Job Snijders
57d187bc77 Support for BGP Large Communities
BGP Large Communities are a novel way to signal information between
networks. An example of a Large Community is: "2914:65400:38016". Large
BGP Communities are composed of three 4-byte integers, separated by a
colon. This is easy to remember and accommodates advanced routing
policies in relation to 4-Byte ASNs.

This feature was developed by:
Keyur Patel <keyur@arrcus.com> (Arrcus, Inc.),
Job Snijders <job@ntt.net> (NTT Communications),
David Lamparter <equinox@opensourcerouting.org>
and Donald Sharp <sharpd@cumulusnetworks.com>

Signed-off-by: Job Snijders <job@ntt.net>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-01-18 18:38:53 -05:00
Philippe Guibert
d690237310 bgpd: add define of compilation for vpn commands
Use KEEP_OLD_VPN_COMMANDS define to brace some vty commands used by bgp
to configure or show vpnvx contexts using old method, that is to say
using vty keyword vpnv4 or vpnv6 command.
In addition to this, the commit adds two new commands under route-map
with new format:
[no] set ipv4|ipv6 vpn nexthop <IPv4 Address> | <IPv6 Address>
It also add following command in old format:
[no] set vpnv6 nexthop <IPv6 Address>
Note that the commit does not take into account the availability of old
commands that are not available in new format.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com
2017-01-18 12:39:46 +01:00
Donald Sharp
9aa7f43f7e Merge branch 'master' into cleanup 2017-01-13 14:48:16 -05:00
David Lamparter
b6f1faf045 Merge branch 'stable/2.0-for-merge'
Conflicts (CLI vs. atol()):
- bgpd/bgp_vty.c
- ospfd/ospf_vty.c
- zebra/zebra_vty.c

NB: pull req #65 (LabNConsulting/working/2.0/afi-safi-vty/c) was
excluded from this merge.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-01-13 15:24:25 +01:00