Commit Graph

507 Commits

Author SHA1 Message Date
David Lamparter
21bb7c8774 Merge commit '3d22338f04d9554fa' into evpn-prep
Conflicts:
	lib/Makefile.am

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-07-10 22:15:19 +02:00
Daniel Walton
41e3491695 bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-07-10 14:08:43 +00:00
Daniel Walton
b738b1ac66 bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-06-30 18:04:50 +00:00
Daniel Walton
1161690b93 Merge branch 'master' of https://github.com/dwalton76/frr into bgpd-ipv4-plus-label-misc3
Conflicts:
	bgpd/bgp_route.c
2017-06-30 17:52:56 +00:00
Quentin Young
e31b6333f4 *: vty_outln (vty, "") --> vty_out (vty, VTYNL)
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-29 17:34:56 +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
Quentin Young
96ade3ed77 *: use vty_outln
Saves 400 lines

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-29 17:31:28 +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
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
7e045c3d42 *: use ->text and strmatch where appropriate
Still need to go fix all the places where we do a 1-char strncmp...

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

@asdf@
expression idx;
@@
<...
 strcmp (
- argv[idx]->arg,
+ argv[idx]->text,
  ...)
...>

@depends on asdf@
expression idx;
@@
<...
- !strcmp (argv[idx]->text,
+ strmatch (argv[idx]->text,
           ...)
...>

@depends on asdf@
expression idx;
expression arg;
@@
<...
- strcmp (argv[idx]->text, arg) == 0
+ strmatch (argv[idx]->text, arg)
...>

@depends on asdf@
expression idx;
expression arg;
@@
<...
- strcmp (argv[idx]->text, arg) != 0
+ !strmatch (argv[idx]->text, arg)
...>

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2017-06-27 17:46:42 +00:00
Daniel Walton
292caba3ba bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-06-26 17:22:14 +00:00
Daniel Walton
c1a44e4367 Merge branch 'master' into bgpd-ipv4-plus-label-misc3 2017-06-21 10:30:29 -04:00
Daniel Walton
0826e83cf6 bgpd: Install SAFI_LABELED_UNICAST routes in SAFI_UNICAST table
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-06-20 14:50:00 +00:00
Russ White
7ee5d889e1 Merge pull request #728 from donaldsharp/owner
bgpd: Remove unset table.owner
2017-06-19 21:55:43 -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
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
Donald Sharp
6dc556447b bgpd: Remove unset table.owner
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-06-15 21:34:19 -04:00
Russ White
ad2e2470f6 Merge pull request #679 from dslicenc/cm16513
bgpd: add "set label-index" route-map option
2017-06-09 14:01:36 -04:00
Don Slice
8b81993eb3 bgpd: set bgp label-index range to (0-1048560)
Based on suggestions made in the FRR technical meeting, making the
label-index range 2^20-16 for the max label size minus the reserved
labels.

Ticket: CM-16513
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-06-06 09:29:30 -07:00
Don Slice
d990e3847c bgpd: add "set label-index" route-map option
Added the ability to set the label-index value based on criteria other
than the network statement.  Manual testing looks good and added to the
ticket.

Ticket: CM-16513
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: CCR-6339
2017-06-06 06:48:53 -07:00
Don Slice
a9609069a5 bgpd: fix ipv6 network statement label-index node
Problem reported with the inability to define "network xx::/64 label-index" to
the config.  Found that the install_element was pointing to the wrong node.

Ticket: CM-16615
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-06-05 13:13:57 +00:00
Daniel Walton
f040db8f7a bgpd: resolve IPv6 LL and Global nexthop issue
Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
2017-05-30 15:02:34 +00:00
Donald Sharp
8f86e04871 Merge pull request #632 from opensourcerouting/bgpd-show-segfaults
bgpd: fix segfault with some show commands
2017-05-30 09:23:56 -04:00
Don Slice
4dfee0ce4e bgpd: labeled-unicast issue changing from no import-check to using import-check
Problem seen in testing import-check using labeled-unicast address-family. When
transitioning from "no bgp network import-check" to "bgp network import-check",
previously installed networks were not removed.  This fix resolves this.

Ticket: CM-16512
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
2017-05-30 12:16:01 +00:00
Renato Westphal
8282ecff17 bgpd: fix segfault with some show commands
The following commands were causing bgpd to crash when vpnv4/vpnv6 static
routes are configured:

bgpd aborted: vtysh  -c "show ip bgp view all ipv4 vpn json"
bgpd aborted: vtysh  -c "show ip bgp view all ipv4 vpn"
bgpd aborted: vtysh  -c "show ip bgp view all ipv6 vpn json"
bgpd aborted: vtysh  -c "show ip bgp view all ipv6 vpn"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv4 vpn json"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv4 vpn"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv6 vpn json"
bgpd aborted: vtysh  -c "show ip bgp vrf all ipv6 vpn"
bgpd aborted: vtysh  -c "show bgp view all ipv4 vpn json"
bgpd aborted: vtysh  -c "show bgp view all ipv4 vpn"
bgpd aborted: vtysh  -c "show bgp view all ipv6 vpn json"
bgpd aborted: vtysh  -c "show bgp view all ipv6 vpn"
bgpd aborted: vtysh  -c "show bgp vrf all ipv4 vpn json"
bgpd aborted: vtysh  -c "show bgp vrf all ipv4 vpn"
bgpd aborted: vtysh  -c "show bgp vrf all ipv6 vpn json"
bgpd aborted: vtysh  -c "show bgp vrf all ipv6 vpn"

Problem found with the CLI fuzzer.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-30 08:30:57 -03:00
vivek
ea2e48899b bgpd: Fix route detailed show for EVPN
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
2017-05-25 10:20:04 -07:00
vivek
86f1ef44f7 lib: Refine EVPN prefix definition
Modify EVPN prefix to use the generic IP address structure. Add support
for EVPN type-2 and type-3 prefix dump. Fix references to modified fields
as needed.

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
Reviewed-by:   Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-25 10:20:03 -07:00
Lou Berger
1ec1afd6cb bgpd: remove encap safi vty related files bgp_encap.h|c
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-23 15:58:50 -04: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
Renato Westphal
ebb0c02ad3 bgpd: fix display of encap routes in the running configuration
Static encap routes don't have an MPLS label. Also, use %u instead of
%d to print the label.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-19 16:56:13 -03:00
Renato Westphal
dfe56adf91 bgpd: add missing white space in debug message
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-19 10:48:16 -03:00
Donald Sharp
78ca62a7b2 Merge remote-tracking branch 'origin/stable/3.0' 2017-05-19 09:41:15 -04:00
Lou Berger
6a1d7e82ae bgpd: set NH len for ipv4 vpn|encap statics
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-19 07:56:13 -04:00
Lou Berger
6056699585 bgpd: fix ipv4|6 vpn|encap with route-map show config
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-18 17:53:06 -04:00
Lou Berger
2f98bf4770 bgpd: repalce direct calls to system memory functions
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-18 17:42:04 -04:00
Lou Berger
fb1d2a2d97 bgpd: cleanup vpn label config, set BoS, use 'label' in place of 'tag'
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-18 17:42:04 -04:00
David Lamparter
e2f30ad1c2 Merge branch 'frr/pull/569'
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2017-05-18 12:34:34 +02:00
David Lamparter
bac7b7b935 Merge pull request #537 from donaldsharp/vrf_stuff
Vrf stuff
2017-05-17 22:06:39 +02:00
Lou Berger
201c3dac29 bgpd: fix config of v6 vpn networks tags
Signed-off-by: Lou Berger <lberger@labn.net>
2017-05-17 14:56:43 -04:00
Donald Sharp
910a5c0e21 Merge branch 'master' into vrf_stuff 2017-05-16 07:58:55 -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
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
Donald Sharp
46c3ce8327 bgpd: Cleanup some SA
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
2017-05-15 07:33:48 -04: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
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
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
ff59521466 bgpd: fix 'show bgp [...] longer-prefixes'
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
2017-05-12 11:58:37 -03:00