First run at integrating LWIP into the tree (again)
[akaros.git] / user / apps / parlib / network_init.c
1 #include <string.h>
2 #include <stdlib.h>
3 #include <sys/types.h>
4 #include <sys/stat.h>
5 #include <fcntl.h>
6 #include <stdio.h>
7 #include <unistd.h>
8
9 #include <lwip/tcpip.h>
10 #include <netif/ethernetif.h>
11
12 int network_init()
13 {
14         printf("Starting up network stack....\n");
15
16         /* Network interface variables */
17         struct ip_addr ipaddr, netmask, gw;
18         struct netif netif;
19         /* Set network address variables */
20
21         IP4_ADDR(&gw, 192,168,0,1);
22         IP4_ADDR(&ipaddr, 192,168,0,2);
23         IP4_ADDR(&netmask, 255,255,255,0);
24
25         tcpip_init(NULL, NULL);
26
27         netif_add(&netif, &ipaddr, &netmask, &gw, NULL, ethernetif_init, ethernet_input);
28         /* ethhw_init() is user-defined */
29         /* use ip_input instead of ethernet_input for non-ethernet hardware */
30         /* (this function is assigned to netif.input and should be called by the hardware driver) */
31
32         netif_set_default(&netif);
33         netif_set_up(&netif);
34
35         printf("Going into a while loop...\n");
36
37         while(1);
38
39 }