X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=interface.c;h=036df6ca3179f0b22ade2e9bf64a9138c372999c;hp=01dabad8047edd7ef8a6a0c9b63ae7c0d9084d35;hb=bd996b60f742487ec3f2427ff1830cf6bf5da43c;hpb=6094417533d97662f693d134ab04595a292de30c 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