Bug #3786
closedInterest with Link not forwarded after same Interest without Link is Nacked or timed out
0%
Description
Case 1
Topology and route:
/a
A ------> B
- A expresses Interest i1
/example/testApp/randomData
without Link object. - A waits for i1 to timeout.
- A delays a short period of time (see below).
- A expresses Interest i2
/example/testApp/randomData
with Link object delegating/example/testApp
to/a
.
Expected: Interest i2 is forwarded to B.
Actual: Interest i2 is not forwarded to B if step3 delay is less than 100ms. The behavior is as expected if step3 delay is greater than 100ms.
Case 2
Topology and route:
/example /a
C <---------- A ------> B
- A expresses Interest i1
/example/testApp/randomData
without Link object; InterestLifetime is set to 1000ms. - i1 is forwarded to C.
- C responds Nack-NoRoute to A.
- A waits for the Nack.
- A delays a short period of time (see below).
- A expresses Interest i2
/example/testApp/randomData
with Link object delegating/example/testApp
to/a
.
Expected: Interest i2 is forwarded to B.
Actual: Interest i2 is forwarded to C if step5 delay is less than 1000ms. The behavior is as expected if step5 delay is greater than 1000ms.
Updated by Junxiao Shi about 8 years ago
- Is duplicate of Feature #3162: PIT: index with forwarding hint added
Updated by Junxiao Shi about 8 years ago
- Subject changed from The logic of processing interest with link after processing the same interest without link is not correct to Interest with Link not forwarded after same Interest without Link is Nacked or timed out
- Description updated (diff)
- Category set to Forwarding
The cause of both cases is the same: the PIT entry for i1 is still alive when i2 arrives at forwarder A, and i2 is mistakenly aggregated into the same PIT entry rather than creating a new PIT entry.
The incorrect PIT aggregation is due to not-yet-implemented #3162 which would give i1 and i2 separate PIT entry.
#3162 itself cannot start until #3333 is either resolved or rejected.