diff --git a/net/vnstat/Makefile b/net/vnstat/Makefile index 0993d08e6..d2d40d163 100644 --- a/net/vnstat/Makefile +++ b/net/vnstat/Makefile @@ -1,8 +1,7 @@ PLUGIN_NAME= vnstat -PLUGIN_VERSION= 0.1 +PLUGIN_VERSION= 1.0 PLUGIN_COMMENT= vnStat is a console-based network traffic monitor PLUGIN_DEPENDS= vnstat PLUGIN_MAINTAINER= m.muenz@gmail.com -PLUGIN_DEVEL= yes .include "../../Mk/plugins.mk" diff --git a/net/vnstat/src/opnsense/mvc/app/controllers/OPNsense/Vnstat/forms/general.xml b/net/vnstat/src/opnsense/mvc/app/controllers/OPNsense/Vnstat/forms/general.xml index 6fe12c58e..cd1f8ded8 100644 --- a/net/vnstat/src/opnsense/mvc/app/controllers/OPNsense/Vnstat/forms/general.xml +++ b/net/vnstat/src/opnsense/mvc/app/controllers/OPNsense/Vnstat/forms/general.xml @@ -8,7 +8,7 @@ general.interface - dropdown + select_multiple Set the interface to listen on. diff --git a/net/vnstat/src/opnsense/mvc/app/models/OPNsense/Vnstat/General.xml b/net/vnstat/src/opnsense/mvc/app/models/OPNsense/Vnstat/General.xml index 43ad8cdc8..fa94d7dc0 100644 --- a/net/vnstat/src/opnsense/mvc/app/models/OPNsense/Vnstat/General.xml +++ b/net/vnstat/src/opnsense/mvc/app/models/OPNsense/Vnstat/General.xml @@ -9,6 +9,7 @@ N + Y diff --git a/net/vnstat/src/opnsense/service/templates/OPNsense/Vnstat/vnstat b/net/vnstat/src/opnsense/service/templates/OPNsense/Vnstat/vnstat index d81a43261..c04a95f78 100644 --- a/net/vnstat/src/opnsense/service/templates/OPNsense/Vnstat/vnstat +++ b/net/vnstat/src/opnsense/service/templates/OPNsense/Vnstat/vnstat @@ -1,6 +1,14 @@ {% if helpers.exists('OPNsense.vnstat.general.enabled') and OPNsense.vnstat.general.enabled == '1' %} +{% from 'OPNsense/Macros/interface.macro' import physical_interface %} vnstat_var_script="/usr/local/opnsense/scripts/OPNsense/Vnstat/setup.sh" vnstat_enable="YES" +{% if helpers.exists('OPNsense.vnstat.general.interface') and OPNsense.vnstat.general.interface != '' %} +{% set interfaces = [] %} +{% for interface in OPNsense.vnstat.general.interface.split(',') %} +{% do interfaces.append(physical_interface(interface)) %} +{% endfor %} +vnstat_additional_ifaces="{{ interfaces|join(' ') }}" +{% endif %} {% else %} vnstat_enable="NO" {% endif %} diff --git a/net/vnstat/src/opnsense/service/templates/OPNsense/Vnstat/vnstat.conf b/net/vnstat/src/opnsense/service/templates/OPNsense/Vnstat/vnstat.conf index 1e7d33467..8745f976d 100644 --- a/net/vnstat/src/opnsense/service/templates/OPNsense/Vnstat/vnstat.conf +++ b/net/vnstat/src/opnsense/service/templates/OPNsense/Vnstat/vnstat.conf @@ -2,10 +2,14 @@ {% from 'OPNsense/Macros/interface.macro' import physical_interface %} {% if helpers.exists('OPNsense.vnstat.general.interface') and OPNsense.vnstat.general.interface != '' %} -# default interface -Interface "{{ physical_interface(OPNsense.vnstat.general.interface) }}" +{% set interfaces = [] %} +{% for interface in OPNsense.vnstat.general.interface.split(',') %} +{% do interfaces.append(physical_interface(interface)) %} +{% endfor %} +Interface {{ interfaces|join('+') }} {% endif %} + # location of the database directory DatabaseDir "/var/lib/vnstat"