]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
7 years agovtysh: Cleanup some stuff(tm)
Donald Sharp [Mon, 22 May 2017 19:43:20 +0000 (15:43 -0400)]
vtysh: Cleanup some stuff(tm)

1) vtysh_config_dump was not properly indented.  Fix

2) Add VRF_NODE to be line_uniq when parsing return from sub-daemons

3) Fix 'no log monitor' to be line_uniq as well

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agolib, zebra: Pass up kernel table_id for vrf's
Donald Sharp [Wed, 17 May 2017 20:20:29 +0000 (16:20 -0400)]
lib, zebra: Pass up kernel table_id for vrf's

pim controls the vrf table creation for due to the way that
pim must interact with the kernel.  In order to match the
table_id for unicast <-> multicast( not necessary but a
real nice to have ) we need to pass up from zebra the
table_id associated with the vrf.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoMerge pull request #634 from dwalton76/bgp-ipv6-nexthop-ll-and-global-takeII
Renato Westphal [Wed, 31 May 2017 19:07:57 +0000 (16:07 -0300)]
Merge pull request #634 from dwalton76/bgp-ipv6-nexthop-ll-and-global-takeII

bgpd: resolve IPv6 LL and Global nexthop issue

7 years agoMerge pull request #645 from qlyoung/nonblocking-fixup
David Lamparter [Wed, 31 May 2017 18:47:30 +0000 (20:47 +0200)]
Merge pull request #645 from qlyoung/nonblocking-fixup

poll() fixup

7 years agofrr: remove --enable-poll
Quentin Young [Wed, 31 May 2017 17:40:38 +0000 (17:40 +0000)]
frr: remove --enable-poll

vestigial

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: make writing end of pipe nonblocking
Quentin Young [Wed, 31 May 2017 17:30:53 +0000 (17:30 +0000)]
lib: make writing end of pipe nonblocking

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agobgpd: resolve IPv6 LL and Global nexthop issue
Daniel Walton [Tue, 30 May 2017 15:02:34 +0000 (15:02 +0000)]
bgpd: resolve IPv6 LL and Global nexthop issue

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agolib: missed AWAKEN in r/w thread scheduler
Quentin Young [Thu, 18 May 2017 18:14:52 +0000 (18:14 +0000)]
lib: missed AWAKEN in r/w thread scheduler

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agolib: allow pthreads to poke poll()
Quentin Young [Wed, 10 May 2017 18:09:49 +0000 (18:09 +0000)]
lib: allow pthreads to poke poll()

When scheduling a task onto a thread master owned by another pthread, we
need to lock the thread master's mutex. However, if the pthread which
owns that thread master is in poll(), we could be stuck waiting for a
very long time. To solve this, we copy all data poll() needs and unlock
during poll(). To break the target pthread out of poll(), thread_master
has gained a pipe whose reading end is passed into poll(). After an event
that requires immediate action by the target pthread, a byte is written
into the pipe in order to wake it up.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
[DL: split off from select() removal]

7 years agolib: remove select()
Quentin Young [Wed, 10 May 2017 18:09:49 +0000 (18:09 +0000)]
lib: remove select()

poll() is present on every supported platform and does not have an upper
limit on file descriptors.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
[DL: split off from AWAKEN() change]

7 years agoMerge pull request #617 from donaldsharp/bgp_nexthop
Renato Westphal [Tue, 30 May 2017 13:27:38 +0000 (10:27 -0300)]
Merge pull request #617 from donaldsharp/bgp_nexthop

vtysh: Add back some missing bgp commands

7 years agoMerge pull request #632 from opensourcerouting/bgpd-show-segfaults
Donald Sharp [Tue, 30 May 2017 13:23:56 +0000 (09:23 -0400)]
Merge pull request #632 from opensourcerouting/bgpd-show-segfaults

bgpd: fix segfault with some show commands

7 years agoMerge pull request #630 from opensourcerouting/zebra-lbl-unicast-issues
Donald Sharp [Tue, 30 May 2017 13:13:04 +0000 (09:13 -0400)]
Merge pull request #630 from opensourcerouting/zebra-lbl-unicast-issues

Zebra labeled unicast issues

7 years agoMerge pull request #563 from qlyoung/enforce-no-pthread-cancellation
David Lamparter [Tue, 30 May 2017 13:10:52 +0000 (15:10 +0200)]
Merge pull request #563 from qlyoung/enforce-no-pthread-cancellation

lib: enforce thread_cancel() MT-unsafe invariant

7 years agoMerge pull request #605 from dwalton76/show-ip-route-vrf-main
David Lamparter [Tue, 30 May 2017 12:55:27 +0000 (14:55 +0200)]
Merge pull request #605 from dwalton76/show-ip-route-vrf-main

zebra: one "show ip route" to rule them all

7 years agoMerge pull request #576 from chiragshah6/pim_dev
David Lamparter [Tue, 30 May 2017 12:37:08 +0000 (14:37 +0200)]
Merge pull request #576 from chiragshah6/pim_dev

pimd: pim bfd support

7 years agoMerge pull request #623 from dslicenc/cm16512
Renato Westphal [Tue, 30 May 2017 12:31:40 +0000 (09:31 -0300)]
Merge pull request #623 from dslicenc/cm16512

bgpd: labeled-unicast issue changing from no import-check to using im…

7 years agoMerge pull request #627 from donaldsharp/ripng
David Lamparter [Tue, 30 May 2017 12:29:35 +0000 (14:29 +0200)]
Merge pull request #627 from donaldsharp/ripng

Ripng

7 years agoMerge pull request #603 from qlyoung/fix-access-packed-member
David Lamparter [Tue, 30 May 2017 12:26:03 +0000 (14:26 +0200)]
Merge pull request #603 from qlyoung/fix-access-packed-member

*: do not take address of packed member

7 years agobgpd: labeled-unicast issue changing from no import-check to using import-check
Don Slice [Fri, 26 May 2017 17:05:18 +0000 (17:05 +0000)]
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>
7 years agobgpd: fix segfault with some show commands
Renato Westphal [Tue, 30 May 2017 11:30:57 +0000 (08:30 -0300)]
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>
7 years agozebra: fix installation of ipv4 labeled unicast routes
Renato Westphal [Mon, 29 May 2017 22:48:11 +0000 (19:48 -0300)]
zebra: fix installation of ipv4 labeled unicast routes

Rearrange the _netlink_route_build*() functions so the labels of the
nexthops are always installed, even for IPv4 routes with IPv6 nexthops.

Fixes Labeled Unicast with BGP Unnumbered.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agozebra: fix processing of labeled ipv6 routes
Renato Westphal [Mon, 29 May 2017 22:41:40 +0000 (19:41 -0300)]
zebra: fix processing of labeled ipv6 routes

We're incrementing nh_count twice for the same nexthop.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoMerge pull request #615 from dslicenc/cm16531
Renato Westphal [Mon, 29 May 2017 22:32:38 +0000 (19:32 -0300)]
Merge pull request #615 from dslicenc/cm16531

zebra: add bgp unnumbered labeled-unicast to zserv

7 years agoMerge pull request #614 from qlyoung/fix-ospf6-oa-scope
Renato Westphal [Mon, 29 May 2017 20:49:52 +0000 (17:49 -0300)]
Merge pull request #614 from qlyoung/fix-ospf6-oa-scope

ospf6d: default to dotted quad instead of ret NULL

7 years agoMerge pull request #625 from donaldsharp/show_zebra
Renato Westphal [Mon, 29 May 2017 15:58:21 +0000 (12:58 -0300)]
Merge pull request #625 from donaldsharp/show_zebra

zebra: Fix 64 bit number printf issues

7 years agoMerge pull request #629 from donaldsharp/eigrp_network
Renato Westphal [Mon, 29 May 2017 14:47:41 +0000 (11:47 -0300)]
Merge pull request #629 from donaldsharp/eigrp_network

eigrpd: Fix network statement

7 years agoMerge pull request #618 from donaldsharp/hopola
Renato Westphal [Mon, 29 May 2017 13:21:46 +0000 (10:21 -0300)]
Merge pull request #618 from donaldsharp/hopola

Hopola

7 years agoeigrpd: Fix network statement
Donald Sharp [Mon, 29 May 2017 11:08:52 +0000 (07:08 -0400)]
eigrpd: Fix network statement

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoripngd: Let ripng announce interface turned on for usage.
Donald Sharp [Sat, 27 May 2017 22:48:41 +0000 (18:48 -0400)]
ripngd: Let ripng announce interface turned on for usage.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agoripngd: Fix missing newlines at end of help strings
Donald Sharp [Sat, 27 May 2017 22:20:51 +0000 (18:20 -0400)]
ripngd: Fix missing newlines at end of help strings

Found by visual inspection and some squinting

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agonhrpd: Fix missing include for 'access_list_init' function
Donald Sharp [Fri, 26 May 2017 20:19:08 +0000 (16:19 -0400)]
nhrpd: Fix missing include for 'access_list_init' function

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: Fix 64 bit number printf issues
Donald Sharp [Fri, 26 May 2017 18:05:35 +0000 (14:05 -0400)]
zebra: Fix 64 bit number printf issues

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: remove struct capability_orf_entry
Quentin Young [Fri, 26 May 2017 15:21:36 +0000 (15:21 +0000)]
bgpd: remove struct capability_orf_entry

virtually unused

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years ago*: do not take address of packed member
Quentin Young [Mon, 22 May 2017 15:52:30 +0000 (15:52 +0000)]
*: do not take address of packed member

May result in alignment errors on certain platforms

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agozebra: Remove string operations from non-debug path
Donald Sharp [Fri, 26 May 2017 01:22:03 +0000 (21:22 -0400)]
zebra: Remove string operations from non-debug path

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: Store commonly used values instead of regenerating
Donald Sharp [Fri, 26 May 2017 01:11:24 +0000 (21:11 -0400)]
zebra: Store commonly used values instead of regenerating

the ipv4_ll address used for 5549 routes does not need
to be figured out every single time that we attempt
to install/remove a route of that type.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agovtysh: Add back some missing bgp commands
Donald Sharp [Thu, 25 May 2017 17:53:50 +0000 (13:53 -0400)]
vtysh: Add back some missing bgp commands

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: add bgp unnumbered labeled-unicast to zserv
Don Slice [Wed, 24 May 2017 18:31:10 +0000 (11:31 -0700)]
zebra: add bgp unnumbered labeled-unicast to zserv

Prior to the fix, labels weren't getting installed in zebra nor were the
ifindex values correctly set if labeled-unicast was used in conjunction
with bgp unnumbered.

Ticket: CM-16531
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
Reviewed-by: CCR-6276
7 years agoMerge pull request #610 from donaldsharp/rpprefixlen
Jafar Al-Gharaibeh [Thu, 25 May 2017 04:10:19 +0000 (22:10 -0600)]
Merge pull request #610 from donaldsharp/rpprefixlen

pimd: Allow secondary address comparisons to work

7 years agoospf6d: default to dotted quad instead of ret NULL
Quentin Young [Thu, 25 May 2017 04:09:52 +0000 (04:09 +0000)]
ospf6d: default to dotted quad instead of ret NULL

to fix coverity warning

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Wed, 24 May 2017 15:22:35 +0000 (11:22 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

7 years agoMerge pull request #612 from LabNConsulting/working/master/patch-set/deprecateEncap
Donald Sharp [Wed, 24 May 2017 15:04:53 +0000 (11:04 -0400)]
Merge pull request #612 from LabNConsulting/working/master/patch-set/deprecateEncap

master:  remove support for config & show of encap safi

7 years agoMerge pull request #611 from LabNConsulting/working/3.0/patch-set/deprecateEncap
Donald Sharp [Wed, 24 May 2017 15:04:36 +0000 (11:04 -0400)]
Merge pull request #611 from LabNConsulting/working/3.0/patch-set/deprecateEncap

3.0: remove support for config & show of encap safi

7 years agobgpd: remove encap safi vty related files bgp_encap.h|c
Lou Berger [Tue, 23 May 2017 19:34:43 +0000 (15:34 -0400)]
bgpd: remove encap safi vty related files bgp_encap.h|c

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: remove encap_safi rx processing
Lou Berger [Tue, 23 May 2017 19:15:45 +0000 (15:15 -0400)]
bgpd: remove encap_safi rx processing

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: remove encap safi show commands
Lou Berger [Tue, 23 May 2017 19:11:30 +0000 (15:11 -0400)]
bgpd: remove encap safi show commands

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: remove additional instance of BGP_ENCAP(v6)_NODE
Lou Berger [Tue, 23 May 2017 19:58:10 +0000 (15:58 -0400)]
bgpd: remove additional instance of BGP_ENCAP(v6)_NODE

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd rfapi: remove ability to configure use of encap-safi (continue to use encap...
Lou Berger [Tue, 23 May 2017 19:02:31 +0000 (15:02 -0400)]
bgpd rfapi: remove ability to configure use of encap-safi (continue to use encap attribute)

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: remove support for ipv4|6 encap safi config
Lou Berger [Tue, 23 May 2017 19:01:54 +0000 (15:01 -0400)]
bgpd: remove support for ipv4|6 encap safi config

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agovtysh: remove BGP_ENCAP(V6)_NODE
Lou Berger [Tue, 23 May 2017 19:01:09 +0000 (15:01 -0400)]
vtysh: remove BGP_ENCAP(V6)_NODE

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agolib: remove BGP_ENCAP(V6)_NODE
Lou Berger [Tue, 23 May 2017 19:00:53 +0000 (15:00 -0400)]
lib: remove BGP_ENCAP(V6)_NODE

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: remove encap safi vty related files bgp_encap.h|c
Lou Berger [Tue, 23 May 2017 19:34:43 +0000 (15:34 -0400)]
bgpd: remove encap safi vty related files bgp_encap.h|c

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agopimd: Allow secondary address comparisons to work
Donald Sharp [Tue, 23 May 2017 18:50:45 +0000 (14:50 -0400)]
pimd: Allow secondary address comparisons to work

The secondary address comparison done to determine if we are
an RP for a specified address was comparing A.B.C.D/32 to A.B.C.D/0
because when we created the rp_info we were not setting the prefixlen

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: remove encap_safi rx processing
Lou Berger [Tue, 23 May 2017 19:15:45 +0000 (15:15 -0400)]
bgpd: remove encap_safi rx processing

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: remove encap safi show commands
Lou Berger [Tue, 23 May 2017 19:11:30 +0000 (15:11 -0400)]
bgpd: remove encap safi show commands

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd rfapi: remove ability to configure use of encap-safi (continue to use encap...
Lou Berger [Tue, 23 May 2017 19:02:31 +0000 (15:02 -0400)]
bgpd rfapi: remove ability to configure use of encap-safi (continue to use encap attribute)

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: remove support for ipv4|6 encap safi config
Lou Berger [Tue, 23 May 2017 19:01:54 +0000 (15:01 -0400)]
bgpd: remove support for ipv4|6 encap safi config

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agovtysh: remove BGP_ENCAP(V6)_NODE
Lou Berger [Tue, 23 May 2017 19:01:09 +0000 (15:01 -0400)]
vtysh: remove BGP_ENCAP(V6)_NODE

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agolib: remove BGP_ENCAP(V6)_NODE
Lou Berger [Tue, 23 May 2017 19:00:53 +0000 (15:00 -0400)]
lib: remove BGP_ENCAP(V6)_NODE

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agoMerge pull request #598 from donaldsharp/to_3.0
Donald Sharp [Tue, 23 May 2017 15:42:11 +0000 (11:42 -0400)]
Merge pull request #598 from donaldsharp/to_3.0

To 3.0

7 years agozebra: one "show ip route" to rule them all
Daniel Walton [Mon, 22 May 2017 19:56:11 +0000 (19:56 +0000)]
zebra: one "show ip route" to rule them all

Signed-off-by: Daniel Walton <dwalton@cumulusnetworks.com>
7 years agoMerge pull request #593 from qlyoung/fix-nhrpd-acl-3.0
David Lamparter [Mon, 22 May 2017 15:46:48 +0000 (17:46 +0200)]
Merge pull request #593 from qlyoung/fix-nhrpd-acl-3.0

nhrpd: install access-list commands

7 years agoMerge pull request #591 from qlyoung/ospf-df-areaid-3.0
David Lamparter [Mon, 22 May 2017 15:45:55 +0000 (17:45 +0200)]
Merge pull request #591 from qlyoung/ospf-df-areaid-3.0

ospfd: remember format for ospf area id

7 years agoMerge pull request #582 from qlyoung/ospf6-df-areaid
David Lamparter [Mon, 22 May 2017 15:45:29 +0000 (17:45 +0200)]
Merge pull request #582 from qlyoung/ospf6-df-areaid

ospf6d: remember format for ospf6 area id

7 years agoMerge pull request #581 from donaldsharp/zebra
David Lamparter [Mon, 22 May 2017 15:44:33 +0000 (17:44 +0200)]
Merge pull request #581 from donaldsharp/zebra

Zebra

7 years agoMerge pull request #596 from donaldsharp/bgp_vrf_terminate
David Lamparter [Mon, 22 May 2017 15:40:26 +0000 (17:40 +0200)]
Merge pull request #596 from donaldsharp/bgp_vrf_terminate

bgpd: Fix crash when going down

7 years agoMerge pull request #600 from qlyoung/fix-privs-obo
David Lamparter [Mon, 22 May 2017 15:39:40 +0000 (17:39 +0200)]
Merge pull request #600 from qlyoung/fix-privs-obo

lib: fix array sizes for capability map

7 years agoMerge pull request #599 from qlyoung/fix-ospf6-uaf-3.0
David Lamparter [Mon, 22 May 2017 15:39:03 +0000 (17:39 +0200)]
Merge pull request #599 from qlyoung/fix-ospf6-uaf-3.0

ospf6d: fix use-after-free

7 years agolib: fix array sizes for capability map
Quentin Young [Mon, 22 May 2017 02:26:16 +0000 (02:26 +0000)]
lib: fix array sizes for capability map

incorrect array sizes causing out of bounds read and potentially
incorrect capability settings

introduced in 1b322039

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospf6d: fix use-after-free
Quentin Young [Mon, 22 May 2017 02:12:05 +0000 (02:12 +0000)]
ospf6d: fix use-after-free

ospf6_route_remove may free the ospf6_route passed to it if the refcount
reaches zero, in which case zeroing the ->flag field constitutes a uaf

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agovtysh: fix autocompletion API misuse
David Lamparter [Sat, 20 May 2017 14:50:52 +0000 (16:50 +0200)]
vtysh: fix autocompletion API misuse

I forgot to update this call when I changed
cmd_variable_handler_register to take an array...

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agobgpd: fix sending of invalid nexthops on the wire
Renato Westphal [Fri, 19 May 2017 13:51:00 +0000 (10:51 -0300)]
bgpd: fix sending of invalid nexthops on the wire

The bpacket_reformat_for_peer() function rewrites the nexthop of outgoing
route updates on a per-peer basis in order to handle route-maps ("set
ip next-hop") and locally-originated routes missing a nexthop.

In the latter case, RFC 4271 says the following: "When announcing a
locally-originated route to an internal peer, the BGP speaker SHOULD use
the interface address of the router through which the announced network
is reachable for the speaker as the NEXT_HOP".

We were doing this for regular IPv4/IPv6 routes, but not for
VPN/EVPN/ENCAP routes, which were being announced with invalid nexthops
(0.0.0.0 or ::).

This patch fixes this problem.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: fix display of encap routes in the running configuration
Renato Westphal [Fri, 19 May 2017 19:51:46 +0000 (16:51 -0300)]
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>
7 years agobgpd: add network commands for encapv6
Renato Westphal [Fri, 19 May 2017 15:34:26 +0000 (12:34 -0300)]
bgpd: add network commands for encapv6

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: remove unused str2tag() function
Renato Westphal [Fri, 19 May 2017 13:49:24 +0000 (10:49 -0300)]
bgpd: remove unused str2tag() function

This function is not used anymore since commit fb1d2a2d9.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoMerge pull request #592 from opensourcerouting/bgpd-invalid-nexthops
Donald Sharp [Sat, 20 May 2017 16:56:17 +0000 (12:56 -0400)]
Merge pull request #592 from opensourcerouting/bgpd-invalid-nexthops

Bgpd invalid nexthops

7 years agoMerge pull request #594 from opensourcerouting/fix-mpls-build
Donald Sharp [Sat, 20 May 2017 13:04:22 +0000 (09:04 -0400)]
Merge pull request #594 from opensourcerouting/fix-mpls-build

zebra: build mpls sources the right way

7 years agobgpd: Fix crash when going down
Donald Sharp [Sat, 20 May 2017 12:22:23 +0000 (08:22 -0400)]
bgpd: Fix crash when going down

When bgp is sent a SIGINT signal with vrf's configured
bgp proceeds to crash on the way down.  This is because
the bm->bgp list was deleted( but the pointer was kept around)
and then later in the going down process vrf_terminate is called
which attempts to find any associated processes.  Since memory
has been freed and subsuquently used for something else
we get a corrupt bgp pointer and bgp crashes.

Here is the trace:

(gdb) bt
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
    at sigevent.c:255
    at thread.c:1315
(gdb)

Multiple protocols besides bgp and zebra running are needed to make
this happen as well.  So a weird timing related issue?

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agozebra: build mpls sources the right way
Renato Westphal [Fri, 19 May 2017 22:10:42 +0000 (19:10 -0300)]
zebra: build mpls sources the right way

zebra_mpls_null.c should contain only dummy replacements for
platform-specific functions that may not be available on some systems
(e.g. add/delete LSPs in the kernel).

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agonhrpd: install access-list commands
Quentin Young [Fri, 19 May 2017 20:06:43 +0000 (20:06 +0000)]
nhrpd: install access-list commands

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agobgpd: fix sending of invalid nexthops on the wire
Renato Westphal [Fri, 19 May 2017 13:51:00 +0000 (10:51 -0300)]
bgpd: fix sending of invalid nexthops on the wire

The bpacket_reformat_for_peer() function rewrites the nexthop of outgoing
route updates on a per-peer basis in order to handle route-maps ("set
ip next-hop") and locally-originated routes missing a nexthop.

In the latter case, RFC 4271 says the following: "When announcing a
locally-originated route to an internal peer, the BGP speaker SHOULD use
the interface address of the router through which the announced network
is reachable for the speaker as the NEXT_HOP".

We were doing this for regular IPv4/IPv6 routes, but not for
VPN/EVPN/ENCAP routes, which were being announced with invalid nexthops
(0.0.0.0 or ::).

This patch fixes this problem.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: fix display of encap routes in the running configuration
Renato Westphal [Fri, 19 May 2017 19:51:46 +0000 (16:51 -0300)]
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>
7 years agobgpd: add network commands for encapv6
Renato Westphal [Fri, 19 May 2017 15:34:26 +0000 (12:34 -0300)]
bgpd: add network commands for encapv6

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agolib: enforce thread_cancel() MT-unsafe invariant
Quentin Young [Wed, 17 May 2017 17:11:34 +0000 (17:11 +0000)]
lib: enforce thread_cancel() MT-unsafe invariant

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospfd: remember format for ospf area id
Quentin Young [Fri, 19 May 2017 18:38:02 +0000 (18:38 +0000)]
ospfd: remember format for ospf area id

If the user enters a decimal, display a decimal.
If the user enters a dotted quad, display a dotted quad.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agoospf6d: remember format for ospf6 area id
Quentin Young [Thu, 18 May 2017 17:27:09 +0000 (17:27 +0000)]
ospf6d: remember format for ospf6 area id

If the user enters a decimal, display a decimal.
If the user enters a dotted quad, display a dotted quad.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
7 years agobgpd: remove unused str2tag() function
Renato Westphal [Fri, 19 May 2017 13:49:24 +0000 (10:49 -0300)]
bgpd: remove unused str2tag() function

This function is not used anymore since commit fb1d2a2d9.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agobgpd: add missing white space in debug message
Renato Westphal [Fri, 19 May 2017 13:48:16 +0000 (10:48 -0300)]
bgpd: add missing white space in debug message

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
7 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Fri, 19 May 2017 13:41:15 +0000 (09:41 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

7 years agoMerge pull request #584 from LabNConsulting/working/3.0/patch/configVpnTags-v2
Renato Westphal [Fri, 19 May 2017 13:38:03 +0000 (10:38 -0300)]
Merge pull request #584 from LabNConsulting/working/3.0/patch/configVpnTags-v2

bgpd: Address some issues seen while encoding VPN static routes (Issue #572)  -- V2

7 years agoMerge pull request #588 from opensourcerouting/nhrpd-20170519
Donald Sharp [Fri, 19 May 2017 12:33:07 +0000 (08:33 -0400)]
Merge pull request #588 from opensourcerouting/nhrpd-20170519

nhrpd: configure mgre ipv6 nd for nhrp

7 years agoMerge remote-tracking branch 'origin/stable/3.0'
Donald Sharp [Fri, 19 May 2017 12:09:42 +0000 (08:09 -0400)]
Merge remote-tracking branch 'origin/stable/3.0'

7 years agobgpd: set NH len for ipv4 vpn|encap statics
Lou Berger [Fri, 19 May 2017 11:56:13 +0000 (07:56 -0400)]
bgpd: set NH len for ipv4 vpn|encap statics

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agoMerge pull request #586 from donaldsharp/msdp_crashalicious
David Lamparter [Fri, 19 May 2017 11:38:48 +0000 (13:38 +0200)]
Merge pull request #586 from donaldsharp/msdp_crashalicious

pimd: Fix crash from cli missinterpertation

7 years agonhrpd: configure mgre ipv6 nd for nhrp
Timo Teräs [Fri, 19 May 2017 11:08:35 +0000 (14:08 +0300)]
nhrpd: configure mgre ipv6 nd for nhrp

Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
7 years agopimd: Fix crash from cli missinterpertation
Donald Sharp [Fri, 19 May 2017 03:06:12 +0000 (23:06 -0400)]
pimd: Fix crash from cli missinterpertation

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
7 years agobgpd: fix ipv4|6 vpn|encap with route-map show config
Lou Berger [Thu, 18 May 2017 21:53:06 +0000 (17:53 -0400)]
bgpd: fix ipv4|6 vpn|encap with route-map show config

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgp: don't put empty encap or vnc attributes on the wire
Lou Berger [Thu, 18 May 2017 13:45:48 +0000 (09:45 -0400)]
bgp: don't put empty encap or vnc attributes on the wire

Signed-off-by: Lou Berger <lberger@labn.net>
7 years agobgpd: repalce direct calls to system memory functions
Lou Berger [Thu, 18 May 2017 13:06:47 +0000 (09:06 -0400)]
bgpd: repalce direct calls to system memory functions

Signed-off-by: Lou Berger <lberger@labn.net>