X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=geekos%2Fsrc%2Fgeekos%2Fnet.c;fp=geekos%2Fsrc%2Fgeekos%2Fnet.c;h=0d28088f045ea0a964538ce260322648c6e5f20f;hp=0000000000000000000000000000000000000000;hb=ddc16b0737cf58f7aa90a69c6652cdf4090aec51;hpb=626595465a2c6987606a6bc697df65130ad8c2d3 diff --git a/geekos/src/geekos/net.c b/geekos/src/geekos/net.c new file mode 100644 index 0000000..0d28088 --- /dev/null +++ b/geekos/src/geekos/net.c @@ -0,0 +1,108 @@ +/* (c) 2008, Jack Lange */ +/* (c) 2008, The V3VEE Project */ + + +#include +#include +#include + +#include + +#ifdef LWIP + +#include +#include +#include +#include +#include +#include +#include + +#include + + +static void +tcpip_init_done(void *arg) +{ + sys_sem_t *sem; + sem = arg; + sys_sem_signal(*sem); +} + +#endif + +void Init_Network() { + + //temporay now we are using lwip sockets + // init_socket_layer(); + +#ifdef LWIP + + struct ip_addr ipaddr, netmask, gateway; + sys_sem_t sem; + err_t err; + + sem = sys_sem_new(0); + +#ifdef LWIP_DEBUG + PrintBoth("lwIP: before tcpip_init\n"); +#endif + + tcpip_init(tcpip_init_done, &sem); //initial the whole lwip module + +#ifdef LWIP_DEBUG + PrintBoth("lwIP: After tcpip_init\n"); +#endif + + sys_sem_wait(sem); + sys_sem_free(sem); + + IP4_ADDR(&gateway, 192,168,1,1); + IP4_ADDR(&ipaddr, 192,168,1,2); + IP4_ADDR(&netmask, 255,255,255,0); + + + err = netifapi_netif_add(&ne2kif, &ipaddr, &netmask, &gateway, + NULL, ne2kif_init, ethernet_input); + + if (err != ERR_OK){ + PrintBoth("lwip: initial network failed! add netif error %d/n", err); + return; + } + + netifapi_netif_set_default(&ne2kif); + + //initial a network application + ping_init(); + +#endif + +} + + + + +#if 0 +void test_network() { + + uchar_t local_addr[4]; + uchar_t remote_addr[4]; + + local_addr[0] = 10; + local_addr[1] = 0; + local_addr[2] = 2; + local_addr[3] = 21; + +// set_ip_addr(local_addr); + + remote_addr[0] = 10; + remote_addr[1] = 0; + remote_addr[2] = 2; + remote_addr[3] = 20; + + + // connect(remote_addr, 4301); + +} + +#endif