diff options
author | Ermal <eri@pfsense.org> | 2010-08-19 12:45:14 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2010-08-19 12:45:14 +0000 |
commit | 9a4c3eed1841f2ebd118875acc8cdbc1d14e8b7c (patch) | |
tree | 758a133f364ad803cedb9b8e0a2e89cdc18d82c9 /etc/inc/interfaces.inc | |
parent | 7b87710838513521a0008228fe04b6362aea63b3 (diff) | |
download | pfsense-9a4c3eed1841f2ebd118875acc8cdbc1d14e8b7c.zip pfsense-9a4c3eed1841f2ebd118875acc8cdbc1d14e8b7c.tar.gz |
Setup polling per interface rather only at bootup. This is a proper fix and a optimization on large interface cases. Also setup_microcode and polling defaults before configuring interfaces.
Diffstat (limited to 'etc/inc/interfaces.inc')
-rw-r--r-- | etc/inc/interfaces.inc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index f576458..213936d 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -2372,9 +2372,16 @@ function interface_configure($interface = "wan", $reloadall = false) { if (!empty($wancfg['mtu'])) pfSense_interface_mtu($realif, $wancfg['mtu']); + $options = pfSense_get_interface_addresses($realif); + if (is_array($options) && isset($options['caps']['polling'])) { + if (isset($config['system']['polling'])) + pfSense_interface_capabilities($realif, IFCAP_POLLING); + else + pfSense_interface_capabilities($realif, -IFCAP_POLLING); + } + /* skip vlans for checksumming and polling */ - if (!stristr($realif, "vlan")) { - $options = pfSense_get_interface_addresses($realif); + if (!stristr($realif, "vlan") && is_array($options)) { $flags = 0; if(isset($config['system']['disablechecksumoffloading'])) { if (isset($options['encaps']['txcsum'])) |