Page MenuHomeVyOS Platform

Cannot change BGP peer-group local-role
Resolved (N/A)PublicBUG

Description

I am trying to change the local-role in a peer-group but I get the following errors:

vmakris@igoum-gw-01:~$ show configuration commands | grep peer-group
set protocols bgp neighbor 10.88.88.255 peer-group 'FAST'
set protocols bgp peer-group FAST capability dynamic
set protocols bgp peer-group FAST graceful-restart 'enable'
set protocols bgp peer-group FAST local-role rs-client
set protocols bgp peer-group FAST password 'F@st123!'
set protocols bgp peer-group FAST remote-as '211186'
set protocols bgp peer-group FAST update-source '10.88.88.2'
vmakris@igoum-gw-01:~$ configure 
[edit]
vmakris@igoum-gw-01# set protocols bgp peer-group FAST local-role rs-server
[edit]
vmakris@igoum-gw-01# compare 
[protocols bgp peer-group FAST local-role]
+ rs-server

[edit]
vmakris@igoum-gw-01# commit

Only one local role can be specified for peer "FAST"!

[[protocols bgp]] failed
Commit failed
[edit]
vmakris@igoum-gw-01# delete protocols bgp peer-group FAST local-role rs-client
[edit]
vmakris@igoum-gw-01# commit

Failed to execute router bgp 211186  no neighbor 10.88.88.255 local-role
rs-client exit "router bgp 211186 --  no neighbor 10.88.88.255 local-
role rs-client -- exit" we failed to remove this command % External
roles can be set only on eBGP session  [17314|mgmtd] sending
configuration [17315|zebra] sending configuration [17316|ripd] sending
configuration [17318|ospfd] sending configuration [17317|ripngd] sending
configuration [17321|bgpd] sending configuration [17320|ldpd] sending
configuration [17319|ospf6d] sending configuration [17322|isisd] sending
configuration [17326|babeld] sending configuration Waiting for children
to finish applying config... [17331|staticd] sending configuration
[17335|pim6d] sending configuration [17329|watchfrr] sending
configuration [17332|bfdd] sending configuration [17314|mgmtd] done
[17320|ldpd] done [17316|ripd] done [17322|isisd] done [17317|ripngd]
done [17315|zebra] done [17321|bgpd] done [17335|pim6d] done
[17326|babeld] done [17319|ospf6d] done [17331|staticd] done
[17318|ospfd] done [17329|watchfrr] done [17332|bfdd] done [17339|mgmtd]
sending configuration [17340|zebra] sending configuration [17341|ripd]
sending configuration [17343|ospfd] sending configuration [17342|ripngd]
sending configuration [17344|ospf6d] sending configuration [17345|ldpd]
sending configuration [17346|bgpd] sending configuration [17347|isisd]
sending configuration [17351|babeld] sending configuration
[17354|watchfrr] sending configuration Waiting for children to finish
applying config... [17360|pim6d] sending configuration [17339|mgmtd]
done [17356|staticd] sending configuration [17357|bfdd] sending
configuration [17343|ospfd] done [17341|ripd] done [17342|ripngd] done
[17360|pim6d] done [17340|zebra] done [17345|ldpd] done [17344|ospf6d]
done [17347|isisd] done [17354|watchfrr] done [17351|babeld] done
[17356|staticd] done [17357|bfdd] done [17346|bgpd] done

[[protocols bgp]] failed
Commit failed
[edit]
vmakris@igoum-gw-01#

I tried deleting the command, renaming it, nothing seems to be working. I had to delete the whole protocol bgp in order to change it.

Thanks in advance!

Details

Difficulty level
Unknown (require assessment)
Version
VyOS 1.5-rolling-202404250020
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Bug (incorrect behavior)

Event Timeline

syncer changed the task status from Open to Needs testing.May 19 2024, 6:00 PM
syncer assigned this task to fernando.
syncer triaged this task as Normal priority.
fernando closed this task as Resolved N/A.EditedJun 13 2024, 6:27 PM

I've tested it, the problem here is because you change a wrong local role , in your configuration is a rs-client ( IBGP relationship) but when you move to rs-server ( only works with EBGP , this attribute reflect EBGP routes to bgp router clients ) , so, that it's reason why you are not allowed to change :
VyOS :

vyos@vyos# run show configuration commands | match bgp
set protocols bgp neighbor 10.88.88.255 address-family ipv4-unicast
set protocols bgp neighbor 10.88.88.255 peer-group 'FAST'
set protocols bgp peer-group FAST capability dynamic
set protocols bgp peer-group FAST graceful-restart 'enable'
set protocols bgp peer-group FAST local-role rs-client
set protocols bgp peer-group FAST password 'F@st123!'
set protocols bgp peer-group FAST remote-as '211186'
set protocols bgp peer-group FAST update-source '10.88.88.2'
set protocols bgp system-as '211186'
[edit]
vyos@vyos# delete protocols bgp peer-group FAST local-role rs-client
[edit]
vyos@vyos# commit
[edit]

when you want to change rs-server(route-server), it shows the following message :

exit" we failed to remove this command % External
roles can be set only on eBGP session

which is correct with your configuration.

You are correct, it was a misconfiguration, but there is no way to remove the error.
You need to remove the whole BGP in order to correct the mistake.
How did you manage to revert the error?

here we can add some prevention to raise error, to avoid that someone uses in EBGP a profile to IBGP, because, the problem is under FRR which syntax brakes the frr-cli.