Added support for Extreme networks EXOS switches VLAN and policy management (#2516)

This commit is contained in:
Pasi Suominen
2021-10-21 16:33:57 +02:00
committed by GitHub
parent bd59493ef4
commit 91887acf39
5 changed files with 56 additions and 2 deletions
@@ -69,6 +69,26 @@
<advanced>true</advanced>
<help>Set how many times one account is allowed to login at the same time.</help>
</field>
<field>
<id>user.exos_vlan_untagged</id>
<label>EXOS VLAN Untagged</label>
<type>text</type>
<help>Set exos vlan untagged</help>
</field>
<field>
<id>user.exos_vlan_tagged</id>
<label>EXOS VLAN Tagged list</label>
<style>tokenize</style>
<type>select_multiple</type>
<allownew>true</allownew>
<help>Set exos vlan tagged</help>
</field>
<field>
<id>user.exos_policy</id>
<label>EXOS policy</label>
<type>text</type>
<help>Set exos policy filter id with Filter-ID="Entrasys:version=1:mgmt=su:policy=[policy_name]"</help>
</field>
<field>
<id>user.wispr_bw_min_up</id>
<label>WISPr Bandwith Min UP</label>
@@ -17,6 +17,12 @@
<type>checkbox</type>
<help>This allows you to bind to an external LDAP server. Be aware that FreeRADIUS will not start if there is no further configuration.</help>
</field>
<field>
<id>general.exos</id>
<label>Enable EXOS attributes</label>
<type>checkbox</type>
<help>This enables the EXOS VLAN and policy attributes assignment via users tab.</help>
</field>
<field>
<id>general.wispr</id>
<label>Enable WISPr attributes</label>
@@ -1,7 +1,7 @@
<model>
<mount>//OPNsense/freeradius/general</mount>
<description>FreeRADIUS configuration</description>
<version>1.0.0</version>
<version>1.0.1</version>
<items>
<enabled type="BooleanField">
<default>0</default>
@@ -15,6 +15,10 @@
<default>0</default>
<Required>N</Required>
</ldap_enabled>
<exos type="BooleanField">
<default>0</default>
<Required>N</Required>
</exos>
<wispr type="BooleanField">
<default>0</default>
<Required>N</Required>
@@ -1,7 +1,7 @@
<model>
<mount>//OPNsense/freeradius/user</mount>
<description>FreeRADIUS user configuration</description>
<version>1.0.2</version>
<version>1.0.3</version>
<items>
<users>
<user type="ArrayField">
@@ -49,6 +49,17 @@
<MinimumValue>0</MinimumValue>
<MaximumValue>1024</MaximumValue>
</simuse>
<exos_vlan_untagged type="IntegerField">
<Required>N</Required>
<MaximumValue>4096</MaximumValue>
</exos_vlan_untagged>
<exos_vlan_tagged type="CSVListField">
<Required>N</Required>
<mask>/^(\d{1,4},)*(\d{1,4})$/</mask>
</exos_vlan_tagged>
<exos_policy type="TextField">
<Required>N</Required>
</exos_policy>
<wispr_bw_min_up type="IntegerField">
<Required>N</Required>
</wispr_bw_min_up>
@@ -31,6 +31,19 @@
Tunnel-Private-Group-Id = {{ user_list.vlan }},
{% endif %}
{% endif %}
{% if helpers.exists('OPNsense.freeradius.general.exos') and OPNsense.freeradius.general.exos == '1' %}
{% if user_list.exos_vlan_untagged is defined and user_list.exos_vlan_tagged is not defined %}
Extreme-Netlogin-Extended-VLAN = "U{{ user_list.exos_vlan_untagged }}",
{% endif %}
{% if user_list.exos_vlan_tagged is defined%}
Extreme-Netlogin-Extended-VLAN = "{% if user_list.exos_vlan_untagged is defined -%}
U{{ user_list.exos_vlan_untagged }};{% endif -%}
{% for exostaggedlist in user_list.exos_vlan_tagged.split(',') %}T{{ exostaggedlist }};{% endfor %}",
{% endif %}
{% if user_list.exos_policy is defined %}
Filter-ID="Enterasys:version=1:mgmt=su:policy={{ user_list.exos_policy }}",
{% endif %}
{% endif %}
{% if helpers.exists('OPNsense.freeradius.general.wispr') and OPNsense.freeradius.general.wispr == '1' %}
{% if user_list.wispr_bw_min_up is defined %}
WISPr-Bandwidth-Min-Up = {{ user_list.wispr_bw_min_up }},