From 8613f2a48eff1b45890dc68c538e62a911b2ebe6 Mon Sep 17 00:00:00 2001 From: jani Date: Fri, 7 Mar 2003 10:55:58 +0000 Subject: [PATCH] factor out netif_set_addr so address of netif can be changed --- src/core/netif.c | 15 ++++++++++++--- src/include/lwip/netif.h | 3 +++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/core/netif.c b/src/core/netif.c index 487f8caa..1a43ddb7 100644 --- a/src/core/netif.c +++ b/src/core/netif.c @@ -70,10 +70,9 @@ netif_add(struct ip_addr *ipaddr, struct ip_addr *netmask, netif->state = state; netif->num = netifnum++; netif->input = input; - ip_addr_set(&(netif->ip_addr), ipaddr); - ip_addr_set(&(netif->netmask), netmask); - ip_addr_set(&(netif->gw), gw); + netif_set_addr(netif, ipaddr, netmask, gw); + if (init(netif) != ERR_OK) { mem_free(netif); return NULL; @@ -93,6 +92,16 @@ netif_add(struct ip_addr *ipaddr, struct ip_addr *netmask, #endif /* NETIF_DEBUG */ return netif; } + +void +netif_set_addr(struct netif *netif,struct ip_addr *ipaddr, struct ip_addr *netmask, + struct ip_addr *gw) +{ + netif_set_ipaddr(netif, ipaddr); + netif_set_netmask(netif, netmask); + netif_set_gw(netif, gw); +} + /*-----------------------------------------------------------------------------------*/ void netif_remove(struct netif * netif) { diff --git a/src/include/lwip/netif.h b/src/include/lwip/netif.h index 4bb55f77..8a863089 100644 --- a/src/include/lwip/netif.h +++ b/src/include/lwip/netif.h @@ -116,6 +116,9 @@ struct netif *netif_add(struct ip_addr *ipaddr, struct ip_addr *netmask, err_t (* init)(struct netif *netif), err_t (* input)(struct pbuf *p, struct netif *netif)); +void +netif_set_addr(struct netif *netif,struct ip_addr *ipaddr, struct ip_addr *netmask, + struct ip_addr *gw); void netif_remove(struct netif * netif); /* Returns a network interface given its name. The name is of the form