Now sending IF_CHANGE_CREATE when a new interface appears and IF_CHANGE_UP

only if it's really up.
This commit is contained in:
Martin Mares 1998-06-04 20:30:11 +00:00
parent 236d4eb8ce
commit 620a355a15
2 changed files with 4 additions and 2 deletions

View file

@ -193,7 +193,7 @@ if_dump_all(void)
{ {
struct iface *i; struct iface *i;
debug("Known network interfaces:\n\n"); debug("Known network interfaces:\n");
WALK_LIST(i, iface_list) WALK_LIST(i, iface_list)
if_dump(i); if_dump(i);
debug("\n"); debug("\n");
@ -292,7 +292,8 @@ newif:
memcpy(i, new, sizeof(*i)); memcpy(i, new, sizeof(*i));
i->flags |= IF_UPDATED; i->flags |= IF_UPDATED;
add_tail(&iface_list, &i->n); add_tail(&iface_list, &i->n);
if_notify_change(IF_CHANGE_UP | IF_CHANGE_FLAGS | IF_CHANGE_MTU, NULL, i); if_notify_change(IF_CHANGE_CREATE | ((i->flags & IF_UP) ? IF_CHANGE_UP : 0)
| IF_CHANGE_FLAGS | IF_CHANGE_MTU, NULL, i);
} }
void void

View file

@ -44,6 +44,7 @@ struct iface {
#define IF_CHANGE_DOWN 2 #define IF_CHANGE_DOWN 2
#define IF_CHANGE_FLAGS 4 /* Can be converted to down/up internally */ #define IF_CHANGE_FLAGS 4 /* Can be converted to down/up internally */
#define IF_CHANGE_MTU 8 #define IF_CHANGE_MTU 8
#define IF_CHANGE_CREATE 16 /* Seen this interface for the first time */
void if_init(void); void if_init(void);
void if_dump(struct iface *); void if_dump(struct iface *);