projects
/
project
/
netifd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
detach stdin/stdout/stderr from child processes, implement a separate logging pipe...
[project/netifd.git]
/
interface.c
diff --git
a/interface.c
b/interface.c
index
514b4d5
..
e0c2c78
100644
(file)
--- a/
interface.c
+++ b/
interface.c
@@
-85,6
+85,7
@@
interface_event(struct interface *iface, enum interface_event ev)
static void
mark_interface_down(struct interface *iface)
{
static void
mark_interface_down(struct interface *iface)
{
+ interface_clear_dns(iface);
vlist_flush_all(&iface->proto_addr);
vlist_flush_all(&iface->proto_route);
if (iface->main_dev.dev)
vlist_flush_all(&iface->proto_addr);
vlist_flush_all(&iface->proto_route);
if (iface->main_dev.dev)
@@
-239,6
+240,7
@@
interface_proto_cb(struct interface_proto_state *state, enum interface_proto_eve
if (iface->state != IFS_SETUP)
return;
if (iface->state != IFS_SETUP)
return;
+ system_flush_routes();
iface->state = IFS_UP;
iface->start_time = system_get_rtime();
interface_event(iface, IFEV_UP);
iface->state = IFS_UP;
iface->start_time = system_get_rtime();
interface_event(iface, IFEV_UP);
@@
-248,6
+250,7
@@
interface_proto_cb(struct interface_proto_state *state, enum interface_proto_eve
if (iface->state == IFS_DOWN)
return;
if (iface->state == IFS_DOWN)
return;
+ system_flush_routes();
mark_interface_down(iface);
interface_handle_config_change(iface);
if (iface->autostart)
mark_interface_down(iface);
interface_handle_config_change(iface);
if (iface->autostart)