]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
3 years agoospf6d: use __func__
ckishimo [Mon, 10 Jan 2022 13:50:59 +0000 (14:50 +0100)]
ospf6d: use __func__

Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
3 years agoospf6d: remove duplicated code
ckishimo [Mon, 10 Jan 2022 13:34:24 +0000 (14:34 +0100)]
ospf6d: remove duplicated code

The OSPF6_LSA_UNAPPROVED flag is set in the function above
ospf6_lsa_translated_nssa_new, so there is no need to set
the flag again

Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
3 years agoospf6d: remove double htons
ckishimo [Mon, 10 Jan 2022 13:32:48 +0000 (14:32 +0100)]
ospf6d: remove double htons

Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
3 years agoospf6d: remove duplicated log
ckishimo [Mon, 10 Jan 2022 13:29:11 +0000 (14:29 +0100)]
ospf6d: remove duplicated log

When running topotest ospf6_topo2 we can see a log message with wrong lsa id

2021/12/20 23:14:40.330 OSPF6: [V8P0C-HB5Z2] ASBR[default:Status:3]: Update
2021/12/20 23:14:40.330 OSPF6: [Z489N-JAJ6P] ASBR[default:Status:3]: Already ASBR
2021/12/20 23:14:40.330 OSPF6: [Z9D0B-12SBJ] Redistribute 2001:db8:2::/64 (connected)
2021/12/20 23:14:40.330 OSPF6: [N66XP-ANN4G] Advertise as AS-External Id:8.70.41.177 prefix 2001:db8:2::/64 metric 2   (**)
2021/12/20 23:14:40.330 OSPF6: [K4Y9R-C22T6] Advertise new AS-External Id:0.0.0.3 prefix 2001:db8:2::/64 metric 2
2021/12/20 23:14:40.330 OSPF6: [PKX0N-KNRQR] Originate AS-External-LSA for 2001:db8:2::/64

This PR removes the log (instead of fixing it) as same information is printed
in the following entry

Signed-off-by: ckishimo <carles.kishimoto@gmail.com>
3 years agoMerge pull request #10299 from donaldsharp/various_stuff
Donatas Abraitis [Mon, 10 Jan 2022 13:10:51 +0000 (15:10 +0200)]
Merge pull request #10299 from donaldsharp/various_stuff

Various stuff

3 years agoMerge pull request #10309 from mobash-rasool/pim6-merge
David Lamparter [Mon, 10 Jan 2022 09:07:56 +0000 (10:07 +0100)]
Merge pull request #10309 from mobash-rasool/pim6-merge

3 years agodoc: Adding the Design document for PIM IPv6 10309/head
Mobashshera Rasool [Wed, 8 Dec 2021 15:11:51 +0000 (07:11 -0800)]
doc: Adding the Design document for PIM IPv6

Added the High Level design for implementing MLD and PIMv6.

Added a PPT as well in case someone wants to translate it
to some other language.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
3 years agoMerge pull request #10030 from anlancs/cleanup-reload-null0
Igor Ryzhov [Sun, 9 Jan 2022 14:17:00 +0000 (17:17 +0300)]
Merge pull request #10030 from anlancs/cleanup-reload-null0

tools: cleanup convertion of "Null0"

3 years agoMerge pull request #9517 from anlancs/reload-add-str
Jafar Al-Gharaibeh [Sun, 9 Jan 2022 06:07:53 +0000 (00:07 -0600)]
Merge pull request #9517 from anlancs/reload-add-str

tools: fix wrong get_contexts() of Config class.

3 years agoMerge pull request #10191 from iqras23/bgp_gr
Donatas Abraitis [Sat, 8 Jan 2022 21:07:45 +0000 (23:07 +0200)]
Merge pull request #10191 from iqras23/bgp_gr

bgpd: VRF-Lite fix to clear stale leaked routes

3 years agotests: BGP : Dynamic route leak VRF lite (BGP-GR) 10191/head
ARShreenidhi [Tue, 14 Dec 2021 05:52:03 +0000 (21:52 -0800)]
tests: BGP : Dynamic route leak VRF lite (BGP-GR)

Authored-by: Shreenidhi A R <rshreenidhi@vmware.com>
Signed-off-by: Shreenidhi A R <rshreenidhi@vmware.com>
3 years agobgpd: VRF-Lite fix to clear stale leaked routes
Kantesh Mundaragi [Fri, 19 Feb 2021 04:48:41 +0000 (20:48 -0800)]
bgpd: VRF-Lite fix to clear stale leaked routes

Description:
Change is intended for fixing the issue related to
clearing of stale leaked routes:
- Whenever BGP goes down,
  after bringing down tcp connection and renegotiating capabilities,
  once we reestablish connection,
  we are not handling clear of VRF leaked route in the bgp_clear_stale_route.

- While bgp is clearing stale routes,
  we need to handle withdraw of routes for VRF route-leaking.

Co-authored-by: Kantesh Mundaragi <kmundaragi@vmware.com>
Signed-off-by: Iqra Siddiqui <imujeebsiddi@vmware.com>
3 years agoMerge pull request #10288 from ton31337/fix/rfc7300
Donald Sharp [Sat, 8 Jan 2022 13:42:19 +0000 (08:42 -0500)]
Merge pull request #10288 from ton31337/fix/rfc7300

bgpd: Add a warning if we try to use the last reserved ASN

3 years agoMerge pull request #10289 from ton31337/fix/rfc9003
Donald Sharp [Sat, 8 Jan 2022 13:17:25 +0000 (08:17 -0500)]
Merge pull request #10289 from ton31337/fix/rfc9003

bgpd: Extended BGP Administrative Shutdown Communication

3 years agoMerge pull request #10306 from anlancs/bfd-debug-info
Donald Sharp [Sat, 8 Jan 2022 13:09:17 +0000 (08:09 -0500)]
Merge pull request #10306 from anlancs/bfd-debug-info

lib: small debug adjustment for bfd

3 years agoMerge pull request #10242 from anlancs/fix-service-time
Donald Sharp [Sat, 8 Jan 2022 12:15:37 +0000 (07:15 -0500)]
Merge pull request #10242 from anlancs/fix-service-time

build: add "--with-service-timeout" in configure.ac

3 years agopimd: Cleanup weird indentation 10299/head
Donald Sharp [Thu, 6 Jan 2022 12:30:09 +0000 (07:30 -0500)]
pimd: Cleanup weird indentation

The zlog_warn used to be bounded by a debug guard
but the debug guard was removed but the code was
never fixed up to remove the open and close paranthesis.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agobfdd: Clean up some white space snafu's
Donald Sharp [Wed, 5 Jan 2022 21:11:52 +0000 (16:11 -0500)]
bfdd: Clean up some white space snafu's

Found some extra spaces during code inspection.  Let's
get them cleaned up.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #10305 from mobash-rasool/minor-fixes
Donald Sharp [Sat, 8 Jan 2022 12:08:59 +0000 (07:08 -0500)]
Merge pull request #10305 from mobash-rasool/minor-fixes

pimd: remove redundant header inclusion

3 years agolib: small debug adjustment for bfd 10306/head
anlan_cs [Sat, 8 Jan 2022 10:45:59 +0000 (05:45 -0500)]
lib: small debug adjustment for bfd

Just use `__func__` to display function name.

Signed-off-by: anlan_cs <anlan_cs@tom.com>
3 years agopimd: remove redundant header inclusion 10305/head
Mobashshera Rasool [Sat, 8 Jan 2022 07:21:00 +0000 (23:21 -0800)]
pimd: remove redundant header inclusion

Just found while code inspection, pim_str.h is included twice.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
3 years agotests: Adopt bgp_shutdown_message test to a proper encoding 10289/head
Donatas Abraitis [Thu, 6 Jan 2022 09:08:17 +0000 (11:08 +0200)]
tests: Adopt bgp_shutdown_message test to a proper encoding

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agodoc: Add rfc9003 to supported BGP RFCs
Donatas Abraitis [Wed, 5 Jan 2022 13:29:00 +0000 (15:29 +0200)]
doc: Add rfc9003 to supported BGP RFCs

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Use correct encoding before printing shutdown msg
Donatas Abraitis [Wed, 5 Jan 2022 13:05:04 +0000 (15:05 +0200)]
bgpd: Use correct encoding before printing shutdown msg

Using `bgp shutdown message MSG...`.

Length should be decoded from the first byte, but it's decoded from the data
instead.

Before:

```
%NOTIFICATION: sent to neighbor 192.168.0.2 6/2 (Cease/Administratively Shutdown) 70 bytes 5b 54 49 43 4b 45 54 2d 31 2d 31 34 33 38 33 36 37 33 39 30 5d 20 73
```

After:

```
%NOTIFICATION: sent to neighbor 192.168.0.2 6/2 (Cease/Administratively Shutdown) "[TICKET-1-1438367390] software upgrade; Expected downtime for 2 hours;"
```

On receiving side:

```
"[TICKET-1-1438367390] software upgrade; Expected downtime for 2 hours;"
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Limit shutdown message size to max 255 characters
Donatas Abraitis [Wed, 5 Jan 2022 13:00:31 +0000 (15:00 +0200)]
bgpd: Limit shutdown message size to max 255 characters

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Increase administrative shutdown message size to 255
Donatas Abraitis [Wed, 5 Jan 2022 10:11:27 +0000 (12:11 +0200)]
bgpd: Increase administrative shutdown message size to 255

Extended BGP Administrative Shutdown Communication (rfc9003):

Basically, shutdown message size is increased to 255 from 128.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Add a warning if we try to use the last reserved ASN 10288/head
Donatas Abraitis [Wed, 5 Jan 2022 09:42:52 +0000 (11:42 +0200)]
bgpd: Add a warning if we try to use the last reserved ASN

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #10301 from donaldsharp/pim_multicast_fix
Jafar Al-Gharaibeh [Fri, 7 Jan 2022 20:18:08 +0000 (14:18 -0600)]
Merge pull request #10301 from donaldsharp/pim_multicast_fix

tools: Give longer for interface traffic in pim to work

3 years agoMerge pull request #10290 from donaldsharp/nhrp_topo_queries
Jafar Al-Gharaibeh [Fri, 7 Jan 2022 20:00:50 +0000 (14:00 -0600)]
Merge pull request #10290 from donaldsharp/nhrp_topo_queries

Nhrp topo queries

3 years agoMerge pull request #10300 from donaldsharp/support_bundle_fix
Jafar Al-Gharaibeh [Fri, 7 Jan 2022 19:13:14 +0000 (13:13 -0600)]
Merge pull request #10300 from donaldsharp/support_bundle_fix

tools: Run formatter over generate_support_bundle.py

3 years agotests: Ensure packets have a chance to arrive in test_multicast_pim_sm_topo4.py 10301/head
Donald Sharp [Fri, 7 Jan 2022 14:15:19 +0000 (09:15 -0500)]
tests: Ensure packets have a chance to arrive in test_multicast_pim_sm_topo4.py

The test is doing this:

a) gather interface data about packets sent
b) shut interface
c) no shut interface
d) gather interface data about packets sent
e) compare a to d and fail if packets sent/received has not incremented

The problem is, of course, that under heavy system load insufficient time
might not have passed for packets to be sent between c and d.  Add up to
35 seconds of looking for packet data being incremented else heavily
loaded systems may never show that data is being sent.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agotest: Cleanup via black the test_multicast_pim_sm_topo4.py
Donald Sharp [Fri, 7 Jan 2022 12:58:29 +0000 (07:58 -0500)]
test: Cleanup via black the test_multicast_pim_sm_topo4.py

The test needed some cleanup via black formatting.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agotests: Rename poorly named function
Donald Sharp [Fri, 7 Jan 2022 12:57:41 +0000 (07:57 -0500)]
tests: Rename poorly named function

verify_pim_interface_traffic *fetches* the pim
traffic data.  Rename the function to what it
actually does

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #10286 from ton31337/fix/rfc6938
Mark Stapp [Thu, 6 Jan 2022 17:18:30 +0000 (12:18 -0500)]
Merge pull request #10286 from ton31337/fix/rfc6938

bgpd: Deprecate DPA, ADVERTISER and RCID_PATH path attributes

3 years agobgpd: Deprecate DPA, ADVERTISER and RCID_PATH path attributes 10286/head
Donatas Abraitis [Wed, 5 Jan 2022 09:02:01 +0000 (11:02 +0200)]
bgpd: Deprecate DPA, ADVERTISER and RCID_PATH path attributes

rfc6938

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #10283 from sworleys/Alpline-Git-Rev
Donatas Abraitis [Thu, 6 Jan 2022 13:37:34 +0000 (15:37 +0200)]
Merge pull request #10283 from sworleys/Alpline-Git-Rev

docker: update alpine build enable set own version

3 years agotools: Run formatter over generate_support_bundle.py 10300/head
Donald Sharp [Thu, 6 Jan 2022 13:18:30 +0000 (08:18 -0500)]
tools: Run formatter over generate_support_bundle.py

The generate_support_bundle.py script needs some
reformating to meet our standards

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #10226 from bisdn/jogo_fix_support_bundle_backup
Donald Sharp [Thu, 6 Jan 2022 13:17:12 +0000 (08:17 -0500)]
Merge pull request #10226 from bisdn/jogo_fix_support_bundle_backup

tools: fix backing up previous logs in generate_support_bundle.py

3 years agoMerge pull request #10284 from ton31337/fix/adjust_rfc4486
Donald Sharp [Thu, 6 Jan 2022 12:49:00 +0000 (07:49 -0500)]
Merge pull request #10284 from ton31337/fix/adjust_rfc4486

bgpd: Adjust symbolic names for cease notifications according to rfc4486

3 years agobuild: add "--with-service-timeout" in configure.ac 10242/head
anlan_cs [Thu, 30 Dec 2021 05:17:05 +0000 (00:17 -0500)]
build: add "--with-service-timeout" in configure.ac

On lower CPU with lots of static routes, it will cost more than 2
minutes.

2 minutes is the default timeout value, we can adjust it by configure:
./configure --with-service-timeout=<digit>

Signed-off-by: anlan_cs <anlan_cs@tom.com>
3 years agoMerge pull request #10287 from ton31337/fix/rfc7196
Donald Sharp [Thu, 6 Jan 2022 12:34:45 +0000 (07:34 -0500)]
Merge pull request #10287 from ton31337/fix/rfc7196

bgpd: Increase maximum supress threshold for dampening to 50,000

3 years agotests: Fixup output that was incorrect in nhrp_topo 10290/head
Donald Sharp [Wed, 5 Jan 2022 14:15:26 +0000 (09:15 -0500)]
tests: Fixup output that was incorrect in nhrp_topo

The nhrp_topo test sets up some infrastructure and
was displaying the commands it was outputting
incorrectly.  Fix this.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #10296 from anlancs/fix-doc-version
Donald Sharp [Thu, 6 Jan 2022 12:26:28 +0000 (07:26 -0500)]
Merge pull request #10296 from anlancs/fix-doc-version

doc: minor grammar correction

3 years agoMerge pull request #10297 from ton31337/fix/gr_can_be_0
Donald Sharp [Thu, 6 Jan 2022 12:26:03 +0000 (07:26 -0500)]
Merge pull request #10297 from ton31337/fix/gr_can_be_0

bgpd: Graceful Restart restart-time can be 0

3 years agobgpd: Graceful Restart restart-time can be 0 10297/head
Donatas Abraitis [Thu, 6 Jan 2022 09:24:48 +0000 (11:24 +0200)]
bgpd: Graceful Restart restart-time can be 0

Using with LLGR, this should be allowed setting GR restart-time timer to 0,
to immediately start LLGR timers.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agodoc: minor grammar correction 10296/head
anlan_cs [Thu, 6 Jan 2022 08:28:27 +0000 (03:28 -0500)]
doc: minor grammar correction

Need one empty line.

Signed-off-by: anlan_cs <anlan_cs@tom.com>
3 years agoMerge pull request #10291 from mjstapp/fix_topo_doc_reqs
Donatas Abraitis [Thu, 6 Jan 2022 08:14:32 +0000 (10:14 +0200)]
Merge pull request #10291 from mjstapp/fix_topo_doc_reqs

docs: clarify topotest requirements

3 years agobgpd: Increase maximum supress threshold for dampening to 50,000 10287/head
Donatas Abraitis [Wed, 5 Jan 2022 09:30:38 +0000 (11:30 +0200)]
bgpd: Increase maximum supress threshold for dampening to 50,000

rfc7196 recommends:

In addition, BGP implementations have an internal constant, which we
   will call the 'maximum penalty', and the current computed penalty may
   not exceed it.

Router Maximum Penalty:  The internal constant for the maximum
      penalty value MUST be raised to at least 50,000.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Adjust symbolic names for cease notifications according to rfc4486 10284/head
Donatas Abraitis [Wed, 5 Jan 2022 07:39:44 +0000 (09:39 +0200)]
bgpd: Adjust symbolic names for cease notifications according to rfc4486

The following subcodes are defined for the Cease NOTIFICATION
   message:

      Subcode     Symbolic Name

         1        Maximum Number of Prefixes Reached
         2        Administrative Shutdown
         3        Peer De-configured
         4        Administrative Reset
         5        Connection Rejected
         6        Other Configuration Change
         7        Connection Collision Resolution
         8        Out of Resources

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #10294 from opensourcerouting/topotests-nhrp-require-5.0
Christian Hopps [Thu, 6 Jan 2022 03:25:07 +0000 (22:25 -0500)]
Merge pull request #10294 from opensourcerouting/topotests-nhrp-require-5.0

topotests: require Linux 5.0 for NHRP

3 years agotopotests: require Linux 5.0 for NHRP 10294/head
David Lamparter [Wed, 5 Jan 2022 19:59:38 +0000 (20:59 +0100)]
topotests: require Linux 5.0 for NHRP

It fails on 4.19, so let's go minimum 5.0 for the time being.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
3 years agodocs: clarify topotest requirements 10291/head
Mark Stapp [Wed, 5 Jan 2022 15:27:17 +0000 (10:27 -0500)]
docs: clarify topotest requirements

The developer docs weren't clear about some pre-reqs.

Signed-off-by: Mark Stapp <mstapp@nvidia.com>
3 years agoMerge pull request #10208 from adrianomarto/master
Russ White [Wed, 5 Jan 2022 15:10:23 +0000 (10:10 -0500)]
Merge pull request #10208 from adrianomarto/master

Babel configuration parameter fixes

3 years agoMerge pull request #10260 from ton31337/feature/bgp_llgr_helper_mode
Russ White [Wed, 5 Jan 2022 15:08:31 +0000 (10:08 -0500)]
Merge pull request #10260 from ton31337/feature/bgp_llgr_helper_mode

bgpd: Implement LLGR helper mode

3 years agodocker: update alpine build enable set own version 10283/head
Stephen Worley [Tue, 4 Jan 2022 18:14:51 +0000 (13:14 -0500)]
docker: update alpine build enable set own version

Add ability to set your own env for the version of the docker
container alpine image. This is useful for applications like GNS3
who pin a specific version to look for when they boot up. When you build
locally to test your code you can just set the version to 0 so you don't
have to update configs/scripts looking for a specific image version.

Also fix a shebang in docker start for alpine.

Signed-off-by: Stephen Worley <sworley@nvidia.com>
3 years agoMerge pull request #10274 from anlancs/fix-spell-error-bfd
Donald Sharp [Sun, 2 Jan 2022 22:57:46 +0000 (17:57 -0500)]
Merge pull request #10274 from anlancs/fix-spell-error-bfd

bfdd: correct one spelling error of comment

3 years agobfdd: correct one spelling error of comment 10274/head
anlan_cs [Fri, 31 Dec 2021 10:30:52 +0000 (05:30 -0500)]
bfdd: correct one spelling error of comment

Signed-off-by: anlan_cs <anlan_cs@tom.com>
3 years agotools: cleanup route convertion from null0/Null0 to blackhole 10030/head
anlan_cs [Fri, 31 Dec 2021 05:58:52 +0000 (00:58 -0500)]
tools: cleanup route convertion from null0/Null0 to blackhole

Signed-off-by: anlan_cs <anlan_cs@tom.com>
3 years agoMerge pull request #10219 from donaldsharp/l3vpn_to_bgp_vrf_fixes
Russ White [Thu, 30 Dec 2021 23:42:21 +0000 (18:42 -0500)]
Merge pull request #10219 from donaldsharp/l3vpn_to_bgp_vrf_fixes

tests: Further fix bgp_l3vpn_to_bgp_vrf

3 years agotests: Add basic BGP Long-lived Graceful restart tests 10260/head
Donatas Abraitis [Tue, 28 Dec 2021 10:23:26 +0000 (12:23 +0200)]
tests: Add basic BGP Long-lived Graceful restart tests

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Change default long-lived graceful restart stale timer to 0 seconds
Donatas Abraitis [Thu, 23 Dec 2021 12:23:48 +0000 (14:23 +0200)]
bgpd: Change default long-lived graceful restart stale timer to 0 seconds

That means the feature is off by default.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agobgpd: Implement LLGR helper mode
Donatas Abraitis [Mon, 20 Dec 2021 21:03:09 +0000 (23:03 +0200)]
bgpd: Implement LLGR helper mode

Tested between GoBGP and FRR (this commit).

```
┌───────────┐             ┌────────────┐
│           │             │            │
│ GoBGPD    │             │ FRRouting  │
│ (restart) │             │            │
│           │             │            │
└──────┬────┘             └───────┬────┘
       │                          │
       │                          │
       │                          │
       │     ┌───────────┐        │
       │     │           │        │
       │     │           │        │
       └─────┤ FRRouting ├────────┘
             │ (helper)  │
             │           │
             └───────────┘

// GoBGPD
% cat /etc/gobgp/config.toml
[global.config]
    as = 65002
    router-id = "2.2.2.2"
    port = 179

[[neighbors]]
    [neighbors.config]
        peer-as = 65001
        neighbor-address = "2a02:abc::123"
    [neighbors.graceful-restart.config]
        enabled = true
        restart-time = 3
        long-lived-enabled = true
    [[neighbors.afi-safis]]
        [neighbors.afi-safis.config]
            afi-safi-name = "ipv6-unicast"
        [neighbors.afi-safis.mp-graceful-restart.config]
            enabled = true
        [neighbors.afi-safis.long-lived-graceful-restart.config]
            enabled = true
            restart-time = 10
    [[neighbors.afi-safis]]
        [neighbors.afi-safis.config]
            afi-safi-name = "ipv4-unicast"
        [neighbors.afi-safis.mp-graceful-restart.config]
            enabled = true
        [neighbors.afi-safis.long-lived-graceful-restart.config]
            enabled = true
            restart-time = 20

% ./gobgp global rib add -a ipv6 2001:db8:4::/64
% ./gobgp global rib add -a ipv6 2001:db8:5::/64 community 65535:7
% ./gobgp global rib add -a ipv4 100.100.100.100/32
% ./gobgp global rib add -a ipv4 100.100.100.200/32 community 65535:7
```

1. When killing GoBGPD, graceful restart timer starts in FRR helper router;
2. When GR timer expires in helper router:
   a) LLGR_STALE community is attached to routes to be retained;
   b) Clear stale routes that have NO_LLGR community attached;
   c) Start LLGR timer per AFI/SAFI;
   d) Recompute bestpath and reannounce routes to peers;
   d) When LLGR timer expires, clear all routes on particular AFI/SAFI.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #10254 from ton31337/fix/typo
Donald Sharp [Mon, 27 Dec 2021 13:21:49 +0000 (08:21 -0500)]
Merge pull request #10254 from ton31337/fix/typo

bgpd: Fix typo in bgp_aggr_community_hash_alloc()

3 years agoMerge pull request #10261 from ton31337/fix/remove_if0
Igor Ryzhov [Thu, 23 Dec 2021 22:09:41 +0000 (01:09 +0300)]
Merge pull request #10261 from ton31337/fix/remove_if0

3 years agoMerge pull request #10259 from anlancs/add-assert-ospf6
Donatas Abraitis [Thu, 23 Dec 2021 12:50:47 +0000 (14:50 +0200)]
Merge pull request #10259 from anlancs/add-assert-ospf6

ospf6d: clean coverity warning of possible null pointer

3 years agobgpd: Drop `if 0` blocks 10261/head
Donatas Abraitis [Thu, 23 Dec 2021 12:41:11 +0000 (14:41 +0200)]
bgpd: Drop `if 0` blocks

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #10256 from anlancs/cleanup-zebra_evpn_mac_add
Igor Ryzhov [Thu, 23 Dec 2021 10:10:18 +0000 (13:10 +0300)]
Merge pull request #10256 from anlancs/cleanup-zebra_evpn_mac_add

zebra: cleanup checking zebra_evpn_mac_add function's return value

3 years agoospf6d: clean coverity warning of possible null pointer 10259/head
anlan_cs [Thu, 23 Dec 2021 02:51:55 +0000 (21:51 -0500)]
ospf6d: clean coverity warning of possible null pointer

Add assert to protect it.

Signed-off-by: anlan_cs <anlan_cs@tom.com>
3 years agozebra: cleanup checking zebra_evpn_mac_add function's return value 10256/head
anlan_cs [Wed, 22 Dec 2021 01:03:36 +0000 (20:03 -0500)]
zebra: cleanup checking zebra_evpn_mac_add function's return value

This function is sure to return correct value by "assert", so the
checking its return value should be removed.

Signed-off-by: anlan_cs <anlan_cs@tom.com>
3 years agodoc: Minor grammar correction 10208/head
Adriano Marto Reis [Tue, 7 Dec 2021 08:20:03 +0000 (18:20 +1000)]
doc: Minor grammar correction

No comma needed.

Signed-off-by: "Adriano Marto Reis" <adrianomarto@gmail.com>
3 years agobabeld: C-style comments
Adriano Marto Reis [Tue, 7 Dec 2021 08:18:33 +0000 (18:18 +1000)]
babeld: C-style comments

Replacing C++-style comments with C-style comments.

Signed-off-by: "Adriano Marto Reis" <adrianomarto@gmail.com>
3 years agodoc: Updating babel default configuration parameters
Adriano Marto Reis [Sun, 5 Dec 2021 23:41:25 +0000 (09:41 +1000)]
doc: Updating babel default configuration parameters

Updating babel default configuration parameters rtt-min and
max-rtt-penalty according to the actual implementation.

Signed-off-by: Adriano Marto Reis <adrianomarto@gmail.com>
3 years agobabeld: Presenting interface configuration parameters
Adriano Marto Reis [Sun, 5 Dec 2021 23:37:51 +0000 (09:37 +1000)]
babeld: Presenting interface configuration parameters

* Presenting the configuration parameters enable-timestamps,
max-rtt-penalty, rtt-min, and rtt-max.
* Using #defines for the default configuration values instead of magic
numbers.
* rtt-max and rtt-min are entered and presented in milliseconds, but
stored and internally used in microseconds.

Signed-off-by: Adriano Marto Reis <adrianomarto@gmail.com>
3 years agoMerge pull request #8494 from donaldsharp/wfi_failures
Donatas Abraitis [Wed, 22 Dec 2021 07:53:44 +0000 (09:53 +0200)]
Merge pull request #8494 from donaldsharp/wfi_failures

bgpd, tests: Add code to handle failed installations

3 years agoMerge pull request #10255 from qlyoung/fix-ldpd-doc-option-typo
Igor Ryzhov [Wed, 22 Dec 2021 04:49:47 +0000 (07:49 +0300)]
Merge pull request #10255 from qlyoung/fix-ldpd-doc-option-typo

3 years agodoc: fix typo in ldpd docs 10255/head
Quentin Young [Tue, 21 Dec 2021 22:04:11 +0000 (17:04 -0500)]
doc: fix typo in ldpd docs

Signed-off-by: Quentin Young <qlyoung@nvidia.com>
3 years agobgpd: Fix typo in bgp_aggr_community_hash_alloc() 10254/head
Donatas Abraitis [Tue, 21 Dec 2021 19:18:17 +0000 (21:18 +0200)]
bgpd: Fix typo in bgp_aggr_community_hash_alloc()

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #10216 from opensourcerouting/lib-assorted-20211214
Quentin Young [Tue, 21 Dec 2021 16:18:08 +0000 (11:18 -0500)]
Merge pull request #10216 from opensourcerouting/lib-assorted-20211214

3 years agoMerge pull request #10228 from opensourcerouting/bgp-agg-aspath
Igor Ryzhov [Tue, 21 Dec 2021 16:14:19 +0000 (19:14 +0300)]
Merge pull request #10228 from opensourcerouting/bgp-agg-aspath

bgpd: fix aggregate route AS Path attribute

3 years agoMerge pull request #9750 from mjstapp/zebra_installed_nhg_id
Lou Berger [Tue, 21 Dec 2021 15:31:04 +0000 (10:31 -0500)]
Merge pull request #9750 from mjstapp/zebra_installed_nhg_id

zebra: add installed nexthop-group id value

3 years agoMerge pull request #10182 from mjstapp/fix_clang_break_opers
Igor Ryzhov [Tue, 21 Dec 2021 15:23:00 +0000 (18:23 +0300)]
Merge pull request #10182 from mjstapp/fix_clang_break_opers

tools: clang-format break after operators

3 years agobgpd: fix aggregate route AS Path attribute 10228/head
Rafael Zalamena [Mon, 13 Dec 2021 20:21:56 +0000 (17:21 -0300)]
bgpd: fix aggregate route AS Path attribute

Always free the locally allocated attribute not the one we are using for
return. This fixes a memory leak and a crash when AS Path is set with
route-map.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
3 years agoMerge pull request #10098 from opensourcerouting/ospf-gr-topotest-fix
Donald Sharp [Tue, 21 Dec 2021 13:43:32 +0000 (08:43 -0500)]
Merge pull request #10098 from opensourcerouting/ospf-gr-topotest-fix

ospfd: fix incorrect detection of topology changes in helper mode

3 years agoMerge pull request #10250 from ton31337/fix/no_need_to_test_for_BGP_TIMER_OFF
Igor Ryzhov [Tue, 21 Dec 2021 11:16:53 +0000 (14:16 +0300)]
Merge pull request #10250 from ton31337/fix/no_need_to_test_for_BGP_TIMER_OFF

bgpd: No need to test if a thread is running for BGP_TIMER_OFF

3 years agobgpd: No need to test if a thread is running for BGP_TIMER_OFF 10250/head
Donatas Abraitis [Tue, 21 Dec 2021 08:57:07 +0000 (10:57 +0200)]
bgpd: No need to test if a thread is running for BGP_TIMER_OFF

Handles that inside the macro.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoMerge pull request #10245 from anlancs/fix-spell-error
Donatas Abraitis [Mon, 20 Dec 2021 13:14:53 +0000 (15:14 +0200)]
Merge pull request #10245 from anlancs/fix-spell-error

zebra: correct one spell error

3 years agoMerge pull request #10181 from ton31337/fix/default-originate_route-map
Igor Ryzhov [Mon, 20 Dec 2021 13:13:07 +0000 (16:13 +0300)]
Merge pull request #10181 from ton31337/fix/default-originate_route-map

doc: Add `default-originate route-map WORD` for bgpd

3 years agoMerge pull request #10236 from ffontaine/master
Igor Ryzhov [Mon, 20 Dec 2021 13:12:03 +0000 (16:12 +0300)]
Merge pull request #10236 from ffontaine/master

configure.ac: fix enable_bmp typo

3 years agozebra: correct one spell error 10245/head
anlan_cs [Mon, 20 Dec 2021 01:46:58 +0000 (20:46 -0500)]
zebra: correct one spell error

Signed-off-by: anlan_cs <anlan_cs@tom.com>
3 years agoMerge pull request #10243 from Drumato/pathd-fix-typo
Donald Sharp [Mon, 20 Dec 2021 01:14:56 +0000 (20:14 -0500)]
Merge pull request #10243 from Drumato/pathd-fix-typo

pathd: fix typo in pathd/path_ted.c

3 years agopathd: fix typo in pathd/path_ted.c 10243/head
Yamato Sugawara [Sun, 19 Dec 2021 11:25:15 +0000 (11:25 +0000)]
pathd: fix typo in pathd/path_ted.c

Signed-off-by: Yamato Sugawara <yamato.sugawara@linecorp.com>
3 years agobgpd, tests: Add code to handle failed installations 8494/head
Donald Sharp [Fri, 16 Apr 2021 15:34:30 +0000 (11:34 -0400)]
bgpd, tests: Add code to handle failed installations

Currently the Wait for Install code ( bgp_suppress_fib ) does
not properly handle two states from zebra:  ROUTE_INSTALL_FAILED
and BETTER_ADMIN_DISTANCE_WON.  Pre this change the WFI code
would just never notify our peers about a route install failure
but more is needed.  In the ROUTE_INSTALL_FAILED and the
BETTER_ADMIN_DISTANCE_WON we need to notify our peers with
a withdrawal about the route, else we will continue to
draw traffic to us when we cannot legally do so.

Why is this needed?  In either case imagine that we've already
received a bgp route, installed it and sent to our peers.
In the Better admin distance won case, say a static route is installed
at this point in time we must stop advertising the route through
us since we are not installed.  As such a withdrawal must be sent.

In the ROUTE_INSTALL_FAILED case, the code was not properly handling
the situation where we have Route A, it was successfully installed
and then we received a update to Route A that was attempted to be
installed but failed.  In this case we also need to send a withdrawal

Finally update the bgp_suppress_fib topotest to test both of these
situations.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoconfigure.ac: fix enable_bmp typo 10236/head
Fabrice Fontaine [Thu, 16 Dec 2021 19:10:26 +0000 (20:10 +0100)]
configure.ac: fix enable_bmp typo

enable_bmp doesn't exist, use enable_bgp_bmp

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
3 years agoMerge pull request #10213 from idryzhov/isis-adj-uaf
Donatas Abraitis [Thu, 16 Dec 2021 14:41:11 +0000 (16:41 +0200)]
Merge pull request #10213 from idryzhov/isis-adj-uaf

isisd: fix use after free

3 years agoMerge pull request #10215 from FRRouting/revert-10164-name_change
Stephen Worley [Wed, 15 Dec 2021 22:40:53 +0000 (17:40 -0500)]
Merge pull request #10215 from FRRouting/revert-10164-name_change

Revert "pimd: Modifying members of pim_interface to accommodate IPv6 changes"

3 years agoMerge pull request #10224 from ffontaine/master
David Lamparter [Wed, 15 Dec 2021 22:32:06 +0000 (23:32 +0100)]
Merge pull request #10224 from ffontaine/master

3 years agoconfigure.ac: drop --enable-pcep option and HAVE_PATHD_PCEP 10224/head
Fabrice Fontaine [Wed, 15 Dec 2021 08:08:28 +0000 (09:08 +0100)]
configure.ac: drop --enable-pcep option and HAVE_PATHD_PCEP

Drop --enable-pcep option and HAVE_PATHD_PCEP which does nothing since
https://github.com/FRRouting/frr/commit/749714731ee9a59ae39be77e7db3915ce3ad0bd8

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
3 years agotools: fix backing up previous logs in generate_support_bundle.py 10226/head
Jonas Gorski [Wed, 15 Dec 2021 09:33:33 +0000 (10:33 +0100)]
tools: fix backing up previous logs in generate_support_bundle.py

subprocess.check_call needs to be called with shell=True, else it will
interpret the string as a single path to execute instead of a command
with arguments:

Fixes the following error:

$ /usr/lib/frr/generate_support_bundle.py
Making backup of /var/log/frr/bgp_support_bundle.log
Traceback (most recent call last):
  File "/usr/lib/frr/generate_support_bundle.py", line 89, in <module>
    main()
  File "/usr/lib/frr/generate_support_bundle.py", line 80, in main
    stdout=open_with_backup(ofn),
  File "/usr/lib/frr/generate_support_bundle.py", line 32, in open_with_backup
    subprocess.check_call("mv {0} {0}.prev".format(path))
  File "/usr/lib/python3.8/subprocess.py", line 359, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib/python3.8/subprocess.py", line 340, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.8/subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1704, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'mv /var/log/frr/bgp_support_bundle.log /var/log/frr/bgp_support_bundle.log.prev'

Fixes: 5417cc2de ("tests: collect support bundle data in parallel, fix bugs")
Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
3 years agoMerge pull request #10211 from idryzhov/doc-pathd-warning
Donald Sharp [Tue, 14 Dec 2021 23:25:21 +0000 (18:25 -0500)]
Merge pull request #10211 from idryzhov/doc-pathd-warning

doc: fix undefined label warning

3 years agolib: default VRF may not exist on early exit 10216/head
David Lamparter [Thu, 11 Nov 2021 16:23:55 +0000 (17:23 +0100)]
lib: default VRF may not exist on early exit

If we're exiting before we finished initializing, we can end up trying
to shut down a NULL vrf here.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>