diff options
author | Hans Dedecker <dedeckeh@gmail.com> | 2014-03-10 16:27:51 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-03-11 10:22:57 +0100 |
commit | 02021e2069d0ee315b0ff263b6c010bef63b879c (patch) | |
tree | 73d096226852fa43cd41963a6d93627a3171d18f /bridge.c | |
parent | 8aabd47c6f4fefc8fbd70c34a738f7c26956d8cd (diff) |
netifd: Fix bridge MTU setting when a bridge member is added
Reapply bridge mtu setting as adding a bridge member will override the bridge mtu in the kernel
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Diffstat (limited to 'bridge.c')
-rw-r--r-- | bridge.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -233,8 +233,15 @@ bridge_member_cb(struct device_user *dev, enum device_event ev) if (bst->n_present == 1) device_set_present(&bst->dev, true); - if (bst->dev.active) - bridge_enable_member(bm); + if (bst->dev.active && !bridge_enable_member(bm)) { + /* + * Adding a bridge member can overwrite the bridge mtu + * in the kernel, apply the bridge settings in case the + * bridge mtu is set + */ + system_if_apply_settings(&bst->dev, &bst->dev.settings, + DEV_OPT_MTU); + } break; case DEV_EVENT_REMOVE: |