mirror of
https://github.com/netbirdio/plugins.git
synced 2026-05-22 18:44:07 -07:00
net/relayd: add interface for transport type route (#757)
This commit is contained in:
committed by
Franco Fichtner
parent
d9863be946
commit
57611d73b8
+1
-1
@@ -1,5 +1,5 @@
|
||||
PLUGIN_NAME= relayd
|
||||
PLUGIN_VERSION= 2.1
|
||||
PLUGIN_VERSION= 2.2
|
||||
PLUGIN_DEPENDS= relayd
|
||||
PLUGIN_COMMENT= Relayd Load Balancer
|
||||
PLUGIN_MAINTAINER= frank.brendel@eurolog.com
|
||||
|
||||
@@ -151,6 +151,11 @@ class SettingsController extends ApiControllerBase
|
||||
$relaydInfo[$nodeType]['backuptransport_tablemode']
|
||||
);
|
||||
}
|
||||
if ($relaydInfo[$nodeType]['transport_type'] == 'route' &&
|
||||
empty($relaydInfo[$nodeType]['routing_interface'])) {
|
||||
$result['validations']['relayd.virtualserver.routing_interface'] =
|
||||
gettext('Routing interface cannot be empty');
|
||||
}
|
||||
}
|
||||
if ($relaydInfo[$nodeType]['type'] == 'relay') {
|
||||
if ($relaydInfo[$nodeType]['transport_tablemode'] == 'least-states') {
|
||||
|
||||
@@ -70,6 +70,15 @@
|
||||
</help>
|
||||
<advanced>true</advanced>
|
||||
</field>
|
||||
<field>
|
||||
<id>relayd.virtualserver.routing_interface</id>
|
||||
<label>Routing Interface</label>
|
||||
<type>dropdown</type>
|
||||
<help><![CDATA[
|
||||
The interface to use for routing packages.]]>
|
||||
</help>
|
||||
<advanced>true</advanced>
|
||||
</field>
|
||||
<field>
|
||||
<id>relayd.virtualserver.transport_table</id>
|
||||
<label>Table</label>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<model>
|
||||
<mount>//OPNsense/relayd</mount>
|
||||
<version>1.0.0</version>
|
||||
<version>1.0.1</version>
|
||||
<description>Relayd settings</description>
|
||||
<items>
|
||||
<general>
|
||||
@@ -181,6 +181,14 @@
|
||||
<route>Route</route>
|
||||
</OptionValues>
|
||||
</transport_type>
|
||||
<routing_interface type="InterfaceField">
|
||||
<Required>N</Required>
|
||||
<multiple>N</multiple>
|
||||
<filters>
|
||||
<enable>/^(?!0).*$/</enable>
|
||||
<ipaddr>/^((?!dhcp).)*$/</ipaddr>
|
||||
</filters>
|
||||
</routing_interface>
|
||||
<transport_table type="ModelRelationField">
|
||||
<Model>
|
||||
<template>
|
||||
|
||||
@@ -107,9 +107,11 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||
// show/hide options depending on other options
|
||||
function ShowHideVSFields(){
|
||||
var servertype = $('#relayd\\.virtualserver\\.type').val();
|
||||
var transport_type = $('#relayd\\.virtualserver\\.transport_type').val();
|
||||
var backuptransport_table = $('#relayd\\.virtualserver\\.backuptransport_table').val();
|
||||
|
||||
$('tr[id="row_relayd.virtualserver.transport_type"]').addClass('hidden');
|
||||
$('tr[id="row_relayd.virtualserver.routing_interface"]').addClass('hidden');
|
||||
$('tr[id="row_relayd.virtualserver.stickyaddress"]').addClass('hidden');
|
||||
$('tr[id="row_relayd.virtualserver.protocol"]').addClass('hidden');
|
||||
$('tr[id="row_relayd.virtualserver.backuptransport_tablemode"]').addClass('hidden');
|
||||
@@ -121,6 +123,9 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
if(servertype == 'redirect'){
|
||||
$('tr[id="row_relayd.virtualserver.transport_type"]').removeClass('hidden');
|
||||
if(transport_type == 'route'){
|
||||
$('tr[id="row_relayd.virtualserver.routing_interface"]').removeClass('hidden');
|
||||
}
|
||||
$('tr[id="row_relayd.virtualserver.stickyaddress"]').removeClass('hidden');
|
||||
$('#relayd\\.virtualserver\\.transport_tablemode').append('<option value="least-states">Least States </option>');
|
||||
$('#relayd\\.virtualserver\\.backuptransport_tablemode').append('<option value="least-states">Least States </option>');
|
||||
@@ -152,6 +157,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||
};
|
||||
$('#DialogEditVirtualServer').on('shown.bs.modal', function() {ShowHideVSFields();});
|
||||
$('#relayd\\.virtualserver\\.type').on('changed.bs.select', function(e) {ShowHideVSFields();});
|
||||
$('#relayd\\.virtualserver\\.transport_type').on('changed.bs.select', function(e) {ShowHideVSFields();});
|
||||
$('#relayd\\.virtualserver\\.backuptransport_table').on('changed.bs.select', function(e) {ShowHideVSFields();});
|
||||
|
||||
function ShowHideTCFields(){
|
||||
|
||||
@@ -64,6 +64,9 @@ disable
|
||||
{% set transport_type = 'forward' %}
|
||||
{% if virtualserver.type == 'redirect' %}
|
||||
{% set transport_type = virtualserver.transport_type %}
|
||||
{% if virtualserver.transport_type == 'route' %}
|
||||
{% set routing_interface = " interface " ~ virtualserver.routing_interface %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% set table = helpers.getUUID(virtualserver.transport_table) %}
|
||||
{% set tablecheck = helpers.getUUID(virtualserver.transport_tablecheck) %}
|
||||
@@ -97,7 +100,7 @@ disable
|
||||
{% set port = " port " ~ virtualserver.transport_port if virtualserver.transport_port is defined %}
|
||||
{% set timeout = " timeout " ~ virtualserver.transport_timeout if virtualserver.transport_timeout is defined %}
|
||||
{% set interval = " interval " ~ virtualserver.transport_interval if virtualserver.transport_interval is defined %}
|
||||
{{ transport_type }} to <{{ table.name }}>{{ port }} mode {{ virtualserver.transport_tablemode }}{{ timeout }} {{ interval }} {{ _tablecheck }}
|
||||
{{ transport_type }} to <{{ table.name }}>{{ port }} mode {{ virtualserver.transport_tablemode }}{{ timeout }} {{ interval }} {{ _tablecheck }} {{ routing_interface }}
|
||||
{% if virtualserver.backuptransport_table is defined and virtualserver.transport_type == 'forward' %}
|
||||
{% set backuptable = helpers.getUUID(virtualserver.backuptransport_table) %}
|
||||
{% set backuptablecheck = helpers.getUUID(virtualserver.backuptransport_tablecheck) if virtualserver.backuptransport_tablecheck is defined %}
|
||||
|
||||
Reference in New Issue
Block a user