Project

General

Profile

« Previous | Next » 

Revision dc6a9ddc

Added by Viktor Gurov over 3 years ago

SNMP service restart improvements. Fixes #12611

View differences:

src/etc/inc/services.inc
2731 2731
	return $return;
2732 2732
}
2733 2733

  
2734
function services_snmpd_configure() {
2734
function services_snmpd_configure($interface='') {
2735 2735
	global $config, $g;
2736 2736
	if (isset($config['system']['developerspew'])) {
2737 2737
		$mt = microtime();
2738 2738
		echo "services_snmpd_configure() being called $mt\n";
2739 2739
	}
2740 2740

  
2741
	if (!empty($interface) &&
2742
	    !empty($config['snmpd']['bindip']) &&
2743
	    isset($config['snmpd']['enable'])) {
2744
		foreach (explode(",", $config['snmpd']['bindip']) as $bind_to_ip) {
2745
			if ($bind_to_ip == $interface) {
2746
				$interface_restart = true;
2747
				break;
2748
			}
2749
		}
2750
		if (!$interface_restart) {
2751
			return 0;
2752
		}
2753
	}
2754

  
2741 2755
	/* kill any running snmpd */
2742 2756
	sigkillbypid("{$g['varrun_path']}/snmpd.pid", "TERM");
2743 2757
	sleep(2);
src/etc/rc.newwanip
268 268
	services_igmpproxy_configure($interface);
269 269

  
270 270
	/* restart snmp */
271
	services_snmpd_configure();
271
	services_snmpd_configure($interface);
272 272

  
273 273
	restart_packages();
274 274

  
src/usr/local/www/interfaces.php
506 506
		}
507 507

  
508 508
		/* restart snmp so that it binds to correct address */
509
		$retval |= services_snmpd_configure();
509
		$retval |= services_snmpd_configure($ifapply);
510 510

  
511 511
		/* sync filter configuration */
512 512
		setup_gateways_monitor();

Also available in: Unified diff