]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
20 months agoMerge pull request #12040 from opensourcerouting/fix/bgp_local_as_remote_as
Russ White [Thu, 6 Oct 2022 14:03:26 +0000 (10:03 -0400)]
Merge pull request #12040 from opensourcerouting/fix/bgp_local_as_remote_as

bgpd: Allow using remote-as the same as local-as

20 months agoMerge pull request #12054 from opensourcerouting/feature/show_that_route_is_not_adver...
mobash-rasool [Thu, 6 Oct 2022 09:53:21 +0000 (15:23 +0530)]
Merge pull request #12054 from opensourcerouting/feature/show_that_route_is_not_advertised

bgpd: Show why the prefix is inaccessible in show commands

20 months agoMerge pull request #11983 from maduri111/bgpd-cond-adv-debug
Donatas Abraitis [Thu, 6 Oct 2022 09:42:28 +0000 (12:42 +0300)]
Merge pull request #11983 from maduri111/bgpd-cond-adv-debug

bgpd: adding debug command for conditional advertisement

20 months agobgpd: conditional advertisement code cleanup
Madhuri Kuruganti [Thu, 6 Oct 2022 07:13:05 +0000 (12:43 +0530)]
bgpd: conditional advertisement code cleanup

Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
20 months agoMerge pull request #11838 from Pdoijode/v6-gua-nh-bgp-update
Donatas Abraitis [Thu, 6 Oct 2022 07:04:37 +0000 (10:04 +0300)]
Merge pull request #11838 from Pdoijode/v6-gua-nh-bgp-update

bgpd: BGP does not update next-hop when global V6 address is configured

20 months agobgpd: adding debug command for conditional advertisement
Madhuri Kuruganti [Wed, 21 Sep 2022 07:03:52 +0000 (12:33 +0530)]
bgpd: adding debug command for conditional advertisement

Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
20 months agoMerge pull request #12060 from donaldsharp/tunnel_shenanigans
Jafar Al-Gharaibeh [Wed, 5 Oct 2022 22:50:48 +0000 (17:50 -0500)]
Merge pull request #12060 from donaldsharp/tunnel_shenanigans

zebra: Allow tunneldump data to work properly on non-supported kernels

20 months agoMerge pull request #12017 from patrasar/pimv6_hello
Donald Sharp [Wed, 5 Oct 2022 12:25:28 +0000 (08:25 -0400)]
Merge pull request #12017 from patrasar/pimv6_hello

pimd, pim6d: send secondary address in PIM hello packet

20 months agoMerge pull request #12063 from opensourcerouting/fix/update_package_development_versions
Donald Sharp [Wed, 5 Oct 2022 12:10:15 +0000 (08:10 -0400)]
Merge pull request #12063 from opensourcerouting/fix/update_package_development_versions

debian, redhat: Update changelog for new release (8.5)

20 months agoMerge pull request #12019 from devicenull/master
Donatas Abraitis [Wed, 5 Oct 2022 11:14:58 +0000 (14:14 +0300)]
Merge pull request #12019 from devicenull/master

Configure systemd to always restart FRR, regardless of exit code

20 months agoMerge pull request #12013 from SaiGomathiN/11895
Donatas Abraitis [Wed, 5 Oct 2022 11:09:39 +0000 (14:09 +0300)]
Merge pull request #12013 from SaiGomathiN/11895

pim6d: Adding new Debug CLI for MLD

20 months agoMerge pull request #12048 from taspelund/display_retrans_mismatch
Donatas Abraitis [Wed, 5 Oct 2022 11:08:06 +0000 (14:08 +0300)]
Merge pull request #12048 from taspelund/display_retrans_mismatch

RA logging improvements

20 months agodebian, redhat: Update changelog for new release (8.5)
Donatas Abraitis [Tue, 4 Oct 2022 18:43:29 +0000 (21:43 +0300)]
debian, redhat: Update changelog for new release (8.5)

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agozebra: Allow tunneldump data to work properly on non-supported kernels
Donald Sharp [Tue, 4 Oct 2022 12:51:38 +0000 (08:51 -0400)]
zebra: Allow tunneldump data to work properly on non-supported kernels

When zebra requests tunnel data it is sending a RTM_GETTUNNEL per
interface that is a VXLAN tunnel.  If the kernel that is being
used does not support the particular request type then zebra
will get a error message per tunnel request back.  Unfortunately
netlink_parse_info *stops* reading on the first error message.
Therefor one kernels that are returning an error message
let's gather all of those errors.  This will allow things
like route reads to actually work properly

Fixes: #12056
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agobuild: FRR 8.5 development version
Donatas Abraitis [Tue, 4 Oct 2022 18:33:18 +0000 (21:33 +0300)]
build: FRR 8.5 development version

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agoMerge pull request #12058 from donaldsharp/fabricd_excessive_debugs
Donatas Abraitis [Tue, 4 Oct 2022 18:28:27 +0000 (21:28 +0300)]
Merge pull request #12058 from donaldsharp/fabricd_excessive_debugs

fabricd:  Turn off excessive logging when peering will not come up

20 months agoMerge pull request #12061 from mruprich/show-bgp-graceful-restart-typo
Donatas Abraitis [Tue, 4 Oct 2022 18:26:45 +0000 (21:26 +0300)]
Merge pull request #12061 from mruprich/show-bgp-graceful-restart-typo

bgpd: show ip bgp neighbors graceful-restart typo

20 months agozebra: ignore unspec RetransTimer in RA validation
Trey Aspelund [Fri, 30 Sep 2022 20:47:54 +0000 (20:47 +0000)]
zebra: ignore unspec RetransTimer in RA validation

Section 6.2.7 of RFC 4861 states that a router SHOULD log
inconsistencies in RA information detected on a given link:
```
    - Cur Hop Limit values (except for the unspecified value of zero
      other inconsistencies SHOULD be logged to system network
      management).

    - Values of the M or O flags.

    - Reachable Time values (except for the unspecified value of zero).

    - Retrans Timer values (except for the unspecified value of zero).

    - Values in the MTU options.

    - Preferred and Valid Lifetimes for the same prefix.  If
      AdvPreferredLifetime and/or AdvValidLifetime decrement in real
      time as specified in Section 6.2.1 then the comparison of the
      lifetimes cannot compare the content of the fields in the Router
      Advertisement, but must instead compare the time at which the
      prefix will become deprecated and invalidated, respectively.  Due
      to link propagation delays and potentially poorly synchronized
      clocks between the routers such comparison SHOULD allow some time
      skew.
```

We were not logging inconsistencies if "the unspecified value of zero"
was used for Reachable Time but were logging them for Retrans Timer.
This updates the validation check to also skip the logging of Retrans
Timer inconsistencies if either local/rx value is 0.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
20 months agozebra: show local/rx values in RA mismatch debugs
Trey Aspelund [Fri, 30 Sep 2022 19:58:31 +0000 (19:58 +0000)]
zebra: show local/rx values in RA mismatch debugs

When we process a received Router Advertisement we have some logic in
place to detect and log mismatches in a handful of flags/values.
However, these logs do not include what the actual values are, which
means it's up to the operator to grab a packet capture and compare that
against the local configuration...
So let's make life a little easier by including those in the log itself.

Before:
```
2022/09/30 20:37:16 ZEBRA: [KV2V1-7GM7G][EC 4043309149] enp1s0(2): Rx RA - our AdvCurHopLimit doesn't agree with fe80::5054:ff:feca:b085
2022/09/30 20:37:16 ZEBRA: [KS0BP-4GR8K][EC 4043309149] enp1s0(2): Rx RA - our AdvManagedFlag doesn't agree with fe80::5054:ff:feca:b085
2022/09/30 20:37:16 ZEBRA: [RE4EC-VYEJ2][EC 4043309149] enp1s0(2): Rx RA - our AdvOtherConfigFlag doesn't agree with fe80::5054:ff:feca:b085
2022/09/30 20:37:16 ZEBRA: [X6794-9MW18][EC 4043309149] enp1s0(2): Rx RA - our AdvReachableTime doesn't agree with fe80::5054:ff:feca:b085
2022/09/30 20:37:16 ZEBRA: [S1KXC-H8F4W][EC 4043309149] enp1s0(2): Rx RA - our AdvRetransTimer doesn't agree with fe80::5054:ff:feca:b085
```

After:
```
Sep 30 20:45:18 ub20-2 zebra[47487]: [GSW5Z-V7DZN][EC 4043309149] enp1s0(2): Rx RA - our AdvCurHopLimit (14) doesn't agree with fe80::5054:ff:fe9a:e2ca (64)
Sep 30 20:45:18 ub20-2 zebra[47487]: [RHHTS-F96DR][EC 4043309149] enp1s0(2): Rx RA - our AdvManagedFlag (0) doesn't agree with fe80::5054:ff:fe9a:e2ca (1)
Sep 30 20:45:18 ub20-2 zebra[47487]: [MNBY3-FTN6W][EC 4043309149] enp1s0(2): Rx RA - our AdvOtherConfigFlag (0) doesn't agree with fe80::5054:ff:fe9a:e2ca (1)
Sep 30 20:45:18 ub20-2 zebra[47487]: [GG62B-XXWR0][EC 4043309149] enp1s0(2): Rx RA - our AdvReachableTime (20) doesn't agree with fe80::5054:ff:fe9a:e2ca (777)
Sep 30 20:45:18 ub20-2 zebra[47487]: [YG220-D6B4H][EC 4043309149] enp1s0(2): Rx RA - our AdvRetransTimer (13) doesn't agree with fe80::5054:ff:fe9a:e2ca (0)
```

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
20 months agobgpd: show ip bgp neighbors graceful-restart typo
Michal Ruprich [Tue, 4 Oct 2022 13:14:48 +0000 (15:14 +0200)]
bgpd: show ip bgp neighbors graceful-restart typo

Noticed a typo in the definition of
show_ip_bgp_neighbors_graceful_restart function.

Signed-off-by: Michal Ruprich <mruprich@redhat.com>
20 months agoMerge pull request #12047 from donaldsharp/bgp_nexthop_individual
Russ White [Tue, 4 Oct 2022 11:41:58 +0000 (07:41 -0400)]
Merge pull request #12047 from donaldsharp/bgp_nexthop_individual

bgpd: Fix `show bgp nexthop A.B.C.D`

20 months agofabricd: Turn off excessive logging when peering will not come up
Donald Sharp [Tue, 4 Oct 2022 11:28:51 +0000 (07:28 -0400)]
fabricd:  Turn off excessive logging when peering will not come up

When fabricd is configured to use an interface and there will be
no peers out that interface, the log file is filling up with:

Oct 04 10:50:03 host2 fabricd[1444769]: [HHXDJ-1DA93] ISIS-Adj (1): Threeway state change Initializing to Up
Oct 04 10:50:03 host2 fabricd[1444769]: [R18GA-MS9R7] OpenFabric: Started initial synchronization with 1111.1111.1111 on enp1s0f1np1
Oct 04 10:50:06 host2 fabricd[1444769]: [HHXDJ-1DA93] ISIS-Adj (1): Threeway state change Up to Initializing
Oct 04 10:50:07 host2 fabricd[1444769]: [NT6J7-1RYRF] OpenFabric: Initial synchronization on enp1s0f1np1 timed out!
Oct 04 10:50:07 host2 fabricd[1444769]: [R18GA-MS9R7] OpenFabric: Started initial synchronization with 3333.3333.3333 on enp1s0f0np0
Oct 04 10:50:08 host2 fabricd[1444769]: [HHXDJ-1DA93] ISIS-Adj (1): Threeway state change Up to Initializing
Oct 04 10:50:11 host2 fabricd[1444769]: [NT6J7-1RYRF] OpenFabric: Initial synchronization on enp1s0f0np0 timed out!
Oct 04 10:50:11 host2 fabricd[1444769]: [HHXDJ-1DA93] ISIS-Adj (1): Threeway state change Initializing to Up
Oct 04 10:50:11 host2 fabricd[1444769]: [R18GA-MS9R7] OpenFabric: Started initial synchronization with 1111.1111.1111 on enp1s0f1np1
Oct 04 10:50:14 host2 fabricd[1444769]: [HHXDJ-1DA93] ISIS-Adj (1): Threeway state change Up to Initializing
Oct 04 10:50:15 host2 fabricd[1444769]: [NT6J7-1RYRF] OpenFabric: Initial synchronization on enp1s0f1np1 timed out!
Oct 04 10:50:16 host2 fabricd[1444769]: [R18GA-MS9R7] OpenFabric: Started initial synchronization with 1111.1111.1111 on enp1s0f1np1
Oct 04 10:50:18 host2 fabricd[1444769]: [HHXDJ-1DA93] ISIS-Adj (1): Threeway state change Initializing to Up

The `Threeway state change..` message is guarded by a debug, but the other 2 are not.
Let's guard those with debugs since the log will be filled up rather quickly
with any sort of aggressive timers.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agobgpd: Show why the prefix is inaccessible in show commands
Donatas Abraitis [Tue, 4 Oct 2022 08:32:39 +0000 (11:32 +0300)]
bgpd: Show why the prefix is inaccessible in show commands

```
donatas-pc# show ip bgp 100.100.100.0/24 longer-prefixes
BGP table version is 13, local router ID is 10.10.10.10, vrf id 0
Default local pref 100, local AS 65000
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

   Network          Next Hop            Metric LocPrf Weight Path
   100.100.100.0/24 0.0.0.0                  0         32768 i

Displayed  1 routes and 15 total paths
donatas-pc# show ip bgp 100.100.100.0/24
BGP routing table entry for 100.100.100.0/24, version 0
Paths: (1 available, no best path)
  Not advertised to any peer
  Local
    0.0.0.0 (inaccessible, import-check enabled) from 0.0.0.0 (10.10.10.10)
      Origin IGP, metric 0, weight 32768, invalid, sourced, local
      Last update: Tue Oct  4 11:31:44 2022
donatas-pc# show ip bgp 100.100.100.0/24 json
{
  "prefix":"100.100.100.0\/24",
  "version":0,
  "paths":[
    {
      "aspath":{
        "string":"Local",
        "segments":[
        ],
        "length":0
      },
      "origin":"IGP",
      "metric":0,
      "weight":32768,
      "valid":false,
      "version":0,
      "sourced":true,
      "local":true,
      "lastUpdate":{
        "epoch":1664872304,
        "string":"Tue Oct  4 11:31:44 2022\n"
      },
      "nexthops":[
        {
          "ip":"0.0.0.0",
          "hostname":"donatas-pc",
          "afi":"ipv4",
          "accessible":false,
          "importCheckEnabled":true,
          "used":true
        }
      ],
      "peer":{
        "peerId":"0.0.0.0",
        "routerId":"10.10.10.10"
      }
    }
  ]
}
donatas-pc#
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agoMerge pull request #12043 from donaldsharp/bgp_hate
Donatas Abraitis [Sat, 1 Oct 2022 17:40:15 +0000 (20:40 +0300)]
Merge pull request #12043 from donaldsharp/bgp_hate

Bgp hate

20 months agobgpd: Fix `show bgp nexthop A.B.C.D`
Donald Sharp [Fri, 30 Sep 2022 18:58:21 +0000 (14:58 -0400)]
bgpd: Fix `show bgp nexthop A.B.C.D`

The issuing of `show bgp nexthop A.B.C.D` fails even if that
nexthop exists:

eva# show bgp nexthop 192.168.119.120
specified nexthop does not have entry

Fixed:

eva# show bgp nexthop 192.168.119.120
 192.168.119.120 valid [IGP metric 0], #paths 0, peer 192.168.119.120
  if enp39s0
  Last update: Fri Sep 30 14:55:13 2022

  Paths:

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agobgpd: Ensure FRR has enough data to read 2 bytes in bgp_open_option_parse
Donald Sharp [Fri, 30 Sep 2022 12:57:43 +0000 (08:57 -0400)]
bgpd: Ensure FRR has enough data to read 2 bytes in bgp_open_option_parse

In bgp_open_option_parse the code is checking that the
stream has at least 2 bytes to read ( the opt_type and
the opt_length).  However if BGP_OPEN_EXT_OPT_PARAMS_CAPABLE(peer)
is configured then FRR is reading 3 bytes.  Which is not good
since the packet could be badly formateed.  Ensure that
FRR has the appropriate data length to read the data.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agobgpd: Ensure FRR has enough data to read 2 bytes in peek_for_as4_capability
Donald Sharp [Fri, 30 Sep 2022 12:51:45 +0000 (08:51 -0400)]
bgpd: Ensure FRR has enough data to read 2 bytes in peek_for_as4_capability

In peek_for_as4_capability the code is checking that the
stream has at least 2 bytes to read ( the opt_type and the
opt_length ).  However if BGP_OPEN_EXT_OPT_PARAMS_CAPABLE(peer)
is configured then FRR is reading 3 bytes.  Which is not good
since the packet could be badly formated.  Ensure that
FRR has the appropriate data length to read the data.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agopimd, pim6d: send secondary address in PIM hello packet
Sarita Patra [Fri, 23 Sep 2022 07:08:23 +0000 (00:08 -0700)]
pimd, pim6d: send secondary address in PIM hello packet

Fixed as per rfc7761 section 4.3.1.
"""
Sending Hello Messages
The Address List option advertises all the secondary addresses
associated with the source interface of the router originating the
message.  The option MUST be included in all Hello messages if there
are secondary addresses associated with the source interface and MAY
be omitted if no secondary addresses exist.
"""

Issue: #12015

Signed-off-by: Sarita Patra <saritap@vmware.com>
20 months agobgpd: BGP does not update next-hop when global V6 address is configured
Pdoijode [Thu, 29 Sep 2022 22:28:38 +0000 (15:28 -0700)]
bgpd: BGP does not update next-hop when global V6 address is configured

When primary global v6 unicast address is configured on an
unnumbered interface, BGP does not re-advertise updates out
with the new global v6 address as the nexthop

Signed-off-by: Pdoijode <pdoijode@nvidia.com>
20 months agotests: Check if BGP works correctly when using local-as == remote-as
Donatas Abraitis [Thu, 29 Sep 2022 18:12:24 +0000 (21:12 +0300)]
tests: Check if BGP works correctly when using local-as == remote-as

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agobgpd: Allow using remote-as the same as local-as
Donatas Abraitis [Thu, 29 Sep 2022 16:09:13 +0000 (19:09 +0300)]
bgpd: Allow using remote-as the same as local-as

As an example, Arista EOS allows this behavior.

Configuration something like:

```
 neighbor PG peer-group
 neighbor PG remote-as 65001
 neighbor PG local-as 65001
 neighbor 192.168.10.124 peer-group PG
```

Or without peer-group.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agoMerge pull request #12035 from donaldsharp/pim6_write_non_integrated
Donatas Abraitis [Thu, 29 Sep 2022 11:47:10 +0000 (14:47 +0300)]
Merge pull request #12035 from donaldsharp/pim6_write_non_integrated

pimd: Allow v6 to do non-integrated configuration

20 months agopimd: Remove some unused defines in pimd.h
Donald Sharp [Tue, 27 Sep 2022 16:30:26 +0000 (12:30 -0400)]
pimd: Remove some unused defines in pimd.h

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agopimd: Assign a vty port value for v6
Donald Sharp [Tue, 27 Sep 2022 16:29:36 +0000 (12:29 -0400)]
pimd: Assign a vty port value for v6

Let's use 2620

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agoMerge pull request #12036 from opensourcerouting/fix/show_single_allow-reserved-ranges
Donald Sharp [Wed, 28 Sep 2022 12:24:52 +0000 (08:24 -0400)]
Merge pull request #12036 from opensourcerouting/fix/show_single_allow-reserved-ranges

vtysh: Show allow-reserved-ranges once in config

20 months agoMerge pull request #12028 from mobash-rasool/igmp-querier
Donald Sharp [Tue, 27 Sep 2022 19:45:27 +0000 (15:45 -0400)]
Merge pull request #12028 from mobash-rasool/igmp-querier

pimd: IGMP Querier election is not correct in LAN scenario

20 months agovtysh: Show allow-reserved-ranges once in config
Donatas Abraitis [Tue, 27 Sep 2022 18:39:50 +0000 (21:39 +0300)]
vtysh: Show allow-reserved-ranges once in config

Before:

```
donatas-pc# sh run | include allow-reserved-ranges
allow-reserved-ranges
allow-reserved-ranges
allow-reserved-ranges
allow-reserved-ranges
allow-reserved-ranges
allow-reserved-ranges
donatas-pc#
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agoMerge pull request #11990 from spk-hebbar/patch-1
Donald Sharp [Tue, 27 Sep 2022 16:40:37 +0000 (12:40 -0400)]
Merge pull request #11990 from spk-hebbar/patch-1

Update setup.rst

20 months agopimd: Allow v6 to do non-integrated configuration
Donald Sharp [Tue, 27 Sep 2022 16:24:16 +0000 (12:24 -0400)]
pimd: Allow v6 to do non-integrated configuration

Proof:
eva# conf
eva(config)# no service integrated-vtysh-config
eva(config)# end
eva# wr mem
Note: this version of vtysh never writes vtysh.conf
Building Configuration...
Configuration saved to /etc/frr/zebra.conf
Configuration saved to /etc/frr/ripd.conf
Configuration saved to /etc/frr/ripngd.conf
Configuration saved to /etc/frr/ospfd.conf
Configuration saved to /etc/frr/ospf6d.conf
Configuration saved to /etc/frr/bgpd.conf
Configuration saved to /etc/frr/isisd.conf
Configuration saved to /etc/frr/pimd.conf
Configuration saved to /etc/frr/nhrpd.conf
Configuration saved to /etc/frr/eigrpd.conf
Configuration saved to /etc/frr/babeld.conf
Configuration saved to /etc/frr/sharpd.conf
Configuration saved to /etc/frr/fabricd.conf
Configuration saved to /etc/frr/pbrd.conf
Configuration saved to /etc/frr/staticd.conf
Configuration saved to /etc/frr/bfdd.conf
Configuration saved to /etc/frr/vrrpd.conf
Configuration saved to /etc/frr/pim6d.conf
eva#

Fixes: #12011
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agoMerge pull request #12018 from pguibert6WIND/pathd_warning_noted
Donald Sharp [Tue, 27 Sep 2022 15:39:46 +0000 (11:39 -0400)]
Merge pull request #12018 from pguibert6WIND/pathd_warning_noted

pathd: change the vty output, when no ted is enabled on pathd

20 months agoMerge pull request #12029 from donaldsharp/cputime_stats
Donatas Abraitis [Tue, 27 Sep 2022 15:39:06 +0000 (18:39 +0300)]
Merge pull request #12029 from donaldsharp/cputime_stats

Cputime stats

20 months agoMerge pull request #11985 from opensourcerouting/fix/thread_off_llgr
Russ White [Tue, 27 Sep 2022 15:29:54 +0000 (11:29 -0400)]
Merge pull request #11985 from opensourcerouting/fix/thread_off_llgr

bgpd: Stop LLGR thread when deleting a peer and/or GR flags changed

20 months agoMerge pull request #12006 from opensourcerouting/fix/doc_for_rfc9072
Russ White [Tue, 27 Sep 2022 15:28:06 +0000 (11:28 -0400)]
Merge pull request #12006 from opensourcerouting/fix/doc_for_rfc9072

doc: Add `neighbor PEER extended-optional-parameters` command

20 months agoMerge pull request #12010 from opensourcerouting/fix/logging_for_route_refresh
Russ White [Tue, 27 Sep 2022 15:27:12 +0000 (11:27 -0400)]
Merge pull request #12010 from opensourcerouting/fix/logging_for_route_refresh

bgpd: Print hostname for peer as well when marking as stale for route-refresh

20 months agoMerge pull request #12016 from opensourcerouting/fix/route_map_show_json
Russ White [Tue, 27 Sep 2022 15:26:28 +0000 (11:26 -0400)]
Merge pull request #12016 from opensourcerouting/fix/route_map_show_json

lib: Fix `show route-map NAME json` command and memory leak

20 months agodoc: Update setup.rst
Spoorthi K [Tue, 27 Sep 2022 14:21:42 +0000 (19:51 +0530)]
doc: Update setup.rst

Signed-off-by: Spoorthi K <spk@redhat.com>
20 months agovtysh: Properly handle `service cputime-warning XX` in config
Donald Sharp [Tue, 27 Sep 2022 13:05:30 +0000 (09:05 -0400)]
vtysh: Properly handle `service cputime-warning XX` in config

Prevent duplicate lines from each daemon in vtysh output.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agovtysh: Properly handle `[no] service cputime-stats` in config
Donald Sharp [Tue, 27 Sep 2022 13:02:26 +0000 (09:02 -0400)]
vtysh: Properly handle `[no] service cputime-stats` in config

Prevent duplicate lines from each daemon in vtysh output.

Fixes: #12022
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agopimd: IGMP Querier election is not correct in LAN scenario
Mobashshera Rasool [Tue, 27 Sep 2022 11:49:34 +0000 (04:49 -0700)]
pimd: IGMP Querier election is not correct in LAN scenario

When more than 2 routers are present in LAN and the querier
goes down, the other routers will wait for other querier
present timer to expire to elect a new querier.
This issue will be seen when the router having next lower ip
address expires the other querier present timer first and it
starts sending the query message. Now on the other non-querier
routers it will receive this query and reset its other
querier present timer but the querier is still the old one
and since it is lowest ip, it never gets updated to the newly
elected querier.

Reset the other querier timer only if query is received from
the previously elected querier or a better new querier
This will make sure that non-querier elects the new querier
whose ip address is higher than the old querier
when the old querier goes down via other querier querier
timer expiry

Issue: #12027

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
20 months agoMerge pull request #11989 from maduri111/bgpd-cond-adv-peer-unset
Donatas Abraitis [Tue, 27 Sep 2022 12:03:58 +0000 (15:03 +0300)]
Merge pull request #11989 from maduri111/bgpd-cond-adv-peer-unset

bgpd: conditional advertise-map unset on peer not re-advertising with…

20 months agoMerge pull request #11910 from fdumontet6WIND/NAI_Adj
Olivier Dugeon [Tue, 27 Sep 2022 09:24:53 +0000 (11:24 +0200)]
Merge pull request #11910 from fdumontet6WIND/NAI_Adj

 pathd: nai adjacency fix query type f for IPV6

20 months agoMerge pull request #12009 from AbhishekNR/json_last-member-query-count
Donatas Abraitis [Tue, 27 Sep 2022 06:42:11 +0000 (09:42 +0300)]
Merge pull request #12009 from AbhishekNR/json_last-member-query-count

pim6d: Adding last member query count field in "show ipv6 mld interface [ifname] json" command.

20 months agotools: Configure systemd to always restart FRR, regardless of exit code
Brian Rak [Mon, 26 Sep 2022 15:18:26 +0000 (11:18 -0400)]
tools: Configure systemd to always restart FRR, regardless of exit code

The current service file configures restarts on-abnormal, which translates to "unclean signal", "timeout", or "watchdog". This patch updates it to always restart, as there's never really a time watchfrr should exit by itself at all.

Signed-off-by: Brian Rak <brak@vultr.com>
20 months agopathd: change the vty output, when no ted is enabled on pathd
Philippe Guibert [Mon, 26 Sep 2022 15:12:02 +0000 (17:12 +0200)]
pathd: change the vty output, when no ted is enabled on pathd

Change the vty output, in case ted is not enabled.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
20 months agoMerge pull request #12002 from opensourcerouting/fix/add_doc_missing_bgp_implemented_rf
Donald Sharp [Mon, 26 Sep 2022 13:07:22 +0000 (09:07 -0400)]
Merge pull request #12002 from opensourcerouting/fix/add_doc_missing_bgp_implemented_rf

doc: Update supported BGP RFC list

20 months agoMerge pull request #12000 from opensourcerouting/fix/remove_deprecated_ospf_command
Donald Sharp [Mon, 26 Sep 2022 12:44:40 +0000 (08:44 -0400)]
Merge pull request #12000 from opensourcerouting/fix/remove_deprecated_ospf_command

ospfd: Remove deprecated command `graceful-restart helper-only`

20 months agoMerge pull request #12003 from anlancs/fix/fpm-crash
Donald Sharp [Mon, 26 Sep 2022 12:43:40 +0000 (08:43 -0400)]
Merge pull request #12003 from anlancs/fix/fpm-crash

zebra: fix fpm crash

20 months agodoc: Updated the document for mld debug commands
Sai Gomathi N [Mon, 26 Sep 2022 09:51:29 +0000 (02:51 -0700)]
doc: Updated the document for mld debug commands

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
20 months agolib: Fix `show route-map NAME json` command and memory leak
Donatas Abraitis [Mon, 26 Sep 2022 11:49:54 +0000 (14:49 +0300)]
lib: Fix `show route-map NAME json` command and memory leak

JSON object was generated, but not printed, because the function returned
immediatelly, even without freeing the memory.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agobgpd: Print hostname for peer as well when marking as stale for route-refresh
Donatas Abraitis [Mon, 26 Sep 2022 08:07:01 +0000 (11:07 +0300)]
bgpd: Print hostname for peer as well when marking as stale for route-refresh

Before:

```
2022/09/26 10:13:35.261 BGP: [QCZ1W-VKS36] 192.168.0.1(r0) sending REFRESH_REQ for afi/safi: IPv4/unicast
2022/09/26 10:13:35.262 BGP: [VF3QY-FP1PP] 192.168.0.1: route-refresh for IPv4/unicast, marking prefix 172.16.1.1/32 as stale
2022/09/26 10:13:35.262 BGP: [VF3QY-FP1PP] 192.168.0.1: route-refresh for IPv4/unicast, marking prefix 192.168.0.0/24 as stale
2022/09/26 10:13:35.262 BGP: [SDZS7-XVC4W] 192.168.0.1(r0) rcvd route-refresh (BoRR) for IPv4/unicast, triggering timer for 360 seconds
2022/09/26 10:13:35.362 BGP: [Y6XKR-PF89P] 192.168.0.1(r0) rcvd route-refresh (EoRR) for IPv4/unicast, stopping BoRR timer
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agopim6d: Adding last member query count field in "show ipv6 mld interface [ifname]...
Abhishek N R [Mon, 26 Sep 2022 06:58:51 +0000 (23:58 -0700)]
pim6d: Adding last member query count field in "show ipv6 mld interface [ifname] json" command.

Fixes: #12004
Signed-off-by: Abhishek N R <abnr@vmware.com>
20 months agopimd,pim6d: Change the show running commands based on address family
Sai Gomathi N [Mon, 26 Sep 2022 07:09:45 +0000 (00:09 -0700)]
pimd,pim6d: Change the show running commands based on address family

Change the show running commands for igmp and mld debug commands
based on the address family.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
20 months agopim6d: Add 'debug mld trace detail'
Sai Gomathi N [Mon, 26 Sep 2022 06:46:37 +0000 (23:46 -0700)]
pim6d: Add 'debug mld trace detail'

Implementing debug mld trace detail for MLD activity.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
20 months agopim6d: Add 'debug mld trace'
Sai Gomathi N [Mon, 26 Sep 2022 06:33:59 +0000 (23:33 -0700)]
pim6d: Add 'debug mld trace'

Implementing mld trace for MLD protocol activity.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
20 months agopim6d: Add 'debug mld packets'
Sai Gomathi N [Mon, 26 Sep 2022 06:22:31 +0000 (23:22 -0700)]
pim6d: Add 'debug mld packets'

Implementing mld packets debug to information about packet generation for sending
and about packet handling from a received packet.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
20 months agopim6d: Add 'debug mld events'
Sai Gomathi N [Mon, 26 Sep 2022 06:07:42 +0000 (23:07 -0700)]
pim6d: Add 'debug mld events'

Implementing debug mld events command for debugging MLD system events.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
20 months agopim6d: Add 'debug mld'
Sai Gomathi N [Mon, 26 Sep 2022 05:29:37 +0000 (22:29 -0700)]
pim6d: Add 'debug mld'

Implementing debug mld command for MLD protocol activity.

Signed-off-by: Sai Gomathi N <nsaigomathi@vmware.com>
20 months agodoc: Add `neighbor PEER extended-optional-parameters` command
Donatas Abraitis [Sun, 25 Sep 2022 18:02:06 +0000 (21:02 +0300)]
doc: Add `neighbor PEER extended-optional-parameters` command

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agodoc: Update supported BGP RFC list
Donatas Abraitis [Fri, 23 Sep 2022 19:37:41 +0000 (22:37 +0300)]
doc: Update supported BGP RFC list

Added such RFCs (missing):

https://datatracker.ietf.org/doc/html/rfc2385
https://datatracker.ietf.org/doc/html/rfc2918
https://datatracker.ietf.org/doc/html/rfc4360
https://datatracker.ietf.org/doc/html/rfc4456
https://datatracker.ietf.org/doc/html/rfc4724
https://datatracker.ietf.org/doc/html/rfc4760
https://datatracker.ietf.org/doc/html/rfc5065
https://datatracker.ietf.org/doc/html/rfc5291
https://datatracker.ietf.org/doc/html/rfc5292
https://datatracker.ietf.org/doc/html/rfc6472
https://datatracker.ietf.org/doc/html/rfc5492
https://datatracker.ietf.org/doc/html/rfc7911
https://datatracker.ietf.org/doc/html/rfc6996
https://datatracker.ietf.org/doc/html/rfc6938
https://datatracker.ietf.org/doc/html/rfc8093
https://datatracker.ietf.org/doc/html/rfc7947
https://datatracker.ietf.org/doc/html/rfc9012
https://datatracker.ietf.org/doc/html/rfc8669
https://datatracker.ietf.org/doc/html/rfc8050

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agoMerge pull request #12001 from donaldsharp/use_integrated
Donatas Abraitis [Sun, 25 Sep 2022 08:44:42 +0000 (11:44 +0300)]
Merge pull request #12001 from donaldsharp/use_integrated

doc: Align docs to recommend integrated config

20 months agobgpd: conditional advertise-map unset on peer fixing warning messages
Madhuri Kuruganti [Sun, 25 Sep 2022 06:07:00 +0000 (11:37 +0530)]
bgpd: conditional advertise-map unset on peer fixing warning messages

Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
20 months agobgpd: conditional advertise-map unset on peer not re-advertising withdrawn routes
Madhuri Kuruganti [Wed, 21 Sep 2022 16:14:13 +0000 (21:44 +0530)]
bgpd: conditional advertise-map unset on peer not re-advertising withdrawn routes

Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
20 months agozebra: fix fpm crash
anlan_cs [Sat, 24 Sep 2022 23:00:14 +0000 (19:00 -0400)]
zebra: fix fpm crash

Fix issue#11996.

When removing VRF ( all routes of this VRF), zebra mistakenly forgot to check
whether its routes are in update queue of FPM.  So FPM module will crash during
its dealing with these routes, which are already freed.

Add a new HOOK `rib_shutdown()`, `zebra_rtable_node_cleanup()` will use it
to remove these routes from update queue of FPM module before freeing them.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
20 months agodoc: Align docs to recommend integrated config
Donald Sharp [Fri, 23 Sep 2022 19:16:40 +0000 (15:16 -0400)]
doc: Align docs to recommend integrated config

Docs were recommending both integrated and non-integrated
config in different sections.  Remove the recommendation
for non-integrated config from vtysh.rst.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agoospfd: Remove deprecated command `graceful-restart helper-only`
Donatas Abraitis [Fri, 23 Sep 2022 19:10:05 +0000 (22:10 +0300)]
ospfd: Remove deprecated command `graceful-restart helper-only`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agoMerge pull request #11982 from samanvithab/bgp_mem_fix
Donatas Abraitis [Fri, 23 Sep 2022 14:54:33 +0000 (17:54 +0300)]
Merge pull request #11982 from samanvithab/bgp_mem_fix

bgpd: multiple memory leak issue fixes

20 months agobgpd: Cleanup memory leaks associated with t_deferral_timer
Samanvitha B Bhargav [Wed, 21 Sep 2022 10:18:06 +0000 (03:18 -0700)]
bgpd: Cleanup memory leaks associated with t_deferral_timer

We are allocating temporary memory for information about
what to process in this thread, which is not being cleaned
up on thread cancelling.

Signed-off-by: Samanvitha B Bhargav <bsmanvitha@vmware.com>
20 months agoMerge pull request #11997 from sri-mohan1/sri-zebra-dbg1
Donatas Abraitis [Fri, 23 Sep 2022 07:04:25 +0000 (10:04 +0300)]
Merge pull request #11997 from sri-mohan1/sri-zebra-dbg1

zebra: changes for code maintainability

20 months agozebra: changes for code maintainability
sri-mohan1 [Thu, 22 Sep 2022 18:34:40 +0000 (00:04 +0530)]
zebra: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
21 months agoMerge pull request #11993 from opensourcerouting/feature/printfrr_pRD
Donald Sharp [Thu, 22 Sep 2022 13:30:51 +0000 (09:30 -0400)]
Merge pull request #11993 from opensourcerouting/feature/printfrr_pRD

bgpd: Use %pRD for prefix_rd2str()

21 months agoMerge pull request #11979 from opensourcerouting/fix/stop_conditional_adv_thread
Donald Sharp [Thu, 22 Sep 2022 13:30:01 +0000 (09:30 -0400)]
Merge pull request #11979 from opensourcerouting/fix/stop_conditional_adv_thread

bgpd: Stop conditional advertisements thread when terminating

21 months agobgpd: Use %pRD for prefix_rd2str()
Donatas Abraitis [Thu, 22 Sep 2022 08:17:49 +0000 (11:17 +0300)]
bgpd: Use %pRD for prefix_rd2str()

Convert a bunch of prefix_rd2str() for json/vty stuff.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agobgpd: Stop conditional advertisements thread when terminating
Donatas Abraitis [Tue, 20 Sep 2022 20:47:55 +0000 (23:47 +0300)]
bgpd: Stop conditional advertisements thread when terminating

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agoMerge pull request #11986 from opensourcerouting/fix/drop_outdated_files
Donald Sharp [Wed, 21 Sep 2022 16:56:25 +0000 (12:56 -0400)]
Merge pull request #11986 from opensourcerouting/fix/drop_outdated_files

bgpd: Drop out-of-date files

21 months agobgpd: Drop out-of-date files
Donatas Abraitis [Wed, 21 Sep 2022 14:21:31 +0000 (17:21 +0300)]
bgpd: Drop out-of-date files

Just not maintained for > 18 years.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agoMerge pull request #11977 from opensourcerouting/fix/docker_alpine_apk
Donald Sharp [Wed, 21 Sep 2022 14:15:49 +0000 (10:15 -0400)]
Merge pull request #11977 from opensourcerouting/fix/docker_alpine_apk

docker: Keep and copy .apk files after they are built

21 months agobgpd: Stop LLGR thread when deleting a peer and/or GR flags changed
Donatas Abraitis [Wed, 21 Sep 2022 14:13:28 +0000 (17:13 +0300)]
bgpd: Stop LLGR thread when deleting a peer and/or GR flags changed

Also valid when shutting down a BGP instance.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agobgpd: memory leak issue fix
Samanvitha B Bhargav [Wed, 21 Sep 2022 08:57:09 +0000 (01:57 -0700)]
bgpd: memory leak issue fix

Memory allocated when 'import vrf route maps <>' is configured,
wasn't being freed when the entire bgp config
was deleted through 'no router bgp'.

Signed-off-by: Samanvitha B Bhargav <bsmanvitha@vmware.com>
21 months agobgpd: memory leak issue fix
Samanvitha B Bhargav [Wed, 21 Sep 2022 08:45:41 +0000 (01:45 -0700)]
bgpd: memory leak issue fix

In ecommunity_del_val(), ecommunity was not being freed
when the last value in the ecommunity was being deleted.

Signed-off-by: Samanvitha B Bhargav <bsmanvitha@vmware.com>
21 months agobgpd: memory leak issue fix
Samanvitha B Bhargav [Wed, 21 Sep 2022 07:54:14 +0000 (00:54 -0700)]
bgpd: memory leak issue fix

When router id is changed through config, new RD is auto generated.
However new export RT was being assigned without freeing
the older RT from VRF.

Signed-off-by: Samanvitha B Bhargav <bsmanvitha@vmware.com>
21 months agoMerge pull request #11802 from AbhishekNR/ttable_pim_state
Donatas Abraitis [Wed, 21 Sep 2022 08:00:40 +0000 (11:00 +0300)]
Merge pull request #11802 from AbhishekNR/ttable_pim_state

pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim state" command output.

21 months agoMerge pull request #11918 from patrasar/show_ipv6_mld_interface_fix
Donatas Abraitis [Wed, 21 Sep 2022 07:19:33 +0000 (10:19 +0300)]
Merge pull request #11918 from patrasar/show_ipv6_mld_interface_fix

pim6d: "show ipv6 mld interface" command

21 months agoMerge pull request #11968 from donaldsharp/isis_plist_mem_leak
mobash-rasool [Wed, 21 Sep 2022 02:52:33 +0000 (08:22 +0530)]
Merge pull request #11968 from donaldsharp/isis_plist_mem_leak

isisd: Fix memory leak on shutdown with prefix lists

21 months agodocker: Keep and copy .apk files after they are built
Donatas Abraitis [Tue, 20 Sep 2022 20:23:55 +0000 (23:23 +0300)]
docker: Keep and copy .apk files after they are built

For debugging purposes and/or to distribute them somewhere else.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agoMerge pull request #11972 from pguibert6WIND/mpls_te_on
Donald Sharp [Tue, 20 Sep 2022 16:16:56 +0000 (12:16 -0400)]
Merge pull request #11972 from pguibert6WIND/mpls_te_on

pathd: 'no mpls-te on' command was not working

21 months agoMerge pull request #11952 from anlancs/fix/cleanup-20
Russ White [Tue, 20 Sep 2022 15:17:32 +0000 (11:17 -0400)]
Merge pull request #11952 from anlancs/fix/cleanup-20

include: clean up some white spaces

21 months agoMerge pull request #11956 from opensourcerouting/fix/bgpd_unlocks
Russ White [Tue, 20 Sep 2022 15:17:03 +0000 (11:17 -0400)]
Merge pull request #11956 from opensourcerouting/fix/bgpd_unlocks

bgpd: Don't forget bgp_dest_unlock_node before return

21 months agoisisd: Fix memory leak on shutdown with prefix lists
Donald Sharp [Mon, 19 Sep 2022 16:34:18 +0000 (12:34 -0400)]
isisd: Fix memory leak on shutdown with prefix lists

==2623619==
==2623619== 6 bytes in 1 blocks are definitely lost in loss record 3 of 75
==2623619==    at 0x483877F: malloc (vg_replace_malloc.c:307)
==2623619==    by 0x4B55E4A: strdup (strdup.c:42)
==2623619==    by 0x493C992: qstrdup (memory.c:128)
==2623619==    by 0x1A9212: isis_instance_fast_reroute_level_1_remote_lfa_prefix_list_modify (isis_nb_config.c:1599)
==2623619==    by 0x494837C: nb_callback_modify (northbound.c:1083)
==2623619==    by 0x4948C6E: nb_callback_configuration (northbound.c:1352)
==2623619==    by 0x494919D: nb_transaction_process (northbound.c:1473)
==2623619==    by 0x4947DA9: nb_candidate_commit_apply (northbound.c:906)
==2623619==    by 0x4947EBA: nb_candidate_commit (northbound.c:938)
==2623619==    by 0x494EB9E: nb_cli_classic_commit (northbound_cli.c:64)
==2623619==    by 0x494F3DC: nb_cli_apply_changes_internal (northbound_cli.c:250)
==2623619==    by 0x494F4E2: nb_cli_apply_changes (northbound_cli.c:268)
==2623619==    by 0x1BEF0F: isis_frr_remote_lfa_plist_magic (isis_cli.c:1899)
==2623619==    by 0x1B7636: isis_frr_remote_lfa_plist (isis_cli_clippy.c:3406)
==2623619==    by 0x48EBA75: cmd_execute_command_real (command.c:997)
==2623619==    by 0x48EBD4E: cmd_execute_command_strict (command.c:1108)
==2623619==    by 0x48EC1E6: command_config_read_one_line (command.c:1268)
==2623619==    by 0x48EC35B: config_from_file (command.c:1313)
==2623619==    by 0x4999CC1: vty_read_file (vty.c:2347)
==2623619==    by 0x499A4AF: vty_read_config (vty.c:2567)
==2623619==    by 0x4924B12: frr_config_read_in (libfrr.c:984)
==2623619==    by 0x498F5E3: thread_call (thread.c:2008)
==2623619==    by 0x49253DA: frr_run (libfrr.c:1198)
==2623619==    by 0x14FC53: main (isis_main.c:273)

Fix this memory leak

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agoMerge pull request #11954 from opensourcerouting/fix/ecommunity_memory_leak
Donald Sharp [Tue, 20 Sep 2022 12:18:47 +0000 (08:18 -0400)]
Merge pull request #11954 from opensourcerouting/fix/ecommunity_memory_leak

bgpd: Free ecommunity before returning on warning/error

21 months agopathd: 'no mpls-te on' command was not working
Philippe Guibert [Thu, 15 Sep 2022 15:18:42 +0000 (17:18 +0200)]
pathd: 'no mpls-te on' command was not working

Fix the 'no mpls-te on' command.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>