{
struct netif *netif;
static int netifnum = 0;
-
+
+ /* allocate netif structure */
netif = mem_malloc(sizeof(struct netif));
if(netif == NULL) {
+ DEBUGF(NETIF_DEBUG, ("netif_add(): out of memory for netif\n"));
return NULL;
}
+ /* remember netif specific state information data */
netif->state = state;
netif->num = netifnum++;
netif->input = input;
netif_set_addr(netif, ipaddr, netmask, gw);
+ /* call user specified initialization function for netif */
if (init(netif) != ERR_OK) {
mem_free(netif);
return NULL;
}
+ /* add this netif to the list */
netif->next = netif_list;
netif_list = netif;
#if NETIF_DEBUG