Fixed recv function in the driver to process more than one packet per interrupt.
authorDavid Zhu <yuzhu@cs.berkeley.edu>
Tue, 12 Apr 2011 21:38:42 +0000 (14:38 -0700)
committerDavid Zhu <yuzhu@cs.berkeley.edu>
Mon, 2 Apr 2012 22:03:28 +0000 (15:03 -0700)
commitffe3cc7a08bcbab674ee76f079123d2d79347265
tree7274c28a438a91f0d0fa3e13ee044127aa7c7aca
parent0ac6cf3cb9320f09c6ec81be5719da3883dd72a4
Fixed recv function in the driver to process more than one packet per interrupt.
Also enabled processes to be blocked on a socket by using recvfrom.

UDP sending and receiving of regularly sized packets should work.
There are a bunch of potential issues. Mostly, performance related.
Locking and unlocking using spinlocks for each packet is going to hurt when performance
becomes an issue..
kern/arch/i686/e1000.c
kern/arch/i686/e1000.h
kern/include/kthread.h
kern/include/socket.h
kern/src/kthread.c
kern/src/net/ip.c
kern/src/net/pbuf.c
kern/src/net/udp.c
kern/src/socket.c
tests/udp_test.c