Project

General

Profile

Actions

Bug #2559

closed

ndnSIM loses ALL data packets when payload size is set to a certain number

Added by Christian Kreuzberger over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
02/25/2015
Due date:
% Done:

0%

Estimated time:

Description

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.


Files

ndn-losing-data.cpp (2.1 KB) ndn-losing-data.cpp Example scenario, run ./waf --run ndn-losing-data --vis Christian Kreuzberger, 02/25/2015 07:29 AM

Related issues 1 (0 open1 closed)

Related to ndn-cxx - Bug #2728: Block::fromStream decode error when TLV-LENGTH equals whitespaceClosedJunxiao Shi04/04/2015

Actions
Actions

Also available in: Atom PDF