summaryrefslogtreecommitdiffhomepage
path: root/interface.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-07-05 14:33:04 +0200
committerFelix Fietkau <nbd@openwrt.org>2012-07-05 15:10:43 +0200
commitbd996b60f742487ec3f2427ff1830cf6bf5da43c (patch)
tree82a164ec9307b248e5f7611003cd93ced31c9b26 /interface.c
parent6094417533d97662f693d134ab04595a292de30c (diff)
make alias devices attach to interface l2 devs
Diffstat (limited to 'interface.c')
-rw-r--r--interface.c12
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