Skip to content

Commit

Permalink
[bgp]: Enable next-hop-tracking through default (#5600)
Browse files Browse the repository at this point in the history
**- Why I did it**
FRR introduced [next hop tracking](http://docs.frrouting.org/projects/dev-guide/en/latest/next-hop-tracking.html) functionality. 
That functionality requires resolving BGP neighbors before setting BGP connection (or explicit ebgp-multihop command). Sometimes (BGP MONITORS) our neighbors are not directly connected and sessions are IBGP. In this case current configuration prevents FRR to establish BGP connections.  Reason would be "waiting for NHT". To fix that we need either add static routes for each not-directly connected ibgp neighbor, or enable command `ip nht resolve-via-default`

**- How I did it**
Put `ip nht resolve-via-default` into the config

**- How to verify it**
Build an image. Enable BGP_MONITOR entry and check that entry is Established or Connecting in FRR

Co-authored-by: Pavel Shirshov <pavel.contrib@gmail.com>
  • Loading branch information
pavel-shirshov and Pavel Shirshov authored Oct 14, 2020
1 parent 1e2e019 commit 812e1a3
Show file tree
Hide file tree
Showing 13 changed files with 26 additions and 0 deletions.
2 changes: 2 additions & 0 deletions dockers/docker-fpm-frr/frr/zebra/zebra.interfaces.conf.j2
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ vni {{ vnet_metadata['vni'] }}
{% endblock vrf %}
!
{% block interfaces %}
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
{% for (name, prefix) in INTERFACE|pfx_filter %}
interface {{ name }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ agentx
!
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface Ethernet4
link-detect
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface Ethernet4
link-detect
Expand Down
2 changes: 2 additions & 0 deletions src/sonic-bgpcfgd/tests/data/sonic-cfggen/zebra/zebra.conf
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ vrf First
vni 10
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface Ethernet4
link-detect
Expand Down
2 changes: 2 additions & 0 deletions src/sonic-config-engine/tests/sample_output/py2/frr.conf
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ agentx
!
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface PortChannel03
link-detect
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ vrf VnetFE
vni 9000
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface Ethernet8
link-detect
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ vrf VnetFE
vni 8000
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface Ethernet8
link-detect
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ log facility local4
! end of template: common/daemons.common.conf.j2!
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface PortChannel03
link-detect
Expand Down
2 changes: 2 additions & 0 deletions src/sonic-config-engine/tests/sample_output/py3/frr.conf
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ agentx
!
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface PortChannel01
link-detect
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ vrf VnetFE
vni 9000
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface Ethernet0
link-detect
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ vrf VnetFE
vni 8000
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface Ethernet0
link-detect
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ log facility local4
! end of template: common/daemons.common.conf.j2!
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface PortChannel01
link-detect
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ vrf VnetFE
vni 8000
!
!
! Enable nht through default route
ip nht resolve-via-default
! Enable link-detect (default disabled)
interface PortChannel0
link-detect
Expand Down

0 comments on commit 812e1a3

Please sign in to comment.