hello l4 hackers,
i'm experimenting with ankh and so far failed to successfully ping morpork
from my host machine. it seems that receive() blocks at wait_for_data()
indefinitely. i can see irq activity on displayed on screen but wait_for_data()
does not unblock.
i appreciate any help or ideas...
software version:
l4re revision r63 (2014-02-28)
gcc version 4.8.2
qemu version 1.7.0
qemu command:
qemu -cpu core2duo -m 128 -cdrom ./morpork.iso \
-net nic,vlan=0,macaddr=00:e0:4c:c6:45:f4,model=rtl8139
-net tap,vlan=0,ifname=tap0 -serial stdio
ping command:
arping -i tap0 00:E0:4C:C6:45:F4
output:
[32mankh | Initialized DDELinux 2.6 [0m
[32mankh | <6>net_namespace: 636 bytes [0m
[32mankh | Initializing DDE page cache [0m
[32mankh | ddekit_pci_init [0m
[32mankh | pci bus constructor [0m
[32mankh | PCI: L4 root bridge is device 31ca0 [0m
[32mankh | pci_irq_enable: [36mdev 0x118004 [0m [0m
[32mankh | pci_irq_enable: [36mirq 11, pin 1, devfn 0 [0m [0m
[32mankh | ddekit_pci_irq_enable: [32;1mdevfn 0, pin 0 [0m [0m
[32mankh | ddekit_pci_irq_enable: [32;1ml4vbus_pci_irq_enable() = 11 [0m
[0m
[32mankh | IRQ: set irq type of 11 to 4 [0m
[32mankh | l4dde26_register_rx_callback: [36mNew rx callback @ 0x1000200.
[0m [0m
[32mankh | Softirq daemon starting [0m
[32mankh | init_wq_head [0m
[32mankh | <6>8139cp: 10/100 PCI Ethernet driver v1.3 (Mar 22, 2004) [0m
[32mankh | pci_irq_enable: [36mdev 0x118004 [0m [0m
[32mankh | pci_irq_enable: [36mirq 11, pin 1, devfn 0 [0m [0m
[32mankh | ddekit_pci_irq_enable: [32;1mdevfn 0, pin 0 [0m [0m
[32mankh | ddekit_pci_irq_enable: [32;1ml4vbus_pci_irq_enable() = 11 [0m
[0m
[32mankh | IRQ: set irq type of 11 to 4 [0m
[32mankh | enable_dev: 0 [0m
[32mankh | <6>eth0: RTL-8139C+ at 0x109000, 0x11615cM, IRQ 11 [0m
[32mankh | unimplemented: pci_set_master [0m
[32mankh | <6>pcnet32.c:v1.35 21.Apr.2008 tsbogend(a)alpha.franken.de [0m
[32mankh | <6>Intel(R) PRO/1000 Network Driver - version 7.3.21-k3-NAPI
[0m
[32mankh | <6>Copyright (c) 1999-2006 Intel Corporation. [0m
[32mankh | open_network_devices() [0m
[32mankh | opening lo [0m
[32mankh | <6>device lo entered promiscuous mode [0m
[32mankh | set interface to promiscuous mode. [0m
[32mankh | opening eth0 [0m
[32mankh | <6>device eth0 entered promiscuous mode [0m
[32mankh | set interface to promiscuous mode. [0m
[32mankh | Thread 0x85 for IRQ 11 [0m
[32mankh | <6>eth0: link up, 100Mbps, full-duplex, lpa 0x05E1 [0m
[32mankh | Opened 2 network devices. [0m
[32mankh | lo IRQ: 0x00 MAC: 00:00:00:00:00:00 MTU: 16436 [0m
[32mankh | eth0 IRQ: 0x0B MAC: 00:E0:4C:C6:45:F4 MTU: 1500 [0m
[32mankh | Registered @ registry. [0m
[32mankh | Gooood Morning Ankh-Morpoooooork! TID = 0x5a [0m
[32mankh | Creating session factory. [0m
[32mankh | Configuration:
debug,promisc,device=eth0,shm=shm_morpork,bufsize=16384,phys_mac [0m
[32mankh | Debug mode ON. [0m
[32mankh | Using promiscuous mode. [0m
[32mankh | Device 'eth0' requested. [0m
[32mankh | SHM area 'shm_morpork' requested. [0m
[32mankh | Buffer size: 16384 [0m
[32mankh | Physical MAC requested. [0m
[32mankh | shmc_create: 0 [0m
[32mankh | Created shmc area 'shm_morpork' [0m
[32mankh | Assigning MAC address: 00:E0:4C:C6:45:F4 [0m
[36mmorpork | Using shm area: 'shm_morpork' [0m
[36mmorpork | argv[2] = '16384' [0m
[36mmorpork | My TID = 0x93 [0m
[36mmorpork | Attached shm area 'shm_morpork': 0 [0m
[36mmorpork | add_chunk: area 0x10555c0, name 'tx_ring', size 16420 [0m
[36mmorpork | SND: signal RX 9b, TX 9c [0m
[36mmorpork | buf @ 0x301c, area 0x10555c0 (shm_morpork), size 16420 [0m
[36mmorpork | owner 0, name tx_ring, signal tx_signal [0m
[36mmorpork | head @ 0x103030, lock state 'unlocked', data size 16384 [0m
[36mmorpork | next_rd 0 next_wr 0 filled 0, data @ 0x103051 [0m
[36mmorpork | add_chunk: area 0x10555c0, name 'rx_ring', size 16420 [0m
[36mmorpork | SND: signal RX 9d, TX 9e [0m
[36mmorpork | buf @ 0x3074, area 0x10555c0 (shm_morpork), size 16420 [0m
[36mmorpork | owner 0, name rx_ring, signal rx_signal [0m
[36mmorpork | head @ 0x10707c, lock state 'unlocked', data size 16384 [0m
[36mmorpork | next_rd 0 next_wr 0 filled 0, data @ 0x10709d [0m
[36mmorpork | SEND RB @ 0x3018 RECV RB @ 0x3070 INFO @ 0x30c8 [0m
[32mankh | l4shmc_attach("shm_morpork") = 0 [0m
[32mankh | Shm_chunk::get(0xcf98, "info", 36) [0m
[32mankh | ... = 0xcec8 [0m
[32mankh | RCV: signal RX 9d, TX 9e [0m
[32mankh | RCV: buf size 16420 [0m
[32mankh | buf @ 0xcd3c, area 0xcf98 (shm_morpork), size 16420 [0m
[32mankh | owner 0, name rx_ring, signal rx_signal [0m
[32mankh | head @ 0x16c07c, lock state 'unlocked', data size 16384 [0m
[32mankh | next_rd 0 next_wr 0 filled 0, data @ 0x16c09d [0m
[32mankh | SND: attaching to signal 9e (443000) [0m
[32mankh | buf @ 0x16c07c [0m
[36mmorpork | activated Ankh connection. [0m
[32mankh | xmit thread started, data @ 0xcf38, TID: 0xa0 [0m
[32mankh | RCV: signal RX 9b, TX 9c [0m
[32mankh | RCV: buf size 16420 [0m
[32mankh | buf @ 0xcf04, area 0xcf98 (shm_morpork), size 16420 [0m
[32mankh | owner ffffffff, name tx_ring, signal tx_signal [0m
[32mankh | head @ 0x168030, lock state 'unlocked', data size 16384 [0m
[32mankh | next_rd 0 next_wr 0 filled 0, data @ 0x168051 [0m
[32mankh | RCV: attaching to signal 9b (448000) [0m
[32mankh | 16384 ... 16384 [0m
[36mmorpork | RCV: signal RX 9b, TX 9c [0m
[36mmorpork | RCV: buf size 16420 [0m
[36mmorpork | buf @ 0x3114, area 0x10555c0 (shm_morpork), size 16420 [0m
[36mmorpork | owner 0, name tx_ring, signal tx_signal [0m
[36mmorpork | head @ 0x103030, lock state 'unlocked', data size 16384 [0m
[36mmorpork | next_rd 0 next_wr 0 filled 0, data @ 0x103051 [0m
[36mmorpork | SND: attaching to signal 9c (41c000) [0m
[36mmorpork | buf @ 0x103030 [0m
[36mmorpork | sender: 0x3100 [0m
[36mmorpork | RCV: signal RX 9d, TX 9e [0m
[36mmorpork | RCV: buf size 16420 [0m
[36mmorpork | buf @ 0x317c, area 0x10555c0 (shm_morpork), size 16420 [0m
[36mmorpork | owner 0, name rx_ring, signal rx_signal [0m
[36mmorpork | head @ 0x10707c, lock state 'unlocked', data size 16384 [0m
[36mmorpork | next_rd 0 next_wr 0 filled 0, data @ 0x10709d [0m
[36mmorpork | RCV: attaching to signal 9d (41e000) [0m
[36mmorpork | receiver: 0x3168 [0m
[36mmorpork | Got assigned MAC: 00:E0:4C:C6:45:F4 [0m
[36mmorpork | info @ 0x10b0c8 [0m
[36mmorpork | 00:E0:4C:C6:45:F4 MTU 1500 [0m
[36mmorpork | RX packets: 0 dropped: 0 [0m
[36mmorpork | TX packets: 0 dropped: 0 [0m
[36mmorpork | RX bytes: 0 TX bytes: 0 [0m
[36mmorpork | recv->wait_for_data(); [0m
kind regards,
ayad