summaryrefslogtreecommitdiffstats
path: root/src/etc/inc/services.inc
diff options
context:
space:
mode:
Diffstat (limited to 'src/etc/inc/services.inc')
-rw-r--r--src/etc/inc/services.inc24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc
index 4a032b8..71d93ee 100644
--- a/src/etc/inc/services.inc
+++ b/src/etc/inc/services.inc
@@ -2381,24 +2381,34 @@ begemotSnmpdCommunityDisable = 1
EOD;
- $bind_to_ip = "0.0.0.0";
+ $bind_to_ips = array();
if (isset($config['snmpd']['bindip'])) {
- if (is_ipaddr($config['snmpd']['bindip'])) {
- $bind_to_ip = $config['snmpd']['bindip'];
- } else {
- $if = get_real_interface($config['snmpd']['bindip']);
- if (does_interface_exist($if)) {
- $bind_to_ip = get_interface_ip($config['snmpd']['bindip']);
+ foreach (explode(",", $config['snmpd']['bindip']) as $bind_to_ip) {
+ if (is_ipaddr($bind_to_ip)) {
+ $bind_to_ips[] = $bind_to_ip;
+ } else {
+ $if = get_real_interface($bind_to_ip);
+ if (does_interface_exist($if)) {
+ $bindip = get_interface_ip($bind_to_ip);
+ if (is_ipaddr($bindip)) {
+ $bind_to_ips[] = $bindip;
+ }
+ }
}
}
}
+ if (!count($bind_to_ips)) {
+ $bind_to_ips = array("0.0.0.0");
+ }
if (is_port($config['snmpd']['pollport'])) {
+ foreach ($bind_to_ips as $bind_to_ip) {
$snmpdconf .= <<<EOD
begemotSnmpdPortStatus.{$bind_to_ip}.{$config['snmpd']['pollport']} = 1
EOD;
+ }
}
$snmpdconf .= <<<EOD
OpenPOWER on IntegriCloud