diff --git a/LICENSE b/LICENSE index 5264977a0..baf0a1005 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ Copyright (c) 2023 A. Kulikov -Copyright (c) 2015-2024 Ad Schellevis +Copyright (c) 2015-2025 Ad Schellevis Copyright (c) 2022 agh1467 Copyright (c) 2024 Alex Smith Copyright (c) 2021 Alexander Noack @@ -24,7 +24,7 @@ Copyright (c) 2016-2019 EURO-LOG AG Copyright (c) 2017-2020 Fabian Franz Copyright (c) 2019 Felix Matouschek Copyright (c) 2024 Francisco Dimattia -Copyright (c) 2014-2024 Franco Fichtner +Copyright (c) 2014-2025 Franco Fichtner Copyright (c) 2016-2025 Frank Wall Copyright (c) 2021 Github-jjw Copyright (c) 2023 Greg Glockner diff --git a/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/netcup.py b/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/netcup.py index 9bb775c1e..10322a630 100755 --- a/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/netcup.py +++ b/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/netcup.py @@ -64,7 +64,8 @@ class Netcup(BaseAccount): syslog.syslog(syslog.LOG_ERR, "Incomplete FQDN offerred %s" % self.settings['hostnames']) return False - self.hostname, self.domain = self.settings['hostnames'].split('.', 1) + self.domain = self.settings['hostnames'].split('.', self.settings['hostnames'].count('.')-1)[-1] + self.hostname = self.settings['hostnames'].rsplit('.', 2)[0] if self.domain != self.settings['hostnames'] else '@' if self.settings['password'].count('|') == 1: self.settings['APIPassword'], self.settings['APIKey'] = self.settings['password'].split('|') diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/BfdController.php b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/BfdController.php index 93575aa03..88d9582ba 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/BfdController.php +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/BfdController.php @@ -33,7 +33,10 @@ class BfdController extends \OPNsense\Base\IndexController public function indexAction() { $this->view->bfdForm = $this->getForm("bfd"); + $this->view->formDialogEditBFDNeighbor = $this->getForm("dialogEditBFDNeighbor"); + $this->view->formGridEditBFDNeighbor = $this->getFormGrid("dialogEditBFDNeighbor", null, "BFDChangeMessage"); + $this->view->pick('OPNsense/Quagga/bfd'); } } diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/BgpController.php b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/BgpController.php index 0b34cfd6c..b31579b66 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/BgpController.php +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/BgpController.php @@ -33,12 +33,25 @@ class BgpController extends \OPNsense\Base\IndexController public function indexAction() { $this->view->bgpForm = $this->getForm("bgp"); + $this->view->formDialogEditBGPNeighbor = $this->getForm("dialogEditBGPNeighbor"); + $this->view->formGridEditBGPNeighbor = $this->getFormGrid("dialogEditBGPNeighbor", null, "BGPChangeMessage"); + $this->view->formDialogEditBGPASPaths = $this->getForm("dialogEditBGPASPath"); + $this->view->formGridEditBGPASPaths = $this->getFormGrid("dialogEditBGPASPath", null, "BGPChangeMessage"); + $this->view->formDialogEditBGPPrefixLists = $this->getForm("dialogEditBGPPrefixLists"); + $this->view->formGridEditBGPPrefixLists = $this->getFormGrid("dialogEditBGPPrefixLists", null, "BGPChangeMessage"); + $this->view->formDialogEditBGPCommunityLists = $this->getForm("dialogEditBGPCommunityLists"); + $this->view->formGridEditBGPCommunityLists = $this->getFormGrid("dialogEditBGPCommunityLists", null, "BGPChangeMessage"); + $this->view->formDialogEditBGPRouteMaps = $this->getForm("dialogEditBGPRouteMaps"); + $this->view->formGridEditBGPRouteMaps = $this->getFormGrid("dialogEditBGPRouteMaps", null, "BGPChangeMessage"); + $this->view->formDialogEditBGPPeergroups = $this->getForm("dialogEditBGPPeergroups"); + $this->view->formGridEditBGPPeergroups = $this->getFormGrid("dialogEditBGPPeergroups", null, "BGPChangeMessage"); + $this->view->pick('OPNsense/Quagga/bgp'); } } diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/IsisController.php b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/IsisController.php deleted file mode 100644 index 873c88c9a..000000000 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/IsisController.php +++ /dev/null @@ -1,38 +0,0 @@ -view->generalForm = $this->getForm("isis"); - $this->view->pick('OPNsense/Quagga/isis'); - } -} diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Ospf6Controller.php b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Ospf6Controller.php index f4863bedb..785c3c827 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Ospf6Controller.php +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/Ospf6Controller.php @@ -30,10 +30,19 @@ class Ospf6Controller extends \OPNsense\Base\IndexController public function indexAction() { $this->view->ospf6Form = $this->getForm("ospf6"); + $this->view->formDialogEditNetwork = $this->getForm("dialogEditOSPF6Network"); + $this->view->formGridEditNetwork = $this->getFormGrid("dialogEditOSPF6Network", null, "OSPF6ChangeMessage"); + $this->view->formDialogEditInterface = $this->getForm("dialogEditOSPF6Interface"); + $this->view->formGridEditInterface = $this->getFormGrid("dialogEditOSPF6Interface", null, "OSPF6ChangeMessage"); + $this->view->formDialogEditPrefixLists = $this->getForm("dialogEditOSPF6PrefixLists"); + $this->view->formGridEditPrefixLists = $this->getFormGrid("dialogEditOSPF6PrefixLists", null, "OSPF6ChangeMessage"); + $this->view->formDialogEditRouteMaps = $this->getForm("dialogEditOSPF6RouteMaps"); + $this->view->formGridEditRouteMaps = $this->getFormGrid("dialogEditOSPF6RouteMaps", null, "OSPF6ChangeMessage"); + $this->view->pick('OPNsense/Quagga/ospf6'); } } diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/OspfController.php b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/OspfController.php index c240f4cf6..3cfb380e6 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/OspfController.php +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/OspfController.php @@ -33,10 +33,19 @@ class OspfController extends \OPNsense\Base\IndexController public function indexAction() { $this->view->generalForm = $this->getForm("ospf"); + $this->view->formDialogEditNetwork = $this->getForm("dialogEditOSPFNetwork"); + $this->view->formGridEditNetwork = $this->getFormGrid("dialogEditOSPFNetwork", null, "OSPFChangeMessage"); + $this->view->formDialogEditInterface = $this->getForm("dialogEditOSPFInterface"); + $this->view->formGridEditInterface = $this->getFormGrid("dialogEditOSPFInterface", null, "OSPFChangeMessage"); + $this->view->formDialogEditPrefixLists = $this->getForm("dialogEditOSPFPrefixLists"); + $this->view->formGridEditPrefixLists = $this->getFormGrid("dialogEditOSPFPrefixLists", null, "OSPFChangeMessage"); + $this->view->formDialogEditRouteMaps = $this->getForm("dialogEditOSPFRouteMaps"); + $this->view->formGridEditRouteMaps = $this->getFormGrid("dialogEditOSPFRouteMaps", null, "OSPFChangeMessage"); + $this->view->pick('OPNsense/Quagga/ospf'); } } diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/StaticController.php b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/StaticController.php index a6888d469..11990134d 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/StaticController.php +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/StaticController.php @@ -36,7 +36,10 @@ class StaticController extends \OPNsense\Base\IndexController public function indexAction() { $this->view->staticForm = $this->getForm("static"); + $this->view->formDialogEditSTATICRoute = $this->getForm("dialogEditSTATICRoute"); + $this->view->formGridEditSTATICRoute = $this->getFormGrid("dialogEditSTATICRoute", null, "STATICChangeMessage"); + $this->view->pick('OPNsense/Quagga/static'); } } diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/bgp.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/bgp.xml index 8cb5f9759..85e104b23 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/bgp.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/bgp.xml @@ -3,34 +3,34 @@ bgp.enabled checkbox - This will activate the bgp service. + This will activate the BGP service. bgp.asnumber text - Your AS Number here + Your AS Number here. bgp.distance text true - BGP routes usually have an administrative distance of 20. Here you can adjust these values, e.g. when you want to prefer OSPF learned routes. + Adjust BGP administrative distance, typically set to 20. Useful if you want to prefer OSPF-learned routes. bgp.routerid text true - In some cases it might be clearer to set a fixed router-id. + Optional fixed router ID for BGP. bgp.graceful checkbox true - BGP graceful restart functionality as defined in RFC-4724 defines the mechanisms that allows BGP speaker to continue to forward data packets along known routes while the routing protocol information is being restored. + Enable BGP graceful restart as per RFC 4724, allowing packet forwarding during protocol restoration. bgp.networks @@ -38,7 +38,7 @@ select_multiple true - Defines which networks, which are connected to this router, will be advertised over BGP. To announce all defined networks, Network Import-Check can be disabled in advanced settings if required. + Defines connected networks to be advertised over BGP. Disable Network Import-Check to announce all networks. bgp.networkimportcheck @@ -51,13 +51,12 @@ bgp.logneighborchanges checkbox - This will activate exetended logging of BGP neighbor changes. + Enable extended logging of BGP neighbor changes. bgp.redistribute select_multiple - Select other routing sources, which should be redistributed to the other nodes. - Type or select a route source. + Select routing sources to redistribute to other nodes. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBFDNeighbor.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBFDNeighbor.xml index 26780cc97..fbaeabcd7 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBFDNeighbor.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBFDNeighbor.xml @@ -3,6 +3,11 @@ neighbor.enabled checkbox + + 6em + boolean + rowtoggle + neighbor.description @@ -20,9 +25,10 @@ neighbor.multihop checkbox - multihop tells the BFD daemon that we should expect packets with TTL less than 254 - (because it will take more than one hop) and to listen on the multihop port (4784). - When using multi-hop mode echo-mode will not work (see RFC 5883 section 3). - + Multihop tells the BFD daemon that we should expect packets with TTL less than 254 (because it will take more than one hop) and to listen on the multihop port (4784). When using multi-hop mode echo-mode will not work (see RFC 5883 section 3). + + boolean + boolean + diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPASPath.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPASPath.xml index 50fc88cc2..03a97ba52 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPASPath.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPASPath.xml @@ -3,19 +3,23 @@ aspath.enabled checkbox - If this AS-Path list should be enabled. + + 6em + boolean + rowtoggle + aspath.description text - Add an optional description for this AS-Path list. + Optional description for the AS-Path list. aspath.number text - The ACL rule number (0-4294967294); keep in mind that there are no sequence numbers with AS-Path lists. When you want to add a new line between you have to completely remove the ACL! + The ACL rule number (0-4294967294); keep in mind that there are no sequence numbers with AS-Path lists. When you want to add a new line between you have to completely remove the ACL. aspath.action @@ -27,6 +31,6 @@ aspath.as text - The AS pattern you want to match, regexp allowed (e.g. .$ or _1$). It's not validated so please be careful! + The AS pattern you want to match, regexp allowed (e.g. .$ or _1$). diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPCommunityLists.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPCommunityLists.xml index ad1e86dcb..f8d3277fb 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPCommunityLists.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPCommunityLists.xml @@ -3,19 +3,23 @@ communitylist.enabled checkbox - Enable / Disable + + 6em + boolean + rowtoggle + communitylist.description text - Add an optional description for this Community-List. + Optional description for the Community-List. communitylist.number text - Set the number of your Community-List. 1-99 are standard lists while 100-500 are expanded lists. + Community-List number (1-99 for standard, 100-500 for expanded). communitylist.seqnumber @@ -33,6 +37,6 @@ communitylist.community text - The community you want to match. You can also regex and it is not validated so please be careful. + Community pattern to match, with optional regex. 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 7b326faec..9c2d176be 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 @@ -3,176 +3,263 @@ neighbor.enabled checkbox + + 6em + boolean + rowtoggle + neighbor.description text - Set an optional description for this neighbor. + Optional description for the neighbor. neighbor.address text - Specify the IP of your neighbor. + Specify the IP address of the BGP neighbor. neighbor.remoteas text - Neighbor AS. + AS (Autonomous System) number of the neighbor, required for establishing a BGP session. neighbor.password text true - Set a password for BGP authentication. + Password used for MD5 authentication of BGP connections to enhance security. + + false + neighbor.weight text true - Specify a default weight value for the neighbor’s routes. + Default weight for routes from this neighbor; higher weight increases path preference within the same AS. + + false + neighbor.localip text true - Set the local IP connecting to the neighbor. This is only required for BGP authentication. + Specify the local IP address used to establish connections with the neighbor. Only relevant for MD5 authentication. + + false + neighbor.updatesource dropdown - FRR documentation for more information.]]> + Interface (IPv4) where BGP sessions are sourced from, typically required when using loopback addresses. + + false + neighbor.linklocalinterface dropdown true - FRR documentation for more information.]]> + Interface for IPv6 link-local neighbors, used primarily for link-local IPv6 addressing. + + false + neighbor.nexthopself checkbox + Sets the local router as the next hop for routes advertised to the neighbor, commonly used in Route Reflector setups. + + boolean + boolean + false + neighbor.nexthopselfall checkbox - Add the parameter "all" after next-hop-self command. + Extends Next-Hop-Self by applying the setting to all addresses, including multiple address families. + + boolean + boolean + false + neighbor.multihop - - Specifying ebgp-multihop allows sessions with eBGP neighbors to establish when they are multiple hops away. - When the neighbor is not directly connected and this knob is not enabled, the session will not establish. - + Enables connections to eBGP neighbors across multiple hops; often required for peering over loopback addresses. checkbox + + boolean + boolean + false + neighbor.multiprotocol checkbox true - RFC 2283]]> + Enables multiprotocol BGP for support of additional address families like IPv6. + + boolean + boolean + false + neighbor.rrclient checkbox + Marks the neighbor as a client for a route reflector; used to reduce the number of full BGP mesh connections. + + boolean + boolean + false + neighbor.soft_reconfiguration_inbound checkbox - This option allows changing policies without clearing the BGP session. + Allows policy changes without resetting the session by storing inbound updates. + + boolean + boolean + false + neighbor.bfd checkbox - You can enable BFD support for this neighbor. + Enable Bidirectional Forwarding Detection (BFD) for rapid link failure detection with the neighbor. + + boolean + boolean + false + neighbor.keepalive text true - Keepalive timer to check if the neighbor is still up. Default when unset is 60 seconds. + 60 + Sets the interval (default 60 seconds) between keepalive messages to check the neighbors availability. + + false + neighbor.holddown text true - The time in seconds when a neighbor is considered dead. This is usually 3 times the keeplive timer and when unset 180 seconds. + 180 + Time (default 180 seconds) before declaring a neighbor down if no keepalive messages are received. + + false + neighbor.connecttimer text true - The time in seconds how fast a neighbor tries to reconnect. + Interval to attempt reconnecting with a neighbor after a disconnect. + + false + neighbor.defaultoriginate checkbox + Sends a default route to the neighbor, useful in small AS environments where a full routing table is not necessary. + + boolean + boolean + false + neighbor.asoverride checkbox - Override AS number of the originating router with the local AS number. This command is only allowed for eBGP peers. + Allows replacement of the neighbors AS with the local AS, common in eBGP confederations. + + boolean + boolean + false + neighbor.disable_connected_check checkbox - Allow peerings between directly connected eBGP peers using loopback addresses. + Allows eBGP connections over loopback addresses by bypassing checks for direct connections. + + boolean + boolean + false + neighbor.attributeunchanged dropdown true - FRR documentation.]]> + Keeps specified attributes (like MED, AS-Path, etc.) unchanged in updates to the neighbor. + + false + neighbor.linkedPrefixlistIn dropdown - Prefix-List for inbound direction + Prefix list to filter inbound prefixes from this neighbor. neighbor.linkedPrefixlistOut dropdown - Prefix-List for outbound direction + Prefix list to filter outbound prefixes sent to this neighbor. neighbor.linkedRoutemapIn dropdown - Route-Map for inbound direction + Route-map to apply to routes received from this neighbor. neighbor.linkedRoutemapOut dropdown - Route-Map for outbound direction + Route-map to apply to routes advertised to this neighbor. neighbor.peergroup dropdown - Peer Group this neighbor belongs to. + Groups neighbors with similar configurations to simplify management. + + false + diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPPeergroups.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPPeergroups.xml index ea19cf0c0..a42ece762 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPPeergroups.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPPeergroups.xml @@ -3,57 +3,78 @@ peergroup.enabled checkbox + + 6em + boolean + rowtoggle + peergroup.name text - Specify the name of this peergroup. + Name of the peer group. peergroup.remoteas text - Remote AS for tthis peergroup. + Remote AS for the peer group. + + false + peergroup.updatesource dropdown - FRR documentation for more information.]]> + Physical IPv4 interface facing the peer. + + false + peergroup.nexthopself checkbox + Sets the local router as the next hop for routes advertised to the neighbor, commonly used in Route Reflector setups. + + boolean + boolean + - + peergroup.defaultoriginate checkbox + Enable sending of default routes to the peer group. + + boolean + boolean + peergroup.linkedPrefixlistIn dropdown - Prefix-List for inbound direction. + Prefix list to filter inbound prefixes from this neighbor. peergroup.linkedPrefixlistOut dropdown - Prefix-List for outbound direction. + Prefix list to filter outbound prefixes sent to this neighbor. peergroup.linkedRoutemapIn dropdown - Route-Map for inbound direction. + Route-map to apply to routes received from this neighbor. peergroup.linkedRoutemapOut dropdown - Route-Map for outbound direction. + Route-map to apply to routes advertised to this neighbor. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPPrefixLists.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPPrefixLists.xml index 2a7def268..f72c12df4 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPPrefixLists.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPPrefixLists.xml @@ -3,7 +3,11 @@ prefixlist.enabled checkbox - If this Prefix-List should be enabled. + + 6em + boolean + rowtoggle + prefixlist.description @@ -15,19 +19,22 @@ prefixlist.name text - The name of your Prefix-List, please choose one near to the result you want to achieve. + Name of the Prefix-List, descriptive of its purpose. If there should be multiple entries for the same prefix list, give them all the same name. prefixlist.version dropdown Set the IP version to use. + + false + prefixlist.seqnumber - + text - The ACL sequence number (1-4294967294) + The ACL sequence number (1-4294967294). prefixlist.action @@ -39,6 +46,6 @@ prefixlist.network text - The network pattern you want to match. You can also add "ge" or "le" additions after the network statement. It's not validated so please be careful! + Specifies a network pattern to match, with optional ge (greater than or equal) and le (less than or equal) attributes to control the prefix length range. For example, a pattern like "192.168.0.0/16 ge 24 le 28" matches any route within the 192.168.0.0/16 block with prefix lengths from /24 to /28. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPRouteMaps.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPRouteMaps.xml index 59ebcb600..c64a36fdb 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPRouteMaps.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditBGPRouteMaps.xml @@ -3,19 +3,23 @@ routemap.enabled checkbox - Enable / Disable + + 6em + boolean + rowtoggle + routemap.description text - Add an optional description for this route-map. + Optional description for the route-map. routemap.name text - Route-map name to match and set your patterns, it will be enabled via the neighbor configuration. + Name of the route-map, used in neighbor configuration. routemap.action @@ -27,7 +31,7 @@ routemap.id text - Route-map ID between 1 and 65535. Be aware that the sorting will be done under the hood, so when you add an entry between it get's to the right position + Route-map ID (1-65535). Sorting is managed automatically. routemap.match @@ -35,7 +39,7 @@ select_multiple true - Select the AS-Path List. + Select the AS-Path List. If multiples with the same name exist, selecting one is enough. routemap.match2 @@ -43,7 +47,7 @@ select_multiple true - Select the Prefix List. + Select the Prefix List. If multiples with the same name exist, selecting one is enough. routemap.match3 @@ -51,12 +55,12 @@ select_multiple true - Select the Community List. + Select the Community List. If multiples with the same name exist, selecting one is enough. routemap.set text - Free text field for your set, please be careful! You can set e.g. "local-preference 300" or "community 1:1" (http://www.nongnu.org/quagga/docs/docs-multi/Route-Map-Set-Command.html#Route-Map-Set-Command) + Free text field for setting attributes, e.g., “local-preference 300” or “community 1:1”. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6Interface.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6Interface.xml index 610edd3b2..88bd9cc54 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6Interface.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6Interface.xml @@ -3,6 +3,11 @@ interface.enabled checkbox + + 6em + boolean + rowtoggle + interface.interfacename @@ -14,65 +19,104 @@ interface.area text - Area in wildcard mask style like 0.0.0.0 and no decimal 0 + Assigns the network to an OSPF area using an identifier like 0.0.0.0 (Backbone Area). The Backbone Area connects other areas, supporting inter-area communication, while additional areas (e.g., 0.0.0.1, 0.0.0.255) segment the network logically to limit routing updates. Only use Area in Interface tab or in Network tab once. interface.passive checkbox + Disables OSPF Hello packets on the interface, preventing neighbor relationships (used for security or optimization). + + boolean + boolean + false + interface.cost text + Sets the OSPF metric for path selection; lower costs are preferred paths within the area. interface.cost_demoted text 65535 + Specifies metric cost when interface is in backup mode via CARP, deprioritizing paths dynamically. + + false + interface.carp_depend_on dropdown - The carp VHID to depend on, when this virtual address is not in master state, - the interface cost will be set to the demoted cost (specified above). + Links the interface cost to a CARP VHID, adjusting costs based on primary or backup status. + + false + interface.hellointerval text + Sets frequency (in seconds) of Hello packets to maintain OSPF neighbor relationships. + + false + interface.deadinterval text + Defines the timeout period for OSPF neighbors; after this period, the neighbor is marked as down. + + false + interface.retransmitinterval text + Time (seconds) to wait before resending Link-State Advertisements (LSAs) if acknowledgment is delayed. + + false + interface.transmitdelay text + Configures the hold time before LSAs are resent, accommodating slow or high-latency links. + + false + interface.priority text + Determines the likelihood of becoming a Designated Router; higher values increase priority. + + false + interface.bfd checkbox - You can enable BFD support for this interface. You will also need to configure BFD peers. + Activates Bidirectional Forwarding Detection for rapid link failure detection; peer configuration required. + + boolean + boolean + false + interface.networktype dropdown + Defines the OSPF network type, impacting adjacency and LSA flooding methods. "Broadcast Multi-Access": Assumes networks supporting multiple routers with broadcast capability (e.g., Ethernet). "Non-Broadcast Multi-Access (NBMA)"": For networks without broadcast support (e.g., Frame Relay); requires manual neighbor setup. "Point-to-Multipoint": Connects multiple routers over a single interface, treating each as a point-to-point link. "Point-to-Point": Directly connects two routers, simplifying adjacency and LSA transmission. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6Network.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6Network.xml index c047e03f0..2b73476c0 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6Network.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6Network.xml @@ -3,39 +3,55 @@ network.enabled checkbox + + 6em + boolean + rowtoggle + network.ipaddr text + Specifies the IPv6 network address (e.g., fe80::1234) to include in OSPFv3. network.netmask text + Defines the network prefix length (e.g., 64) for the specified IPv6 address range. network.area text - Area in wildcard mask style like 0.0.0.0 and no decimal 0. Only use Area in Interface tab or in Network tab once. + Assigns the network to an OSPF area using an identifier like 0.0.0.0 (Backbone Area). The Backbone Area connects other areas, supporting inter-area communication, while additional areas (e.g., 0.0.0.1, 0.0.0.255) segment the network logically to limit routing updates. Only use Area in Interface tab or in Network tab once. network.arearange text - Here you can summarize a network for this area like fe80:1234::0/64 + Summarizes multiple networks in the specified area, consolidating multiple networks into a single summarized route like fe80:1234::/56. + + false + network.linkedPrefixlistIn dropdown - Prefix-List for inbound direction + Filters inbound route advertisements using a prefix list. + + false + network.linkedPrefixlistOut dropdown - Prefix-List for outbound direction + Filters outbound route advertisements using a prefix list. + + false + diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6PrefixLists.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6PrefixLists.xml index a1f0fce3a..ab34dbc02 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6PrefixLists.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6PrefixLists.xml @@ -3,17 +3,21 @@ prefixlist.enabled checkbox - Enable / Disable + + 6em + boolean + rowtoggle + prefixlist.name text - The name of your Prefix-List, please choose one near to the result you want to achieve. + The name of your Prefix-List. If there should be multiple entries for the same prefix list, give them all the same name. prefixlist.seqnumber - + text The ACL sequence number (10-99) @@ -27,6 +31,6 @@ prefixlist.network text - The network pattern you want to match. It's not validated so please be careful! + The network pattern you want to match. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml index 8d82c8ec4..427662d7f 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPF6RouteMaps.xml @@ -3,12 +3,17 @@ routemap.enabled checkbox + + 6em + boolean + rowtoggle + routemap.name text - Route-map name to match and set your patterns, it will be enabled via redistribution. + Route-map name for matching and setting patterns, enabled via redistribution. routemap.action @@ -20,7 +25,7 @@ routemap.id text - Route-map ID between 10 and 99. Be aware that the sorting will be done under the hood, so when you add an entry between it get's to the right position + Route-map ID between 10 and 99. Entries added in order of insertion. routemap.match2 @@ -28,11 +33,12 @@ select_multiple true + Allows for matching based on prefix lists, multiple selections enabled. routemap.set text - Free text field for your set, please be careful! You can set e.g. "local-preference 300" or "community 1:1" (http://docs.frrouting.org/en/latest/routemap.html#route-map-set-command) + Free text field for your set. You can set e.g. "local-preference 300" or "community 1:1" (http://docs.frrouting.org/en/latest/routemap.html#route-map-set-command) diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFInterface.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFInterface.xml index d46200e62..bc08a4c8c 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFInterface.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFInterface.xml @@ -3,86 +3,136 @@ interface.enabled checkbox + + 6em + boolean + rowtoggle + interface.interfacename dropdown - Select an interface where this settings apply to. + Select an interface where this settings apply. interface.authtype dropdown + Defines security method for OSPF exchanges (None, plain, or MD5) to prevent unauthorized updates. + + false + interface.authkey text + Specifies a password or key used for plain or MD5 authentication. + + false + interface.authkey_id true text + Numeric identifier for MD5 authentication, ensuring correct key selection. + + false + interface.area text - Area in wildcard mask style like 0.0.0.0 and no decimal 0. Only use Area in Interface tab or in Network tab once. + Assigns the network to an OSPF area using an identifier like 0.0.0.0 (Backbone Area). The Backbone Area connects other areas, supporting inter-area communication, while additional areas (e.g., 0.0.0.1, 0.0.0.255) segment the network logically to limit routing updates. Only use Area in Interface tab or in Network tab once. interface.cost text + Sets the OSPF metric for path selection; lower costs are preferred paths within the area. interface.cost_demoted text + Specifies metric cost when interface is in backup mode via CARP, deprioritizing paths dynamically. + + false + interface.carp_depend_on dropdown - The carp VHID to depend on, when this virtual address is not in master state, - the interface cost will be set to the demoted cost (specified above). + Links the interface cost to a CARP VHID, adjusting costs based on primary or backup status. + + false + interface.hellointerval text + Sets frequency (in seconds) of Hello packets to maintain OSPF neighbor relationships. + + false + interface.deadinterval text + Defines the timeout period for OSPF neighbors; after this period, the neighbor is marked as down. + + false + interface.retransmitinterval text + Time (seconds) to wait before resending Link-State Advertisements (LSAs) if acknowledgment is delayed. + + false + interface.transmitdelay text + Configures the hold time before LSAs are resent, accommodating slow or high-latency links. + + false + interface.priority text + Determines the likelihood of becoming a Designated Router; higher values increase priority. + + false + interface.bfd checkbox - You can enable BFD support for this interface. You will also need to configure BFD peers. + Activates Bidirectional Forwarding Detection for rapid link failure detection; peer configuration required. + + boolean + boolean + false + interface.networktype dropdown + Defines the OSPF network type, impacting adjacency and LSA flooding methods. "Broadcast Multi-Access": Assumes networks supporting multiple routers with broadcast capability (e.g., Ethernet). "Non-Broadcast Multi-Access (NBMA)"": For networks without broadcast support (e.g., Frame Relay); requires manual neighbor setup. "Point-to-Multipoint": Connects multiple routers over a single interface, treating each as a point-to-point link. "Point-to-Point": Directly connects two routers, simplifying adjacency and LSA transmission. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFNetwork.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFNetwork.xml index f15e330eb..66c72e677 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFNetwork.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFNetwork.xml @@ -3,39 +3,55 @@ network.enabled checkbox + + 6em + boolean + rowtoggle + network.ipaddr text + Specifies the network address (e.g., 192.168.1.0) to include in OSPF. network.netmask text + Defines the network mask (e.g., 24) for the specified network. network.area text - Area in wildcard mask style like 0.0.0.0 and no decimal 0. Only use Area in Interface tab or in Network tab once. + Assigns the network to an OSPF area using an identifier like 0.0.0.0 (Backbone Area). The Backbone Area connects other areas, supporting inter-area communication, while additional areas (e.g., 0.0.0.1, 0.0.0.255) segment the network logically to limit routing updates. Only use Area in Interface tab or in Network tab once. network.arearange text - Here you can summarize a network for this area like 192.168.0.0/23 + Summarizes multiple networks in the specified area, consolidating multiple networks into a single summarized route like 192.168.0.0/23 + + false + network.linkedPrefixlistIn dropdown - Prefix-List for inbound direction + Filters inbound route advertisements using a prefix list. + + false + network.linkedPrefixlistOut dropdown - Prefix-List for outbound direction + Filters outbound route advertisements using a prefix list. + + false + diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFPrefixLists.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFPrefixLists.xml index a1f0fce3a..ab34dbc02 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFPrefixLists.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFPrefixLists.xml @@ -3,17 +3,21 @@ prefixlist.enabled checkbox - Enable / Disable + + 6em + boolean + rowtoggle + prefixlist.name text - The name of your Prefix-List, please choose one near to the result you want to achieve. + The name of your Prefix-List. If there should be multiple entries for the same prefix list, give them all the same name. prefixlist.seqnumber - + text The ACL sequence number (10-99) @@ -27,6 +31,6 @@ prefixlist.network text - The network pattern you want to match. It's not validated so please be careful! + The network pattern you want to match. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFRouteMaps.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFRouteMaps.xml index 8d82c8ec4..427662d7f 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFRouteMaps.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditOSPFRouteMaps.xml @@ -3,12 +3,17 @@ routemap.enabled checkbox + + 6em + boolean + rowtoggle + routemap.name text - Route-map name to match and set your patterns, it will be enabled via redistribution. + Route-map name for matching and setting patterns, enabled via redistribution. routemap.action @@ -20,7 +25,7 @@ routemap.id text - Route-map ID between 10 and 99. Be aware that the sorting will be done under the hood, so when you add an entry between it get's to the right position + Route-map ID between 10 and 99. Entries added in order of insertion. routemap.match2 @@ -28,11 +33,12 @@ select_multiple true + Allows for matching based on prefix lists, multiple selections enabled. routemap.set text - Free text field for your set, please be careful! You can set e.g. "local-preference 300" or "community 1:1" (http://docs.frrouting.org/en/latest/routemap.html#route-map-set-command) + Free text field for your set. You can set e.g. "local-preference 300" or "community 1:1" (http://docs.frrouting.org/en/latest/routemap.html#route-map-set-command) diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditSTATICRoute.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditSTATICRoute.xml index adbbeb2d4..aae3f26c7 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditSTATICRoute.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/dialogEditSTATICRoute.xml @@ -3,6 +3,11 @@ route.enabled checkbox + + 6em + boolean + rowtoggle + route.network @@ -12,7 +17,7 @@ route.gateway - + text Optional gateway IP address for this route. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/general.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/general.xml index b3c2c1b7e..f8baf46fe 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/general.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/general.xml @@ -3,20 +3,20 @@ general.enabled checkbox - This will activate the routing service. + This will activate the routing service. Without enabling it globally, none of the individual services will run. general.profile dropdown true - FRR documentation for more information.]]> + Control FRR’s default profile: traditional reflects defaults adhering mostly to IETF standards or common practices in wide-area internet routing. datacenter reflects a single administrative domain with intradomain links using aggressive timers. general.enablecarp checkbox - This will activate the routing service only on the master device. + This will activate the routing service only on the master device. The backup device will stop the service completely. general.enablesnmp @@ -28,7 +28,7 @@ general.enablesyslog checkbox - Syslog is a service which is made to collect log messages from different software and maybe to a central logging server. Check this box if you have such a setup. + Sends logs to the OPNsense integrated syslog-ng service. general.sysloglevel @@ -40,8 +40,6 @@ general.fwrules checkbox - Enable automatically created firewall rules, when additional policies are needed, disable this and define - your own custom policies in the Firewall section. - + Enable automatically created firewall rules, when additional policies are needed, disable this and define your own custom policies in the Firewall section. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/isis.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/isis.xml deleted file mode 100644 index bf188c45c..000000000 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/isis.xml +++ /dev/null @@ -1,8 +0,0 @@ -
- - routing.isis.general.Enabled - - checkbox - This will activate the isis service. - -
diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf.xml index 7a1fb79db..3600e8497 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf.xml @@ -3,17 +3,13 @@ ospf.enabled checkbox - This will activate the OSPF service if routing protocols are enabled in "General". + This will activate the OSPF service. - ospf.carp_demote - - checkbox - - Register CARP status monitor, when no neighbors are found, consider this node less attractive. - This feature needs syslog enabled using "Debugging" logging to catch all relevant status events. - This option is not compatible with "Enable CARP Failover". - + ospf.carp_demote + + checkbox + Register CARP status monitor. When no neighbors are found, consider this node less attractive. Requires syslog enabled with “Debugging” logging. Incompatible with “Enable CARP Failover”. ospf.routerid @@ -27,32 +23,31 @@ text true - Here you can adjust the reference cost in Mbps for path calculation. Mostly needed when you bundle interfaces to higher bandwidth. + Adjust the reference cost in Mbps for path calculation, useful when bundling interfaces for higher bandwidth. ospf.passiveinterfaces select_multiple - - Type or select interface. + Select the interfaces where no OSPF packets should be sent. ospf.redistribute select_multiple - - Type or select a route source. + Select other routing sources to redistribute to other nodes. ospf.redistributemap dropdown - Route Map to set for Redistribution. + Route Map to set for Redistribution, can be used to send a specific network as advertisement when it is defined in a Prefix List attached to a Route Map. ospf.logadjacencychanges checkbox + If it should be logged when the topology of the area changes. ospf.originate @@ -64,12 +59,12 @@ ospf.originatealways checkbox - This will send the information that we have a default gateway, regardless of if it is available. + Always sends default gateway information, regardless of availability. ospf.originatemetric text - This let you manipulate the metric when advertising default gateway. + Allows manipulation of the metric when advertising the default gateway. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf6.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf6.xml index c7295a702..5432da38f 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf6.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/ospf6.xml @@ -3,36 +3,31 @@ ospf6.enabled checkbox - This will activate the OSPFv3 service if routing protocols are enabled in "General". + This will activate the OSPF service. - ospf6.carp_demote - - checkbox - - Register CARP status monitor, when no neighbors are found, consider this node less attractive. - This feature needs syslog enabled using "Debugging" logging to catch all relevant status events. - This option is not compatible with "Enable CARP Failover". - + ospf6.carp_demote + + checkbox + Register CARP status monitor. When no neighbors are found, consider this node less attractive. Requires syslog enabled with “Debugging” logging. Incompatible with “Enable CARP Failover”. ospf6.redistribute select_multiple - - Type or select a route source. + Select other routing sources to redistribute to other nodes. ospf6.redistributemap dropdown - Route Map to set for Redistribution. + Route Map to set for Redistribution, can be used to send a specific network as advertisement when it is defined in a Prefix List attached to a Route Map. ospf6.routerid text - Router ID as IPv4 Address + Router ID as an IPv4 Address to uniquely identify the router. ospf6.originate @@ -44,14 +39,14 @@ ospf6.originatealways checkbox - This will send the information that we have a default gateway, regardless of if it is available. + Always sends default gateway information, regardless of availability. ospf6.originatemetric text - This let you manipulate the metric when advertising default gateway. + Allows manipulation of the metric when advertising the default gateway. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/rip.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/rip.xml index 3b2ff4494..640f1b3ef 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/rip.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/rip.xml @@ -3,7 +3,7 @@ rip.enabled checkbox - This will activate the RIP service if the support of routing protocols is enabled in "General". + This will activate the RIP service. rip.version @@ -15,15 +15,13 @@ rip.passiveinterfaces select_multiple - - Type or select interface. + Select the interfaces, where no RIP packets should be sent to, (e.g., WAN interface). rip.redistribute select_multiple - - Type or select a route source. + Select other routing sources, which should be redistributed to the other nodes. A good choice is Connected Routes to automatically redistribute all locally attached routes to other routers with RIP. Otherwise use the Networks option to manually insert networks to distribute. rip.networks @@ -37,6 +35,6 @@ rip.defaultmetric text - Set the default metric to a value between 1 and 16. + Set the default metric to a value between 1 and 16. Routes with lower metrics will be preferred, while higher metrics indicate less preferred or distant paths. diff --git a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/static.xml b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/static.xml index 0a766e8f6..b5d4690cc 100644 --- a/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/static.xml +++ b/net/frr/src/opnsense/mvc/app/controllers/OPNsense/Quagga/forms/static.xml @@ -3,6 +3,6 @@ staticd.enabled checkbox - This will activate the staticd service if the support of routing protocols is enabled in "General". + This will activate the staticd service. diff --git a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/Menu/Menu.xml b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/Menu/Menu.xml index e63c3a58e..4241ec17d 100644 --- a/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/Menu/Menu.xml +++ b/net/frr/src/opnsense/mvc/app/models/OPNsense/Quagga/Menu/Menu.xml @@ -4,7 +4,6 @@ - diff --git a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bfd.volt b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bfd.volt index 4510e23ce..5657ef963 100644 --- a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bfd.volt +++ b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bfd.volt @@ -36,7 +36,7 @@ POSSIBILITY OF SUCH DAMAGE. updateServiceControlUI('quagga'); }); - $("#grid-neighbors").UIBootgrid({ + $("#{{formGridEditBFDNeighbor['table_id']}}").UIBootgrid({ 'search':'/api/quagga/bfd/searchNeighbor', 'get':'/api/quagga/bfd/getNeighbor/', 'set':'/api/quagga/bfd/setNeighbor/', @@ -65,32 +65,13 @@ POSSIBILITY OF SUCH DAMAGE.
+
{{ partial("layout_partials/base_form",['fields':bfdForm,'id':'frm_bfd_settings'])}}
+
- - - - - - - - - - - - - - - - - - -
{{ lang._('Enabled') }}{{ lang._('Description') }}{{ lang._('Neighbor Address') }}{{ lang._('ID') }}{{ lang._('Commands') }}
- - -
+ {{ partial('layout_partials/base_bootgrid_table', formGridEditBFDNeighbor)}}
@@ -107,6 +88,9 @@ POSSIBILITY OF SUCH DAMAGE.

+ -{{ partial("layout_partials/base_dialog",['fields':formDialogEditBFDNeighbor,'id':'DialogEditBFDNeighbor','label':lang._('Edit Neighbor')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditBFDNeighbor,'id':formGridEditBFDNeighbor['edit_dialog_id'],'label':lang._('Edit Neighbor')])}} diff --git a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt index b8385d546..b456e7de9 100644 --- a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt +++ b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/bgp.volt @@ -47,7 +47,7 @@ POSSIBILITY OF SUCH DAMAGE. } }); - $("#grid-neighbors").UIBootgrid({ + $("#{{formGridEditBGPNeighbor['table_id']}}").UIBootgrid({ 'search':'/api/quagga/bgp/searchNeighbor', 'get':'/api/quagga/bgp/getNeighbor/', 'set':'/api/quagga/bgp/setNeighbor/', @@ -55,7 +55,7 @@ POSSIBILITY OF SUCH DAMAGE. 'del':'/api/quagga/bgp/delNeighbor/', 'toggle':'/api/quagga/bgp/toggleNeighbor/' }); - $("#grid-aspaths").UIBootgrid({ + $("#{{formGridEditBGPASPaths['table_id']}}").UIBootgrid({ 'search':'/api/quagga/bgp/searchAspath', 'get':'/api/quagga/bgp/getAspath/', 'set':'/api/quagga/bgp/setAspath/', @@ -63,7 +63,7 @@ POSSIBILITY OF SUCH DAMAGE. 'del':'/api/quagga/bgp/delAspath/', 'toggle':'/api/quagga/bgp/toggleAspath/' }); - $("#grid-prefixlists").UIBootgrid({ + $("#{{formGridEditBGPPrefixLists['table_id']}}").UIBootgrid({ 'search':'/api/quagga/bgp/searchPrefixlist', 'get':'/api/quagga/bgp/getPrefixlist/', 'set':'/api/quagga/bgp/setPrefixlist/', @@ -71,7 +71,7 @@ POSSIBILITY OF SUCH DAMAGE. 'del':'/api/quagga/bgp/delPrefixlist/', 'toggle':'/api/quagga/bgp/togglePrefixlist/' }); - $("#grid-communitylists").UIBootgrid({ + $("#{{formGridEditBGPCommunityLists['table_id']}}").UIBootgrid({ 'search':'/api/quagga/bgp/searchCommunitylist', 'get':'/api/quagga/bgp/getCommunitylist/', 'set':'/api/quagga/bgp/setCommunitylist/', @@ -79,7 +79,7 @@ POSSIBILITY OF SUCH DAMAGE. 'del':'/api/quagga/bgp/delCommunitylist/', 'toggle':'/api/quagga/bgp/toggleCommunitylist/' }); - $("#grid-routemaps").UIBootgrid({ + $("#{{formGridEditBGPRouteMaps['table_id']}}").UIBootgrid({ 'search':'/api/quagga/bgp/searchRoutemap', 'get':'/api/quagga/bgp/getRoutemap/', 'set':'/api/quagga/bgp/setRoutemap/', @@ -87,7 +87,7 @@ POSSIBILITY OF SUCH DAMAGE. 'del':'/api/quagga/bgp/delRoutemap/', 'toggle':'/api/quagga/bgp/toggleRoutemap/' }); - $("#grid-peergroups").UIBootgrid({ + $("#{{formGridEditBGPPeergroups['table_id']}}").UIBootgrid({ 'search':'/api/quagga/bgp/searchPeergroup', 'get':'/api/quagga/bgp/getPeergroup/', 'set':'/api/quagga/bgp/setPeergroup/', @@ -109,178 +109,33 @@ POSSIBILITY OF SUCH DAMAGE.
  • {{ lang._('Peer Groups') }}
  • +
    -
    - {{ partial("layout_partials/base_form",['fields':bgpForm,'id':'frm_bgp_settings'])}} -
    + {{ partial("layout_partials/base_form",['fields':bgpForm,'id':'frm_bgp_settings'])}}
    +
    - - - - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Description') }}{{ lang._('Neighbor Address') }}{{ lang._('Remote AS') }}{{ lang._('Prefix List inbound') }}{{ lang._('Prefix List outbound') }}{{ lang._('Route Map inbound') }}{{ lang._('Route Map outbound') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditBGPNeighbor)}}
    +
    - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Description') }}{{ lang._('Number') }}{{ lang._('Action') }}{{ lang._('AS Number') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditBGPASPaths)}}
    +
    - - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Name') }}{{ lang._('Description') }}{{ lang._('Sequence Number') }}{{ lang._('Action') }}{{ lang._('Network') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditBGPPrefixLists)}}
    +
    - - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Number') }}{{ lang._('Description') }}{{ lang._('Secquence Number') }}{{ lang._('Action') }}{{ lang._('Community') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditBGPCommunityLists)}}
    +
    - - - - - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Name') }}{{ lang._('Description') }}{{ lang._('Action') }}{{ lang._('ID') }}{{ lang._('AS Path List') }}{{ lang._('Prefix List') }}{{ lang._('Community List') }}{{ lang._('Set') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditBGPRouteMaps)}}
    +
    - - - - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Name') }}{{ lang._('Next Hop Self') }}{{ lang._('Default Originate') }}{{ lang._('Prefix List inbound') }}{{ lang._('Prefix List outbound') }}{{ lang._('Route Map inbound') }}{{ lang._('Route Map outbound') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditBGPPeergroups)}}
    @@ -297,11 +152,14 @@ POSSIBILITY OF SUCH DAMAGE.

    + -{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPNeighbor,'id':'DialogEditBGPNeighbor','label':lang._('Edit Neighbor')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPASPaths,'id':'DialogEditBGPASPaths','label':lang._('Edit AS Paths')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPPrefixLists,'id':'DialogEditBGPPrefixLists','label':lang._('Edit Prefix Lists')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPCommunityLists,'id':'DialogEditBGPCommunityLists','label':lang._('Edit Community Lists')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPRouteMaps,'id':'DialogEditBGPRouteMaps','label':lang._('Edit Route Maps')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPPeergroups,'id':'DialogEditBGPPeergroups','label':lang._('Edit Peer Groups')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPNeighbor,'id':formGridEditBGPNeighbor['edit_dialog_id'],'label':lang._('Edit Neighbor')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPASPaths,'id':formGridEditBGPASPaths['edit_dialog_id'],'label':lang._('Edit AS Paths')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPPrefixLists,'id':formGridEditBGPPrefixLists['edit_dialog_id'],'label':lang._('Edit Prefix Lists')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPCommunityLists,'id':formGridEditBGPCommunityLists['edit_dialog_id'],'label':lang._('Edit Community Lists')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPRouteMaps,'id':formGridEditBGPRouteMaps['edit_dialog_id'],'label':lang._('Edit Route Maps')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditBGPPeergroups,'id':formGridEditBGPPeergroups['edit_dialog_id'],'label':lang._('Edit Peer Groups')])}} diff --git a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf.volt b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf.volt index 9daaa0e14..34c581cc0 100644 --- a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf.volt +++ b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf.volt @@ -51,7 +51,7 @@ POSSIBILITY OF SUCH DAMAGE. } }); - $("#grid-networks").UIBootgrid({ + $("#{{formGridEditNetwork['table_id']}}").UIBootgrid({ 'search':'/api/quagga/ospfsettings/searchNetwork', 'get':'/api/quagga/ospfsettings/getNetwork/', 'set':'/api/quagga/ospfsettings/setNetwork/', @@ -59,7 +59,7 @@ POSSIBILITY OF SUCH DAMAGE. 'del':'/api/quagga/ospfsettings/delNetwork/', 'toggle':'/api/quagga/ospfsettings/toggleNetwork/' }); - $("#grid-interfaces").UIBootgrid({ + $("#{{formGridEditInterface['table_id']}}").UIBootgrid({ 'search':'/api/quagga/ospfsettings/searchInterface', 'get':'/api/quagga/ospfsettings/getInterface/', 'set':'/api/quagga/ospfsettings/setInterface/', @@ -67,7 +67,7 @@ POSSIBILITY OF SUCH DAMAGE. 'del':'/api/quagga/ospfsettings/delInterface/', 'toggle':'/api/quagga/ospfsettings/toggleInterface/' }); - $("#grid-prefixlists").UIBootgrid({ + $("#{{formGridEditPrefixLists['table_id']}}").UIBootgrid({ 'search':'/api/quagga/ospfsettings/searchPrefixlist', 'get':'/api/quagga/ospfsettings/getPrefixlist/', 'set':'/api/quagga/ospfsettings/setPrefixlist/', @@ -75,7 +75,7 @@ POSSIBILITY OF SUCH DAMAGE. 'del':'/api/quagga/ospfsettings/delPrefixlist/', 'toggle':'/api/quagga/ospfsettings/togglePrefixlist/' }); - $("#grid-routemaps").UIBootgrid({ + $("#{{formGridEditRouteMaps['table_id']}}").UIBootgrid({ 'search':'/api/quagga/ospfsettings/searchRoutemap', 'get':'/api/quagga/ospfsettings/getRoutemap/', 'set':'/api/quagga/ospfsettings/setRoutemap/', @@ -101,110 +101,19 @@ POSSIBILITY OF SUCH DAMAGE.
    - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Network Address') }}{{ lang._('Mask') }}{{ lang._('Area') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditNetwork)}}
    - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Interface Name') }}{{ lang._('Network Type') }}{{ lang._('Authentication Type') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditInterface)}}
    - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Name') }}{{ lang._('Sequence Number') }}{{ lang._('Action') }}{{ lang._('Network') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditPrefixLists)}}
    - - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Name') }}{{ lang._('Action') }}{{ lang._('ID') }}{{ lang._('Prefix List') }}{{ lang._('Set') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditRouteMaps)}}
    @@ -220,9 +129,12 @@ POSSIBILITY OF SUCH DAMAGE. > + -{{ partial("layout_partials/base_dialog",['fields':formDialogEditNetwork,'id':'DialogEditNetwork','label':lang._('Edit Network')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditInterface,'id':'DialogEditInterface','label':lang._('Edit Interface')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditPrefixLists,'id':'DialogEditPrefixLists','label':lang._('Edit Prefix Lists')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditRouteMaps,'id':'DialogEditRouteMaps','label':lang._('Edit Route Maps')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditNetwork,'id':formGridEditNetwork['edit_dialog_id'],'label':lang._('Edit Network')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditInterface,'id':formGridEditInterface['edit_dialog_id'],'label':lang._('Edit Interface')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditPrefixLists,'id':formGridEditPrefixLists['edit_dialog_id'],'label':lang._('Edit Prefix Lists')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditRouteMaps,'id':formGridEditRouteMaps['edit_dialog_id'],'label':lang._('Edit Route Maps')])}} diff --git a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf6.volt b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf6.volt index d0749ac7c..ecb170033 100644 --- a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf6.volt +++ b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/ospf6.volt @@ -46,7 +46,7 @@ } }); - $("#grid-networks").UIBootgrid({ + $("#{{formGridEditNetwork['table_id']}}").UIBootgrid({ 'search':'/api/quagga/ospf6settings/searchNetwork', 'get':'/api/quagga/ospf6settings/getNetwork/', 'set':'/api/quagga/ospf6settings/setNetwork/', @@ -54,7 +54,7 @@ 'del':'/api/quagga/ospf6settings/delNetwork/', 'toggle':'/api/quagga/ospf6settings/toggleNetwork/' }); - $("#grid-interfaces").UIBootgrid({ + $("#{{formGridEditInterface['table_id']}}").UIBootgrid({ 'search':'/api/quagga/ospf6settings/searchInterface', 'get':'/api/quagga/ospf6settings/getInterface/', 'set':'/api/quagga/ospf6settings/setInterface/', @@ -62,7 +62,7 @@ 'del':'/api/quagga/ospf6settings/delInterface/', 'toggle':'/api/quagga/ospf6settings/toggleInterface/' }); - $("#grid-prefixlists").UIBootgrid({ + $("#{{formGridEditPrefixLists['table_id']}}").UIBootgrid({ 'search':'/api/quagga/ospf6settings/searchPrefixlist', 'get':'/api/quagga/ospf6settings/getPrefixlist/', 'set':'/api/quagga/ospf6settings/setPrefixlist/', @@ -70,7 +70,7 @@ 'del':'/api/quagga/ospf6settings/delPrefixlist/', 'toggle':'/api/quagga/ospf6settings/togglePrefixlist/' }); - $("#grid-routemaps").UIBootgrid({ + $("#{{formGridEditRouteMaps['table_id']}}").UIBootgrid({ 'search':'/api/quagga/ospf6settings/searchRoutemap', 'get':'/api/quagga/ospf6settings/getRoutemap/', 'set':'/api/quagga/ospf6settings/setRoutemap/', @@ -101,122 +101,25 @@
  • {{ lang._('Route Maps') }}
  • +
    -
    - {{ partial("layout_partials/base_form",['fields':ospf6Form,'id':'frm_ospf6_settings'])}} -
    + {{ partial("layout_partials/base_form",['fields':ospf6Form,'id':'frm_ospf6_settings'])}}
    -
    - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Network Address') }}{{ lang._('Mask') }}{{ lang._('Area') }}{{ lang._('ID') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditNetwork)}}
    -
    - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Interface Name') }}{{ lang._('Area') }}{{ lang._('Network Type') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditInterface)}}
    - - +
    - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Name') }}{{ lang._('Sequence Number') }}{{ lang._('Action') }}{{ lang._('Network') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditPrefixLists)}}
    - - +
    - - - - - - - - - - - - - - - - - - - - - -
    {{ lang._('Enabled') }}{{ lang._('Name') }}{{ lang._('Action') }}{{ lang._('ID') }}{{ lang._('Prefix List') }}{{ lang._('Set') }}{{ lang._('ID') }}{{ lang._('Commands') }}
    - - -
    + {{ partial('layout_partials/base_bootgrid_table', formGridEditRouteMaps)}}
    @@ -232,10 +135,12 @@ > + - -{{ partial("layout_partials/base_dialog",['fields':formDialogEditNetwork,'id':'DialogEditNetwork','label':lang._('Edit Network')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditInterface,'id':'DialogEditInterface','label':lang._('Edit Interface')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditPrefixLists,'id':'DialogEditPrefixLists','label':lang._('Edit Prefix Lists')])}} -{{ partial("layout_partials/base_dialog",['fields':formDialogEditRouteMaps,'id':'DialogEditRouteMaps','label':lang._('Edit Route Maps')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditNetwork,'id':formGridEditNetwork['edit_dialog_id'],'label':lang._('Edit Network')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditInterface,'id':formGridEditInterface['edit_dialog_id'],'label':lang._('Edit Interface')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditPrefixLists,'id':formGridEditPrefixLists['edit_dialog_id'],'label':lang._('Edit Prefix Lists')])}} +{{ partial("layout_partials/base_dialog",['fields':formDialogEditRouteMaps,'id':formGridEditRouteMaps['edit_dialog_id'],'label':lang._('Edit Route Maps')])}} diff --git a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/static.volt b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/static.volt index f699b7d2c..c6ae4303a 100644 --- a/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/static.volt +++ b/net/frr/src/opnsense/mvc/app/views/OPNsense/Quagga/static.volt @@ -26,24 +26,23 @@ #}