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