diff --git a/net/frr/Makefile b/net/frr/Makefile
index d07679177d..74fefd6531 100644
--- a/net/frr/Makefile
+++ b/net/frr/Makefile
@@ -1,5 +1,5 @@
PLUGIN_NAME= frr
-PLUGIN_VERSION= 1.55
+PLUGIN_VERSION= 1.56
PLUGIN_COMMENT= The FRRouting Protocol Suite
PLUGIN_DEPENDS= frr10-pythontools
PLUGIN_MAINTAINER= ad@opnsense.org
diff --git a/net/frr/pkg-descr b/net/frr/pkg-descr
index ba07fa79bc..62a69f78c3 100644
--- a/net/frr/pkg-descr
+++ b/net/frr/pkg-descr
@@ -11,6 +11,10 @@ switching and routing, Internet access routers, and Internet peering.
Plugin Changelog
================
+1.56
+
+* BGP: Add per-neighbor local-as no-prepend/replace-as options (contributed by clarkchentw)
+
1.55
* BGP: Write neighbor remote-as only when set (contributed by juan-ferrer-toribio)
diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml
index 245b6505c5..3f51a9c130 100644
--- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml
+++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPNeighbor.xml
@@ -45,6 +45,16 @@
false
+
+ neighbor.localasoptions
+
+ dropdown
+ true
+ Optional modifiers for the neighbor local-as command. "No-Prepend" prevents prepending the Local AS to received AS-Paths. "Replace-AS" causes only the Local AS to be prepended to outbound updates.
+
+ false
+
+
neighbor.password
diff --git a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml
index 74a94a312a..5caa1ca29a 100644
--- a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml
+++ b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/BGP.xml
@@ -82,7 +82,22 @@
1
4294967295
+
+
+ A Local AS is required when Local AS Options are set.
+ DependConstraint
+
+ localasoptions
+
+
+
+
+
+ No-Prepend
+ No-Prepend Replace-AS
+
+
0
diff --git a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/Config/bgpd.conf b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/Config/bgpd.conf
index 55e2390373..603944df39 100644
--- a/net/frr/src/opnsense/service/templates/OPNsense/Quagga/Config/bgpd.conf
+++ b/net/frr/src/opnsense/service/templates/OPNsense/Quagga/Config/bgpd.conf
@@ -121,7 +121,7 @@ router bgp {{ OPNsense.quagga.bgp.asnumber }}
neighbor {{ neighbor.address }} remote-as {{ neighbor.remoteas }}
{% endif %}
{% if 'localas' in neighbor and neighbor.localas != '' %}
- neighbor {{ neighbor.address }} local-as {{ neighbor.localas }}
+ neighbor {{ neighbor.address }} local-as {{ neighbor.localas }}{% if neighbor.localasoptions|default('') %} {{ neighbor.localasoptions }}{% endif %}
{% endif %}
{% if 'description' in neighbor and neighbor.description != '' %}
neighbor {{ neighbor.address }} description {{ neighbor.description }}