使用QEMU运行LWIP TCP / IP堆栈

时间:2016-06-18 04:19:18

标签: assembly tcp kernel qemu lwip

我在这里有一个简单的类UNIX内核:= http://www.oxkernel.com/download.html

我们尝试添加LWIP TCP / IP堆栈。 我试图在Linux下的QEMU中运行它。

以下是QEMU的命令行:=

emu-system-i386 -fda vmox.img -net nic,model = ne2k_isa -net user -net dump -redir tcp:7777 :: 7777

这会运行并达到TCP堆栈表明它具有连接的程度 成立。但是,它实际上阻止了等待响应。

我尝试在该端口(7777)和主机操作系统上运行一个简单的客户端 我能够捕获数据包。

tcpdump具有以下输出:=

tcpdump -nnxr qemu-vlan0.pcap reading from file qemu-vlan0.pcap, link-type EN10MB (Ethernet) 05:04:20.600573 ARP, Request who-has 10.0.2.15 tell 10.0.2.2, length 28 0x0000: 0001 0800 0604 0001 5255 0a00 0202 0a00 0x0010: 0202 0000 0000 0000 0a00 020f 05:04:26.572629 ARP, Request who-has 10.0.2.15 tell 10.0.2.2, length 28 0x0000: 0001 0800 0604 0001 5255 0a00 0202 0a00 0x0010: 0202 0000 0000 0000 0a00 020f

然而,我们永远不会摆脱建立等待的连接 (它等待信号量完成,这只发生在 有正确的TCP输入。)

我相信ne2000驱动程序没有从网卡获取任何数据。

我有iobase为0xC000,我在每个IRQ上注册了驱动程序 除了PIT IRQ。我仍然没有数据。我甚至打电话给 isr来自计时器并轮询它,我仍然没有数据。

我尝试使用ne2k_pci和ne2k_isa设备,但仍然没有数据。 ne2k驱动程序基于以下代码:=

https://github.com/dreamcat4/lwip/blob/master/contrib/ports/old/ti_c6711/netif/ne2kif.c

有人可以帮帮我吗? 感谢

0 个答案:

没有答案
相关问题