summaryrefslogtreecommitdiffstats
path: root/etc/inc/interfaces.inc
diff options
context:
space:
mode:
Diffstat (limited to 'etc/inc/interfaces.inc')
-rw-r--r--etc/inc/interfaces.inc14
1 files changed, 13 insertions, 1 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index 768255f..e0814d2 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -1687,6 +1687,18 @@ function setup_bridge() {
foreach ($bridgearray[$x] as $bridgeif) {
mwexec("/sbin/ifconfig {$bridgeif} up");
fwrite($fd, "/sbin/ifconfig {$bridgeif} up \n");
+ if($wirelessbridge) {
+ // disable checksum offloading when a wireless interface is bridged
+ // but only do so on wired interfaces, wireless don't have checksum offload
+ // redmine ticket #88
+ $friendlyifname = convert_real_interface_to_friendly_interface_name($bridgeif);
+ if(!is_interface_wireless($friendlyifname)) {
+ mwexec("/sbin/ifconfig {$bridgeif} -txcsum");
+ mwexec("/sbin/ifconfig {$bridgeif} -rxcsum");
+ fwrite($fd, "/sbin/ifconfig {$bridgeif} -txcsum \n");
+ fwrite($fd, "/sbin/ifconfig {$bridgeif} -rxcsum \n");
+ }
+ }
}
// setup the bridge
@@ -1762,4 +1774,4 @@ function get_interface_mac($interface) {
return $mac;
}
-?>
+?> \ No newline at end of file
OpenPOWER on IntegriCloud