How to disable enforce-first-as at neighbor level?

Hello,

I have been using VyOS for some time and this is the first time I found something that does not work out of the box.

The issue is that I’m creating a bgp session with a route server on a IXP, and the routes received from that RS don’t have the peer-as as first-as so VyOS by default, rejects them.

After a lot of digging I found that this behaviour can be disabled by touching it with “vtysh”, but of course that won’t survive a reboot.

The commands I use for this are:

vtysh
configure terminal
router bgp 123456 
no neighbor 10.0.0.1 enforce-first-as
no neighbor 10.0.0.2 enforce-first-as
end

And then I need to restart the sessions to get the routes properly accepted:

reset ip bgp 10.0.0.1 soft 
reset ip bgp 10.0.0.2 soft 

Looking at VyOS, enforce-first-as is implemented but only to enable it at neighbor level, not to disable it, and it comes enabled by default!

So, as a quick workaround, what is the most stable/accepted way to run this commands automatically at boot?

Also, is there any chance to get this command submitted as feature request to the dev team?

Thanks everyone!

  1. File this as a bug/feature request over at https://vyos.dev

  2. You can use either the pre/post-hooks (probably prefered so it gets runned if you commit without reboot in between):

https://docs.vyos.io/en/sagitta/automation/command-scripting.html#executing-pre-hooks-post-hooks-scripts

Or if you want this to be a oneshot thing during boot you can use these scripts:

https://docs.vyos.io/en/sagitta/automation/command-scripting.html#postconfig-on-boot