
Cheewei, 3) There are several possibilities: a) The ETHsrc and ETHdst entries in the cache refer to the addresses to be put on the packet. If the ETHdst address does not match the computer to receive the packet the ping might not be recorded. b) There might not be any microengines servicing the ports. What are the XMT_UE_BASE, XMT_CTX values in Libixprouter/common/src/config.h Note that the fact that for each packet the SA reads and writes the packet means that the microengines are missing in the cache. Are you really sure that the packets were forwarded? (Did you see them in a tcpdump on the receiving machine?) If you turn on debugging on the RCV and XMT microengines (change the value of the _DEBUG to 1 on the first line in rcv.uc, ipmm.uc, and xmt.uc) what do you see per packet? 4) I don't quite understand the question. It is possible to change the algorithm by which the transmit thread decides which queue to service, but by default the first queue with a packet in it is serviced. Is this what you meant? Or did you refer to the layout in memory? I hope this helps somewhat. More questions are always welcome. Zuki -- Yitzchak Gottlieb zuki@CS.Princeton.EDU On Thu, 31 Jan 2002, Tan Chee Wei wrote:
Hallo,
There are a couple of problems and questions which I have while evaluating Vera's software and reading the Princeton papers. I appreciate advice. <----- SNIP ------> 3)Say, I have a simple receiver and sender set-up 10.60.0.38--->[Port 1]Vera[Port 0]--->192.168.133.147
My routing cache's content is : {"10.60.0.38", "192.168.133.147", "00:80:C7:F6:3A:BB", "00:E0:29:00:8C:AE",0x00} "192.168.133.147", "10.60.0.38", "00:E0:29:00:8C:AE", "00:80:C7:F6:3A:BB",0x01}
It seems that my ping packets got forwarded but the acknowledgement did not come back. Then, I used a traffic generator and it could be observed that IP packets get forwarded by IXP1200 as normal but did not get transmitted out of the port. The uengines were polling the sa queue. For each packet, they did the ipmm_packet_read:Reading 64 (out of 64) bytes...at say address 0x00284400 and ended with ipmm_packet_write to the same address 0x00284400. Also, packets could only be transmitted out at port 0 using the command keys at the minicom but not port 1. how could I make my ping work ?
4) Each port has 16 queues. How are they organized ? ie. starting from which address ?
Thank You very much and kind regards, cheewei