Page MenuHomeVyOS Platform

BGP Confederation Addition Causes Error
Closed, ResolvedPublicBUG

Description

It looks like making changes to the BGP confederation peers with my configuration breaks on commit. It appears BGP continues to work, but that a restart frr is required for the changes to take effect:

trae@cr01a-vyos# set protocols bgp 4242420666 parameters confederation peers 4242420665
[edit]
trae@cr01a-vyos# comp
[edit protocols bgp 4242420666 parameters confederation]
+peers 4242420665
[edit]
trae@cr01a-vyos# commit
[ protocols bgp 4242420666 parameters confederation peers 4242420665 ]
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1639.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1643.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1639.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1643.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1639.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1643.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1639.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1643.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1643.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1639.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1643.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1639.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1643.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1639.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1643.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1639.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1643.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1643.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.

Using source address fd52:d62e:8011:fffe:192:168:253:2
Archiving config...
  sftp://stor01z-rh8.int.trae32566.org:/int/cr01a-vyos  OK
[edit]

My BGP configuration can be found here:
https://phabricator.vyos.net/source/vyos-1x/browse/master/smoketest/configs/bgp-bfd-communities;dd291b2312f0fca49ae8ad6876e280bc46f45d2e

If you need a sanitized version of the configuration commands I can probably grab that too. Not sure if this affects 1.4.

Details

Version
1.3-rc3
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

Viacheslav edited a custom field.

I added a new neighbor belonging to the sub-AS 65031 to the existing bgp configuration:

vyos@vyos# set proto bgp 64512 neighbor 192.168.10.1 remote-as 65031
[edit]
vyos@vyos# set proto bgp 64512 neighbor 192.168.10.1 update-source 192.168.0.1
[edit]
vyos@vyos# set proto bgp 64512 parameters confederation peers 65031
[edit]
vyos@vyos# compare
[edit protocols bgp 64512]
+neighbor 192.168.10.1 {
+    remote-as 65031
+    update-source 192.168.0.1
+}
[edit protocols bgp 64512 parameters confederation]
+peers 65031
[edit]
vyos@vyos# commit
[ protocols bgp 64512 parameters confederation peers 65031 ]
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1651.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1651.

Conclusion: Without restarting the bgpd service, the connection has established and it shows as an external confed link.

vyos@vyos# run sh ip bgp neighbors 192.168.10.1
BGP neighbor is 192.168.10.1, remote AS 65031, local AS 64512, confed-external link
Hostname: debian
  BGP version 4, remote router ID 192.168.10.1, local router ID 11.11.11.11
  Neighbor under common administration
  BGP state = Established, up for 00:01:06
  Last read 00:00:06, Last write 00:00:06
  Hold time is 180, keepalive interval is 60 seconds
  Neighbor capabilities:
    4 Byte AS: advertised and received
    AddPath:
      IPv4 Unicast: RX advertised IPv4 Unicast and received
    Route refresh: advertised and received(old & new)
    Address Family IPv4 Unicast: advertised and received
    Hostname Capability: advertised (name: debian,domain name: n/a) received (name: debian,domain name: n/a)
    Graceful Restart Capability: advertised and received
      Remote Restart timer is 120 seconds
      Address families by peer:
        none
  Graceful restart information:
    End-of-RIB send: IPv4 Unicast
    End-of-RIB received: IPv4 Unicast
    Local GR Mode: Helper*
    Remote GR Mode: Helper
    R bit: True
    Timers:
      Configured Restart Time(sec): 120
      Received Restart Time(sec): 120
    IPv4 Unicast:
      F bit: False
      End-of-RIB sent: Yes
      End-of-RIB sent after update: Yes
      End-of-RIB received: Yes
      Timers:
        Configured Stale Path Time(sec): 360
  Message statistics:
    Inq depth is 0
    Outq depth is 0
                         Sent       Rcvd
    Opens:                  1          1
    Notifications:          0          0
    Updates:                3          2
    Keepalives:             2          2
    Route Refresh:          0          0
    Capability:             0          0
    Total:                  6          5
  Minimum time between advertisement runs is 0 seconds
  Update source is 192.168.0.1

 For address family: IPv4 Unicast
  Update group 4, subgroup 4
  Packet Queue length 0
  Community attribute sent to this neighbor(all)
  0 accepted prefixes

  Connections established 1; dropped 0
  Last reset 00:01:07,  Waiting for peer OPEN
Local host: 192.168.0.1, Local port: 33339
Foreign host: 192.168.10.1, Foreign port: 179
Nexthop: 192.168.0.1
Nexthop global: fe80::200:ff:fe00:0
Nexthop local: fe80::200:ff:fe00:0
BGP connection: non shared network
BGP Connect Retry Timer in Seconds: 120
Read thread: on  Write thread: on  FD used: 31

Vyos Version;

vyos@vyos# run sh ver

Version:          VyOS 1.3.0-rc5
Release Train:    equuleus

Built by:         Sentrium S.L.
Built on:         Tue 29 Jun 2021 08:26 UTC
Build UUID:       36f7c218-6ebb-497f-9ec5-676241e5c13a
Build Commit ID:  892e8689b3234e

Architecture:     x86_64
Boot via:         installed image
System type:      KVM guest

Hardware vendor:  QEMU
Hardware model:   Standard PC (Q35 + ICH9, 2009)
Hardware S/N:
Hardware UUID:    4bfc01cc-4cb2-46a1-82af-facae2e73f03

Copyright:        VyOS maintainers and contributors
[edit]
vyos@vyos# date
Wed 11 Aug 2021 01:53:07 PM UTC

Not sure why the following line is generated:

Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1647.
dmbaturin set Issue type to Unspecified (please specify).
dmbaturin added a subscriber: SrividyaA.

I do not see this issue in 1.3.6

vyos@vyos# set proto bgp 64512 neighbor 192.168.10.1 remote-as 65031
[edit]
vyos@vyos# set proto bgp 64512 neighbor 192.168.10.1 update-source 192.168.0.1
[edit]
vyos@vyos# set proto bgp 64512 parameters confederation peers 65031
[edit]
vyos@vyos# com
comment         commit          commit-confirm  compare
[edit]
vyos@vyos# compare
[edit protocols]
+bgp 64512 {
+    neighbor 192.168.10.1 {
+        remote-as 65031
+        update-source 192.168.0.1
+    }
+    parameters {
+        confederation {
+            peers 65031
+        }
+    }
+}
[edit]
vyos@vyos# commit
[edit]
vyos@vyos# exit
vyos@vyos:~$ show ip bgp neighbors 192.168.10.1
BGP neighbor is 192.168.10.1, remote AS 65031, local AS 64512, confed-external link
  BGP version 4, remote router ID 0.0.0.0, local router ID 192.168.139.157
  BGP state = Active
  Last read 00:01:52, Last write never
  Hold time is 180, keepalive interval is 60 seconds
  Graceful restart information:
    Local GR Mode: Helper*
    Remote GR Mode: NotApplicable
    R bit: False
    Timers:
      Configured Restart Time(sec): 120
      Received Restart Time(sec): 0
  Message statistics:
    Inq depth is 0
    Outq depth is 0
                         Sent       Rcvd
    Opens:                  0          0
    Notifications:          0          0
    Updates:                0          0
    Keepalives:             0          0
    Route Refresh:          0          0
    Capability:             0          0
    Total:                  0          0
  Minimum time between advertisement runs is 0 seconds
  Update source is 192.168.0.1

 For address family: IPv4 Unicast
  Not part of any update group
  Community attribute sent to this neighbor(all)
  0 accepted prefixes

  Connections established 0; dropped 0
  Last reset 00:01:52,  Waiting for NHT
BGP Connect Retry Timer in Seconds: 120
Next connect timer due in 8 seconds
Read thread: off  Write thread: off  FD used: -1
vyos@vyos:~$ vtysh

Hello, this is FRRouting (version 7.5.1-20231128-03-g06f8c4ce0).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

vyos# show run
Building configuration...

Current configuration:
!
frr version 7.5.1-20231128-03-g06f8c4ce0
frr defaults traditional
hostname debian
log syslog
log facility local7
hostname vyos
service integrated-vtysh-config
!
ip route 0.0.0.0/0 192.168.139.2 eth0 tag 210 210
!
router bgp 64512
 no bgp ebgp-requires-policy
 bgp confederation peers 65031
 no bgp network import-check
 neighbor 192.168.10.1 remote-as 65031
 neighbor 192.168.10.1 update-source 192.168.0.1
!
line vty
!
end
vyos#
Viacheslav subscribed.

@a.apostoliuk Recheck reconfguration, not new configuration

Rechecked - The issue exists.

vyos@vyos# commit
[ protocols bgp 4242420666 parameters confederation peers 4242420665 ]
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1709.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1713.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1717.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1709.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1713.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1717.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1709.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1713.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1717.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1709.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1713.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1717.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1713.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1717.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1709.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1713.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1717.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1709.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1713.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1717.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1709.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1713.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1717.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1709.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1713.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1717.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1713.
Use of uninitialized value $remoteas in string at /opt/vyatta/sbin/vyatta-bgp.pl line 1717.

But configuration is applied in frr

router bgp 4242420666
 no bgp ebgp-requires-policy
 no bgp default ipv4-unicast
 bgp confederation identifier 4242420696
 bgp confederation peers 4242420668 4242420669 4242420665
Viacheslav changed the task status from Needs testing to Confirmed.Apr 8 2024, 11:36 AM
a.apostoliuk changed the task status from Confirmed to Needs testing.Apr 11 2024, 3:59 PM
dmbaturin changed Issue type from Unspecified (please specify) to Bug (incorrect behavior).May 10 2024, 8:08 PM