diff options
author | Felix Fietkau <nbd@openwrt.org> | 2012-07-05 14:33:04 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2012-07-05 15:10:43 +0200 |
commit | bd996b60f742487ec3f2427ff1830cf6bf5da43c (patch) | |
tree | 82a164ec9307b248e5f7611003cd93ced31c9b26 /interface.c | |
parent | 6094417533d97662f693d134ab04595a292de30c (diff) |
make alias devices attach to interface l2 devs
Diffstat (limited to 'interface.c')
-rw-r--r-- | interface.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/interface.c b/interface.c index 01dabad..036df6c 100644 --- a/interface.c +++ b/interface.c @@ -147,12 +147,24 @@ static void interface_event(struct interface *iface, enum interface_event ev) { struct interface_user *dep, *tmp; + struct device *adev = NULL; list_for_each_entry_safe(dep, tmp, &iface->users, list) dep->cb(dep, iface, ev); list_for_each_entry_safe(dep, tmp, &iface_all_users, list) dep->cb(dep, iface, ev); + + switch (ev) { + case IFEV_UP: + adev = iface->main_dev.dev; + /* fall through */ + case IFEV_DOWN: + alias_notify_device(iface->name, adev); + break; + default: + break; + } } static void |