Bug #2559
Updated by Alex Afanasyev over 9 years ago
While testing MTU and payload size features of ndnSIM and a dummy producer, I came across undesired behaviour. I varied the payload size and in certain situations I just did not receive any reply from the producer. I managed to check the following things: - Payload < MTU - check - OnInterest called in Producer - check - Interest returns data packet in Producer - check - data packet is put to content store on producer (if there is a content store) - check However, the data packet NEVER arrives at the consumer (it is being lost on an intermediate node or on the path for some reason). This bug is hardly noticeable, as it happens in less than 1% of all possible cases - which makes it very hard to debug. I've changed several parameters of the simulation (see attached file), the only thing I could come up with that actually causes this behaviour is: 1. (obviously) the payload size 2. the length of the prefix/interest to request (if you just add one or remove one character, it works) 3. the amount of / (slashes) in the interest name The attached simulation should show the behaviour when you run it with --vis. If you don't want to use the visualizer, use NS_LOG to double check the behaviour (in debug mode of ndnSIM): NS_LOG=ndn.Producer:ndn.Consumer ./waf --run ndn-memory-test --vis Here is some example output from logging: 0s 0 ndn.Consumer:StartApplication() 0s 2 ndn.Producer:StartApplication() 0s 0 ndn.Consumer:SendPacket() 0s 0 ndn.Consumer:SendPacket(): [INFO ] > Interest for 0 0s 0 ndn.Consumer:WillSendOutInterest(): [DEBUG] Trying to add 0 with +0.0ns. already 0 items 0.021488s 2 ndn.Producer:OnInterest(0x10089b0, 0x7f64f000f908) 0.021488s 2 ndn.Producer:OnInterest(): [INFO ] node(2) respodning with Data: /prefix/abcdefghijklmnopqrstuvwxyz/123456789/need/more/somefile.txt/%FE%00 This is it, the request never reaches the consumer.