]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
4 years agoFRRouting Release 7.2 frr-7.2
Martin Winter [Tue, 15 Oct 2019 14:44:47 +0000 (16:44 +0200)]
FRRouting Release 7.2

ALL Daemons
    -N <namespace> to allow for config file locating when running FRR
      inside of a namespace
    Impoved Testing across all daemons
BFD
    VRF Support
    Conversion to Northbound interface
BGP
    Aggregate-address add route-map support
    BMP Support
    Improved JSON output for many commands
    `show bgp afi safi summary failed` command
    `clear bop *` clears all peers
    Show FQDN for `show bgp ipv4 uni` commands
    Display BestPath selection reason as part of show commands
EIGRP
    Infrastructure changes to allow VRF's
    SIGHUP signals the config reload
    Conversion to Northbound interface
ISIS
    BFD Support
    Support for circuits with MTU > 8192
PBRD
    fwmark support as part of match criteria
    autocompletion of PBRMAPS
    Improved Nexthop Support
PIMD
    PIM-BSM receive support
     Improved debugging support
    Store ECMP paths that are not currently legal for use
    Disallow igmp query from a non-connected source
    Many new cli improvements and changes
VRRPD
    Add Support for RFC 3768 and RFC 5798
Route-Maps
    Add sequence numbers to access-lists
    Add `match ip next-hop type blackhole`
    Improved ability to notice dependency changes
SHARPD
    `sharp watch [import|nexthop]` you can now specify a prefix instead
     of assuming a /32
STATICD
    Significantly Improved NHT
ZEBRA
    Many dataplane improvements for routes, neighbor table and EVPN
    NHT cli can now be specified per VRF and improved ability to control
     NHT data being shown
    Removed duplicate processing of routes
    Improved debugablility
    RMAC and VxLan support for the FPM
LIB
    RCU support
    Nexthop Group Improvements
    `log-filter WORD` added
Building
    openssl support
    libcap should be used as part of build or significant slowdowns will
     be experienced
    Lua builds have been fixed
    Improved Cross building
Snapcraft
    Add Fabricd
    Add Libyan
    Update rtrlib and rpki

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
4 years agoMerge pull request #5115 from ton31337/feature/maximum-prefix_uint64_to_uint32_7.2
Quentin Young [Wed, 9 Oct 2019 19:33:22 +0000 (15:33 -0400)]
Merge pull request #5115 from ton31337/feature/maximum-prefix_uint64_to_uint32_7.2

bgpd: [7.2] Use uint32_t for maximum-prefix

4 years agobgpd: Use uint32_t for maximum-prefix
Donatas Abraitis [Thu, 3 Oct 2019 21:30:28 +0000 (00:30 +0300)]
bgpd: Use uint32_t for maximum-prefix

Currently we have unsigned long which is not what we defined
in CLI (1-4294967295).

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #5096 from donaldsharp/72_static_fix_for_ROUTE_ALL
Renato Westphal [Wed, 2 Oct 2019 19:22:07 +0000 (16:22 -0300)]
Merge pull request #5096 from donaldsharp/72_static_fix_for_ROUTE_ALL

[7.2]zebra: Fix redistribution deletion for ZEBRA_ROUTE_ALL

4 years agoMerge pull request #5076 from ak503/libfrr_crash_7_2
Donald Sharp [Wed, 2 Oct 2019 14:13:24 +0000 (10:13 -0400)]
Merge pull request #5076 from ak503/libfrr_crash_7_2

7.2: zebra: if_is_loopback_or_vrf crash if if_lookup_by_index return …

4 years agoMerge pull request #5073 from ton31337/fix/no_aggregate-address_command_for_route...
Donald Sharp [Wed, 2 Oct 2019 14:12:21 +0000 (10:12 -0400)]
Merge pull request #5073 from ton31337/fix/no_aggregate-address_command_for_route-map_7.2

bgpd: [7.2] Accept no aggregate-address <IP> route-map <RMAP> commands

4 years agoMerge pull request #5091 from sworleys/Fix-Vrf_ID-Decode_7.2
Donatas Abraitis [Wed, 2 Oct 2019 14:11:46 +0000 (17:11 +0300)]
Merge pull request #5091 from sworleys/Fix-Vrf_ID-Decode_7.2

[7.2] lib: Decode vrf_id update appropriately from zapi

4 years agozebra: Fix redistribution deletion for ZEBRA_ROUTE_ALL
Donald Sharp [Wed, 2 Oct 2019 13:29:19 +0000 (09:29 -0400)]
zebra: Fix redistribution deletion for ZEBRA_ROUTE_ALL

commit ee8a72f315013aecd45bc9c3aaf7ea81b2ca747a

broke the usage of ZEBRA_ROUTE_ALL as a valid redistribution
command.  This commit puts it back in.  LDP uses ZEBRA_ROUTE_ALL
as an option to say it is interested in all REDISTRIBUTION events.

Fixes: #5072
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agolib: Decode vrf_id update appropriately from zapi
Stephen Worley [Tue, 1 Oct 2019 23:02:33 +0000 (19:02 -0400)]
lib: Decode vrf_id update appropriately from zapi

The vrf_id in `zsend_interface_vrf_update()` is encoded as
a long via `stream_putl()`, we should decode it as such
as well.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
4 years agoMerge pull request #5089 from cfra/fix/7.2/isis-threeway
Donald Sharp [Tue, 1 Oct 2019 23:13:47 +0000 (19:13 -0400)]
Merge pull request #5089 from cfra/fix/7.2/isis-threeway

isisd: Fix handling of neighbor circuit id in three way handshake

4 years agoisisd: Fix handling of neighbor circuit id in three way handshake
Christian Franke [Mon, 30 Sep 2019 23:53:44 +0000 (01:53 +0200)]
isisd: Fix handling of neighbor circuit id in three way handshake

RFC 5303 states:

      If the system ID and Extended Local Circuit ID of the neighboring
      system are known (in adjacency three-way state Initializing or
      Up), the neighbor's system ID SHALL be reported in the Neighbor
      System ID field, and the neighbor's Extended Local Circuit ID
      SHALL be reported in the Neighbor Extended Local Circuit ID field.

There is nothing written about only setting the Extended circuit ID of the
adjacency only when we bring the three-way adjacency up.

In fact, we should always update it, to avoid the problem described in #4783.

Fixes: #4783
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
4 years ago7.2: zebra: if_is_loopback_or_vrf crash if if_lookup_by_index return NULL
dturlupov [Fri, 27 Sep 2019 08:23:27 +0000 (11:23 +0300)]
7.2: zebra: if_is_loopback_or_vrf crash if if_lookup_by_index return NULL

Function if_lookup_by_index() can return NULL, but in if_is_loopback_or_vrf() we don't chech NULL and get next:

Sep 2 07:44:34 XXX zebra[4616]: /usr/lib64/libfrr.so.0(zlog_backtrace_sigsafe+0x48) [0x7fb5f704cf18]
Sep 2 07:44:34 XXX zebra[4616]: /usr/lib64/libfrr.so.0(zlog_signal+0x378) [0x7fb5f704d728]
Sep 2 07:44:34 XXX zebra[4616]: /usr/lib64/libfrr.so.0(+0x6b495) [0x7fb5f706b495]
Sep 2 07:44:34 XXX zebra[4616]: /lib64/libpthread.so.0(+0x123b0) [0x7fb5f6d573b0]
Sep 2 07:44:34 XXX zebra[4616]: /usr/lib64/libfrr.so.0(if_is_loopback+0) [0x7fb5f7045160]
Sep 2 07:44:34 XXX zebra[4616]: /usr/lib64/libfrr.so.0(if_is_loopback_or_vrf+0x11) [0x7fb5f7045191]
Sep 2 07:44:34 XXX zebra[4616]: /usr/sbin/zebra() [0x43b26d]
Sep 2 07:44:34 XXX zebra[4616]: /usr/sbin/zebra() [0x43db6f]
Sep 2 07:44:34 XXX zebra[4616]: /usr/lib64/libfrr.so.0(work_queue_run+0xc8) [0x7fb5f7080de8]
Sep 2 07:44:34 XXX zebra[4616]: /usr/lib64/libfrr.so.0(thread_call+0x47) [0x7fb5f7077d27]
Sep 2 07:44:34 XXX zebra[4616]: /usr/lib64/libfrr.so.0(frr_run+0xd8) [0x7fb5f704b448]

Signed-off-by: Dmitrii Turlupov dturlupov@factor-ts.ru
4 years agobgpd: Accept no aggregate-address <IP> route-map <RMAP> commands
Donatas Abraitis [Thu, 26 Sep 2019 14:35:25 +0000 (17:35 +0300)]
bgpd: Accept no aggregate-address <IP> route-map <RMAP> commands

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #5071 from ton31337/fix/aggregate-address_for_ipv6_summary-only_mi...
Donald Sharp [Thu, 26 Sep 2019 21:10:38 +0000 (17:10 -0400)]
Merge pull request #5071 from ton31337/fix/aggregate-address_for_ipv6_summary-only_missreading_7.2

bgpd: [7.2] aggregate-address X:X::X:X/M summary-only was missreading config

4 years agoMerge pull request #5069 from donaldsharp/7.2_aggregate_address
Donatas Abraitis [Thu, 26 Sep 2019 18:54:10 +0000 (21:54 +0300)]
Merge pull request #5069 from donaldsharp/7.2_aggregate_address

7.2: bgpd: aggregate-address A.B.C.D A.B.C.D summary-only was missreading …

4 years agobgpd: aggregate-address X:X::X:X/M summary-only was missreading config
Donatas Abraitis [Thu, 26 Sep 2019 18:47:55 +0000 (21:47 +0300)]
bgpd: aggregate-address X:X::X:X/M summary-only was missreading config

Entering:
aggregate-address 2a02:4780::/48 summary-only

Will transform this to:
aggregate-address 2a02:4780::/48 summary-only route-map summary-only

This patch fixes that.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobgpd: aggregate-address A.B.C.D A.B.C.D summary-only was missreading config
Donald Sharp [Thu, 26 Sep 2019 16:37:28 +0000 (12:37 -0400)]
bgpd: aggregate-address A.B.C.D A.B.C.D summary-only was missreading config

The `aggregate-address 30.0.5.0 255.255.255.0 summary-only` command
was missreading the inputed data and translating it into:

`aggregate-address 30.0.5.0/24 summary-only route-map summary-only`

This is not quite correct.  Fix this behavior:

donna.cumulusnetworks.com# conf
donna.cumulusnetworks.com(config)# router bgp
donna.cumulusnetworks.com(config-router)# aggregate-address 30.0.5.0 255.255.255.0 summary-only
donna.cumulusnetworks.com(config-router)# do show run
Building configuration...

Current configuration:
!
frr version 7.3-dev
frr defaults datacenter
hostname donna.cumulusnetworks.com
log file /var/log/frr/frr.log
no ipv6 forwarding
frr version 7.2-dev
!
router bgp 500
 neighbor 192.168.209.1 remote-as external
 neighbor 192.168.209.1 ebgp-multihop 255
 neighbor 192.168.210.1 remote-as external
 !
 address-family ipv4 unicast
  network 192.168.9.0/24
  network 192.168.10.0/24
  aggregate-address 30.0.5.0/24 summary-only
 exit-address-family
!

Issue: #5054
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #5057 from dslicenc/bgp-next-hop-routemap-72
Donatas Abraitis [Thu, 26 Sep 2019 13:03:46 +0000 (16:03 +0300)]
Merge pull request #5057 from dslicenc/bgp-next-hop-routemap-72

7.2: bgpd: stop sending nexthop set by "route-map in" to eBGP peers

4 years agoMerge pull request #5064 from idryzhov/7.2-fix-vrf-autocompletions
Donald Sharp [Thu, 26 Sep 2019 11:31:40 +0000 (07:31 -0400)]
Merge pull request #5064 from idryzhov/7.2-fix-vrf-autocompletions

[7.2] *: fix missing VRF autocompletions

4 years ago*: fix missing VRF autocompletions
Igor Ryzhov [Tue, 24 Sep 2019 16:51:46 +0000 (19:51 +0300)]
*: fix missing VRF autocompletions

Current autocompletion works only for simple "vrf NAME" case.

This commit expands it also for the following cases:
- "nexthop-vrf NAME" in staticd
- usage of $varname in many daemons

All daemons are updated to use single varname "$vrf_name".

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agobgpd: stop sending nexthop set by "route-map in" to eBGP peers
Don Slice [Tue, 24 Sep 2019 12:02:02 +0000 (05:02 -0700)]
bgpd: stop sending nexthop set by "route-map in" to eBGP peers

Problem reported that when a "neighbor x.x.x.x route-map FOO in"
set a next-hop value, that modified next-hop value was also sent
to eBGP peers.  This is incorrect since bgp is expected to set
next-hop to self when sending to eBGP peers unless third party
next-hop on a shared segment is true.  This fix modifies the
behavior to stop sending the modified next-hop to eBGP peers
if the route-map was applied inbound on another peer.

Ticket: CM-26025
Signed-off-by: Don Slice <dslice@cumulusnetworks.com>
4 years agoMerge pull request #5059 from mjstapp/fix_dplane_config_handler_7_2
Donald Sharp [Wed, 25 Sep 2019 20:48:02 +0000 (16:48 -0400)]
Merge pull request #5059 from mjstapp/fix_dplane_config_handler_7_2

[7.2] zebra: add dataplane variables to show run

4 years agozebra: handle config write for dataplane values
Mark Stapp [Wed, 25 Sep 2019 18:27:12 +0000 (14:27 -0400)]
zebra: handle config write for dataplane values

[7.2 version] Add the (single) dataplane config value
to the output of config write, 'show run'.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #5048 from donaldsharp/7.2_sa_issues
Sri Mohana Singamsetty [Tue, 24 Sep 2019 15:57:57 +0000 (08:57 -0700)]
Merge pull request #5048 from donaldsharp/7.2_sa_issues

7.2 bgpd: rmap_type is 8 bit but we have 9 bits of flags

4 years agobgpd: rmap_type is 8 bit but we have 9 bits of flags
Donald Sharp [Tue, 24 Sep 2019 12:24:10 +0000 (08:24 -0400)]
bgpd: rmap_type is 8 bit but we have 9 bits of flags

The newly added PEER_RMAP_TYPE_AGGREGATE flag is setup to
be the 9th bit:

But the flag we are putting it into:
uint8_t rmap_type;

is 8 bits.  Adjust the size.

Found by Coverity SA Scan
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #5041 from opensourcerouting/isisd-fix-validation-crash-7.2
Donald Sharp [Tue, 24 Sep 2019 12:18:50 +0000 (08:18 -0400)]
Merge pull request #5041 from opensourcerouting/isisd-fix-validation-crash-7.2

[7.2] isisd: fix crash during candidate validation

4 years agoMerge pull request #5038 from idryzhov/7.2-fix-vtysh-no-log-facility
Donatas Abraitis [Mon, 23 Sep 2019 19:38:17 +0000 (22:38 +0300)]
Merge pull request #5038 from idryzhov/7.2-fix-vtysh-no-log-facility

[7.2] vtysh: fix "no log facility" command

4 years agovtysh: fix "no log facility" command
Igor Ryzhov [Mon, 23 Sep 2019 16:01:58 +0000 (19:01 +0300)]
vtysh: fix "no log facility" command

Actual command from the library accepts only supported facilities, not
any random word.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agoisisd: fix crash during candidate validation
Renato Westphal [Mon, 23 Sep 2019 12:37:49 +0000 (09:37 -0300)]
isisd: fix crash during candidate validation

The "abort_if_not_found" parameter of nb_running_get_entry()
should be set to true only when this function is called during the
NB_EV_APPLY phase of a northbound callback. Failure to respect this
can lead to crashes when multiple configuration changes are being
committed at the same time.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
4 years agoconfigure: Update versioning
Donald Sharp [Fri, 20 Sep 2019 18:37:32 +0000 (14:37 -0400)]
configure: Update versioning

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #5027 from donaldsharp/7.2_send_that_error_bgp
Donatas Abraitis [Fri, 20 Sep 2019 18:41:49 +0000 (21:41 +0300)]
Merge pull request #5027 from donaldsharp/7.2_send_that_error_bgp

7.2: bgpd: Invalid NH's should send an apropriate reason code

4 years agobgpd: Invalid NH's should send an apropriate reason code
Donald Sharp [Fri, 20 Sep 2019 10:41:02 +0000 (06:41 -0400)]
bgpd: Invalid NH's should send an apropriate reason code

RFC 4271 sec 6.3 p33, In the case of a BGP_NEXTHOP attribute with an
incorrect value, FRR is supposed to send a notification
and include 'Corresponding type, length and value of the NEXT_HOP
attribute in the notification data.

Fixes: #4997
Signed-off-by: Nikos <ntriantafillis@gmail.com>
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #5014 from idryzhov/7.2-fix-vtysh-prefix-list
Donald Sharp [Thu, 19 Sep 2019 10:41:23 +0000 (06:41 -0400)]
Merge pull request #5014 from idryzhov/7.2-fix-vtysh-prefix-list

[7.2] vtysh: fix multiple "no ip/ipv6 prefix-list sequence-number" lines in running-config

4 years agovtysh: fix multiple "no ip/ipv6 prefix-list sequence-number" lines in running-config
Igor Ryzhov [Wed, 18 Sep 2019 11:19:55 +0000 (14:19 +0300)]
vtysh: fix multiple "no ip/ipv6 prefix-list sequence-number" lines in running-config

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
4 years agoMerge pull request #4999 from mjstapp/fix_notif_installed_7_2
Donald Sharp [Wed, 18 Sep 2019 21:39:08 +0000 (17:39 -0400)]
Merge pull request #4999 from mjstapp/fix_notif_installed_7_2

[7.2] zebra: dplane route updates need to check all nexthops

4 years agozebra: check all dplane nexthops when processing
Mark Stapp [Tue, 17 Sep 2019 15:33:46 +0000 (11:33 -0400)]
zebra: check all dplane nexthops when processing

[7.2 version]
When processing route updates from the dataplane, we were
terminating the checking of nexthops prematurely, and we could
miss meaningful changes.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #4986 from qlyoung/fix-bgp-zero-keepalive-timer-7.2
Sri Mohana Singamsetty [Mon, 16 Sep 2019 18:19:50 +0000 (11:19 -0700)]
Merge pull request #4986 from qlyoung/fix-bgp-zero-keepalive-timer-7.2

[7.2] bgpd: do not send keepalives when KA timer is 0

4 years agobgpd: do not send keepalives when KA timer is 0
Quentin Young [Mon, 16 Sep 2019 15:33:49 +0000 (15:33 +0000)]
bgpd: do not send keepalives when KA timer is 0

RFC4271 specifies behavior when the hold timer is sent to zero - we
should not send keepalives or run a hold timer. But FRR, and other
vendors, allow the keepalive timer to be set to zero with a nonzero hold
timer. In this case we were sending keepalives constantly and maxing out
a pthread to do so. Instead behave similarly to other vendors and do not
send keepalives.

Unsure what the utility of this is, but blasting keepalives is
definitely the wrong thing to do.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agoMerge pull request #4976 from opensourcerouting/disable-ecmp2-test-7.2
Donatas Abraitis [Sat, 14 Sep 2019 14:26:42 +0000 (17:26 +0300)]
Merge pull request #4976 from opensourcerouting/disable-ecmp2-test-7.2

[7.2] Disable bgp-ecmp-topo2 topotest until proper fix is developed

4 years agoMerge pull request #4979 from ton31337/feature/route-map_aggregate_command_7.2
Donald Sharp [Sat, 14 Sep 2019 11:42:33 +0000 (07:42 -0400)]
Merge pull request #4979 from ton31337/feature/route-map_aggregate_command_7.2

bgpd: [7.2] Apply route-map for aggregate-address

4 years agotests: Improve bgp_aggregate-address_route-map test
Donatas Abraitis [Thu, 12 Sep 2019 07:04:56 +0000 (10:04 +0300)]
tests: Improve bgp_aggregate-address_route-map test

Rewrite some parts to add more visibility what's going on if test fails.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agodoc: Add documentation for aggregate-address with route-map support
Donatas Abraitis [Thu, 22 Aug 2019 06:39:33 +0000 (09:39 +0300)]
doc: Add documentation for aggregate-address with route-map support

Additionally remove trailling/unnecesarry whitespaces and align code
snippets correctly.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agotopotests: Add test for checking if route-map is applied for aggregate-address
Donatas Abraitis [Wed, 21 Aug 2019 15:16:17 +0000 (18:16 +0300)]
topotests: Add test for checking if route-map is applied for aggregate-address

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agobgpd: Apply route-map for aggregate-address command
Donatas Abraitis [Wed, 21 Aug 2019 15:16:05 +0000 (18:16 +0300)]
bgpd: Apply route-map for aggregate-address command

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agotests: Disable bgp-ecmp-topo2 topotest until proper fix is developed
Martin Winter [Thu, 12 Sep 2019 23:58:58 +0000 (01:58 +0200)]
tests: Disable bgp-ecmp-topo2 topotest until proper fix is developed

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
4 years agoMerge pull request #4971 from mjstapp/fix_redist_update_7_2
Donald Sharp [Thu, 12 Sep 2019 21:41:06 +0000 (17:41 -0400)]
Merge pull request #4971 from mjstapp/fix_redist_update_7_2

[7.2] zebra: revise redistribution delete to improve update case

4 years agozebra: revise redistribution delete to improve update case
Mark Stapp [Thu, 12 Sep 2019 15:30:42 +0000 (11:30 -0400)]
zebra: revise redistribution delete to improve update case

When selecting a new best route, zebra sends a redist update
when the route is installed. There are cases where redist
clients may not see that redist add - clients who are not
subscribed to the new route type, e.g. In that case, attempt
to send a redist delete for the old/previous route type.

Revised the redist delete api to accomodate both cases;
also tightened up the const-ness of a few internal redist apis.

[7.2 version]

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #4944 from donaldsharp/72_increase_time_out
Donatas Abraitis [Sat, 7 Sep 2019 04:11:26 +0000 (07:11 +0300)]
Merge pull request #4944 from donaldsharp/72_increase_time_out

[7.2]tests: Ensure we wait 1 bgp timeout period before declaring failure

4 years agotests: Ensure we wait 1 bgp timeout period before declaring failure
Donald Sharp [Fri, 6 Sep 2019 12:46:27 +0000 (08:46 -0400)]
tests: Ensure we wait 1 bgp timeout period before declaring failure

The lib/bgp.py test code is bringing up neighbors and clearing them
to test that things are working appropriately.  The problem we have
is that we are only waiting 30 seconds for declaration of failure.
In a high load system packets can be lost and as such the initial
convergence may not happen.  Modify the test to wait for 1 retry
window test period before declaring failure.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #4936 from ton31337/feature/documentation_for_rfc8212_7.2
Donald Sharp [Fri, 6 Sep 2019 11:37:16 +0000 (07:37 -0400)]
Merge pull request #4936 from ton31337/feature/documentation_for_rfc8212_7.2

doc: [7.2] Add documentation for `bgp ebgp-requires-policy` command

4 years agodoc: Add documentation for `bgp ebgp-requires-policy` command
Donatas Abraitis [Thu, 5 Sep 2019 16:57:46 +0000 (19:57 +0300)]
doc: Add documentation for `bgp ebgp-requires-policy` command

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
4 years agoMerge pull request #4932 from sworleys/Static-Route-Dev-Redist-Fix
Mark Stapp [Wed, 4 Sep 2019 19:06:55 +0000 (15:06 -0400)]
Merge pull request #4932 from sworleys/Static-Route-Dev-Redist-Fix

staticd: Re-send/Remove routes on interface events

4 years agoMerge pull request #4883 from mjstapp/dplane_vteps
Donald Sharp [Wed, 4 Sep 2019 18:14:20 +0000 (14:14 -0400)]
Merge pull request #4883 from mjstapp/dplane_vteps

Zebra: use dataplane for evpn vtep programming

4 years agoMerge pull request #4930 from donaldsharp/4851_fixup
David Lamparter [Wed, 4 Sep 2019 18:08:37 +0000 (20:08 +0200)]
Merge pull request #4930 from donaldsharp/4851_fixup

isisd: Enabling build with openssl

4 years agoMerge pull request #4789 from sworleys/Nexthop-Sort-Optimization
Mark Stapp [Wed, 4 Sep 2019 17:35:50 +0000 (13:35 -0400)]
Merge pull request #4789 from sworleys/Nexthop-Sort-Optimization

lib: Nexthop Sorting Optimizations

4 years agostaticd: Re-send/Remove routes on interface events
Stephen Worley [Wed, 4 Sep 2019 16:38:56 +0000 (12:38 -0400)]
staticd: Re-send/Remove routes on interface events

We were not processing interface up/down events for device only
static routes. This patch looks up the ifp and then calls
the same API we are using for interface add/remove events.

Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
4 years agozebra: move EVPN VTEP programming to dataplane
Mark Stapp [Mon, 26 Aug 2019 19:44:54 +0000 (15:44 -0400)]
zebra: move EVPN VTEP programming to dataplane

Move VTEP install/uninstall to the zebra dataplane. Remove
synch kernel-facing apis and helper functions.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
4 years agoMerge pull request #4877 from mjstapp/dplane_neighs
Donald Sharp [Wed, 4 Sep 2019 14:23:31 +0000 (10:23 -0400)]
Merge pull request #4877 from mjstapp/dplane_neighs

zebra: move evpn neighbors to dataplane

4 years agoisisd: Enabling build with openssl
Michal Ruprich [Tue, 20 Aug 2019 09:34:34 +0000 (11:34 +0200)]
isisd: Enabling build with openssl

Similar to PR #4677, I am enabling the openssl library for md5
authentication in IS-IS

Signed-off-by: Michal Ruprich <michalruprich@gmail.com>
4 years agoMerge pull request #4874 from manuhalo/fix_isis_mtu
Donald Sharp [Wed, 4 Sep 2019 11:54:08 +0000 (07:54 -0400)]
Merge pull request #4874 from manuhalo/fix_isis_mtu

isisd: check MTU when configuring circuit

4 years agoMerge pull request #4869 from rtrlib/2019-08-22-bugfix-master
Donald Sharp [Wed, 4 Sep 2019 11:49:14 +0000 (07:49 -0400)]
Merge pull request #4869 from rtrlib/2019-08-22-bugfix-master

bgpd: rpki fixes (master)

4 years agoMerge pull request #4908 from qlyoung/vtysh-find-regexp
Donatas Abraitis [Wed, 4 Sep 2019 11:47:34 +0000 (14:47 +0300)]
Merge pull request #4908 from qlyoung/vtysh-find-regexp

vtysh, lib: allow regexp in `find` command

4 years agoMerge pull request #4918 from brchiu/fix_values_cnt_error
Donald Sharp [Wed, 4 Sep 2019 10:53:33 +0000 (06:53 -0400)]
Merge pull request #4918 from brchiu/fix_values_cnt_error

lib: Fix erroneously setting pointer values_cnt as NULL

4 years agoMerge pull request #4927 from donaldsharp/eigrp_sa_fix
Jafar Al-Gharaibeh [Wed, 4 Sep 2019 06:00:06 +0000 (01:00 -0500)]
Merge pull request #4927 from donaldsharp/eigrp_sa_fix

eigrpd: Fix SA issue with setting but not using

4 years agoMerge pull request #4926 from donaldsharp/pbr_mark
Jafar Al-Gharaibeh [Wed, 4 Sep 2019 02:17:13 +0000 (21:17 -0500)]
Merge pull request #4926 from donaldsharp/pbr_mark

doc: Update pbr to reflect new mark match command.

4 years agoMerge pull request #4925 from ddutt/master
Donald Sharp [Wed, 4 Sep 2019 00:36:53 +0000 (20:36 -0400)]
Merge pull request #4925 from ddutt/master

bgpd: Fixes to error message printed for failed peerings

4 years agolib: Fix erroneously setting pointer values_cnt as NULL
Bi-Ruei, Chiu [Mon, 2 Sep 2019 15:28:33 +0000 (23:28 +0800)]
lib: Fix erroneously setting pointer values_cnt as NULL

It should be :

  *values_cnt = 0;

not

  values_cnt = 0;

Signed-off-by: Bi-Ruei, Chiu <biruei.chiu@gmail.com>
4 years agoeigrpd: Fix SA issue with setting but not using
Donald Sharp [Tue, 3 Sep 2019 23:22:27 +0000 (19:22 -0400)]
eigrpd: Fix SA issue with setting but not using

We assign a value to the eigrp data structure and then
immediately overwrite it in the for loop.  No need to
do a eigrp_lookup.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #4924 from Jafaral/gnulinux
Donald Sharp [Tue, 3 Sep 2019 23:21:06 +0000 (19:21 -0400)]
Merge pull request #4924 from Jafaral/gnulinux

zebra: use GNU_LINUX instead of LINUX

4 years agodoc: Update pbr to reflect new mark match command.
Donald Sharp [Tue, 3 Sep 2019 23:18:21 +0000 (19:18 -0400)]
doc: Update pbr to reflect new mark match command.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #4923 from Jafaral/pbrmark
Donald Sharp [Tue, 3 Sep 2019 23:12:44 +0000 (19:12 -0400)]
Merge pull request #4923 from Jafaral/pbrmark

pbrd: support mark matches

4 years agopbrd: initial fwmark support for pbr matches #4460
Marcin Matląg [Wed, 5 Jun 2019 20:56:11 +0000 (22:56 +0200)]
pbrd: initial fwmark support for pbr matches #4460

Adds support to specify marks in pbr-map match clause.
Marks should be provided as decimal (unsigned int).

Currently supported on Linux only. Attempting to configure
marks on other platform will result in:

"pbr marks are not supported on this platform"

Signed-off-by: Marcin Matlag <marcin.matlag@gmail.com>
Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
4 years agobgpd: Fixes to error message printed for failed peerings
Dinesh G Dutt [Tue, 3 Sep 2019 19:55:49 +0000 (19:55 +0000)]
bgpd: Fixes to error message printed for failed peerings

There was a silly bug introduced when the command to show failed sessions
was added. A missing "," caused the wrong error message to be printed.
Debugging this led down a path that:
   - Led to discovering one more error message that needed to be added
   - Providing the error code along with the string in the JSON output
     to allow programs to key off numbers rather than strings.
   - Fixing the missing ","
   - Changing the error message to "Waiting for Peer IPv6 LLA" to
     make it clear that we're waiting for the link local addr.

Signed-off-by: Dinesh G Dutt <5016467+ddutt@users.noreply.github.com>
4 years agoMerge pull request #4892 from pguibert6WIND/nhtresolvedefaultvrf
Donald Sharp [Tue, 3 Sep 2019 19:40:43 +0000 (15:40 -0400)]
Merge pull request #4892 from pguibert6WIND/nhtresolvedefaultvrf

zebra: nht resolution default configurable per vrf

4 years agozebra: use GNU_LINUX instead of LINUX
Jafar Al-Gharaibeh [Tue, 3 Sep 2019 19:22:38 +0000 (14:22 -0500)]
zebra: use GNU_LINUX instead of LINUX

Everywhere else in the code we use GNU_LINUX, that is the symbol we actualy define in the configuration. Don't rely on compiler's built-in symbols.

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
4 years agoMerge pull request #4919 from opensourcerouting/config-warnings
Quentin Young [Tue, 3 Sep 2019 18:55:38 +0000 (14:55 -0400)]
Merge pull request #4919 from opensourcerouting/config-warnings

build: error out on implicit missing libcap, warn for protobuf FPM

4 years agoMerge pull request #4604 from opensourcerouting/mutex-sugar
Quentin Young [Tue, 3 Sep 2019 18:55:14 +0000 (14:55 -0400)]
Merge pull request #4604 from opensourcerouting/mutex-sugar

mutex syntactic sugar

4 years agoMerge pull request #4922 from pguibert6WIND/bfd_close_sockets
Rafael Zalamena [Tue, 3 Sep 2019 17:18:13 +0000 (14:18 -0300)]
Merge pull request #4922 from pguibert6WIND/bfd_close_sockets

bfdd: close bfd echo sockets, upon vrf disable

4 years agovtysh, lib: allow regexp in `find` command
Quentin Young [Fri, 30 Aug 2019 16:18:11 +0000 (16:18 +0000)]
vtysh, lib: allow regexp in `find` command

¯\_(ツ)_/¯

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
4 years agodoc: add frr_{each,with} to coding style
David Lamparter [Tue, 13 Aug 2019 14:02:51 +0000 (16:02 +0200)]
doc: add frr_{each,with} to coding style

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years ago*: frr_elevate_privs -> frr_with_privs
David Lamparter [Tue, 13 Aug 2019 13:47:23 +0000 (15:47 +0200)]
*: frr_elevate_privs -> frr_with_privs

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agotools: extend checkpatch.pl for frr_{with,each}
David Lamparter [Tue, 13 Aug 2019 13:42:35 +0000 (15:42 +0200)]
tools: extend checkpatch.pl for frr_{with,each}

For frr_each, just fix some existing warnings;  for frr_with_* add a
warning indicating that braces should always be used.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agodoc: add developer docs for frr_with_mutex
David Lamparter [Tue, 6 Aug 2019 10:05:09 +0000 (12:05 +0200)]
doc: add developer docs for frr_with_mutex

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agolib: add frr_with_mutex() block-wrapper
David Lamparter [Fri, 21 Jun 2019 08:58:02 +0000 (10:58 +0200)]
lib: add frr_with_mutex() block-wrapper

frr_with_mutex(...) { ... } locks and automatically unlocks the listed
mutex(es) when the block is exited.  This adds a bit of safety against
forgetting the unlock in error paths & co. and makes the code a slight
bit more readable.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agolib: add some macro helpers
David Lamparter [Fri, 21 Jun 2019 08:58:02 +0000 (10:58 +0200)]
lib: add some macro helpers

Macro soup, now with 50% more macros.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
4 years agoMerge pull request #4907 from donaldsharp/ospf_write_q
Russ White [Tue, 3 Sep 2019 15:12:35 +0000 (11:12 -0400)]
Merge pull request #4907 from donaldsharp/ospf_write_q

ospfd: Do not turn on write thread unless we have something in it

4 years agoMerge pull request #4886 from satheeshkarra/pim_dbg
Russ White [Tue, 3 Sep 2019 15:11:07 +0000 (11:11 -0400)]
Merge pull request #4886 from satheeshkarra/pim_dbg

pimd: sh config is showing detail debug, though not configured

4 years agobfdd: close bfd echo sockets, upon vrf disable
Philippe Guibert [Tue, 3 Sep 2019 14:53:14 +0000 (16:53 +0200)]
bfdd: close bfd echo sockets, upon vrf disable

upon vrf disable, an event informs bfd daemon that the vrf contexts
should be removed. in the case a vrf backend is netns based, all sockets
opened under that netns have to be closed. otherwise it is impossible
for the system to completely close the network namespace. that implies
that some interfaces may not be deleted, and may not be given back to
default vrf.

PR=65291
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Acked-by: Julien Floret <julien.floret@6wind.com>
4 years agoMerge pull request #4888 from donaldsharp/rmap_cleanup
Donatas Abraitis [Tue, 3 Sep 2019 14:42:51 +0000 (17:42 +0300)]
Merge pull request #4888 from donaldsharp/rmap_cleanup

Rmap cleanup

4 years agoMerge pull request #4797 from opensourcerouting/eigrpd-vrf
Russ White [Tue, 3 Sep 2019 13:17:35 +0000 (09:17 -0400)]
Merge pull request #4797 from opensourcerouting/eigrpd-vrf

eigrpd: vrf support

4 years agoMerge pull request #4710 from ashish12pant/ecmp_tests
Martin Winter [Tue, 3 Sep 2019 12:39:14 +0000 (14:39 +0200)]
Merge pull request #4710 from ashish12pant/ecmp_tests

tests: Add ecmp test cases

4 years ago*: Convert some route map functions to return the enum
Donald Sharp [Tue, 27 Aug 2019 12:04:43 +0000 (08:04 -0400)]
*: Convert some route map functions to return the enum

Conver these functions:
route_map_add_match
route_map_delete_match
route_map_add_set
route_map_delete_set

To return the `enum rmap_compile_rets` and ensure all functions
that use this code handle all the enumerated possible returns.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agolib: Cleanup return codes to use enum values
Donald Sharp [Tue, 27 Aug 2019 11:45:02 +0000 (07:45 -0400)]
lib: Cleanup return codes to use enum values

A couple functions in routemap.c were returning
0/1 that were being mapped into the appropriate
enum values on the calling functions to check return
values.  This matches the return values to the actual
enum for future readability.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
4 years agoMerge pull request #4917 from manuhalo/fix_isis_circuit_del
Donald Sharp [Tue, 3 Sep 2019 12:09:00 +0000 (08:09 -0400)]
Merge pull request #4917 from manuhalo/fix_isis_circuit_del

isisd: fix northbound circuit deletion

4 years agoMerge pull request #4920 from ddutt/bgp-summary-upd8
Donald Sharp [Tue, 3 Sep 2019 12:06:22 +0000 (08:06 -0400)]
Merge pull request #4920 from ddutt/bgp-summary-upd8

Add Estd & Dropped counters to JSON output of "show bgp summary" command

4 years agoMerge pull request #4913 from ddutt/master
Donald Sharp [Tue, 3 Sep 2019 12:05:33 +0000 (08:05 -0400)]
Merge pull request #4913 from ddutt/master

bgpd: Add a new command to only show failed peerings

4 years agoMerge pull request #4709 from opensourcerouting/frr-bmp
Russ White [Tue, 3 Sep 2019 11:58:11 +0000 (07:58 -0400)]
Merge pull request #4709 from opensourcerouting/frr-bmp

BMP support

4 years agotests: Fix topojson address-family configuration
Ashish Pant [Tue, 3 Sep 2019 01:47:10 +0000 (07:17 +0530)]
tests: Fix topojson address-family configuration

Signed-off-by: Ashish Pant <ashish12pant@gmail.com>
address-family configuration was commented out in earlier commit
by mistake. Re-enabling it now.

4 years agotests: Fix topojson static route tests
Ashish Pant [Mon, 29 Jul 2019 04:39:19 +0000 (10:09 +0530)]
tests: Fix topojson static route tests

Signed-off-by: Ashish Pant <ashish12pant@gmail.com>
Fix static route test in bgp-basic-functionality-topo1 and
example-topojson-test after lib changes

Add example-topojson-test to ignore from pytest.ini

4 years agotests: Add ecmp test cases
Ashish Pant [Mon, 29 Jul 2019 04:38:35 +0000 (10:08 +0530)]
tests: Add ecmp test cases

Signed-off-by: Ashish Pant <ashish12pant@gmail.com>
Adds ecmp test case for ibgp and ebgp topology.