Project

General

Profile

Actions

Task #1942

closed

NextHopFaceId test scenario

Added by Junxiao Shi about 10 years ago. Updated almost 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Integration Tests
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
6.00 h

Description

Develop an IntegrationTests scenario to test NDNLPv2 NextHopFaceId field.

Topology:

B--A--C

Procedure:

  1. start NFD on A,B,C
  2. on A, create a route for prefix ndn:/P toward B and C, where the cost toward B is lower than the cost toward C
  3. on B, start traffic generator producer on ndn:/P prefix, serving payload "BBBBBBBB"
  4. on C, start traffic generator producer on ndn:/P prefix, serving payload "CCCCCCCC"
  5. on A, execute a consumer to enable NextHopFaceId feature and then express an Interest for ndn:/P/1 without NextHopFaceId tag, expect Data with payload "BBBBBBBB"
  6. on A, execute a consumer to enable NextHopFaceId feature and then express an Interest for ndn:/P/2 tagged NextHopFaceId=faceB, expect Data with payload "BBBBBBBB"
  7. on A, execute a consumer to enable NextHopFaceId feature and then express an Interest for ndn:/P/3 tagged NextHopFaceId=faceC, expect Data with payload "CCCCCCCC"
  8. on A, execute a consumer to enable NextHopFaceId feature and then express an Interest for ndn:/P/4 tagged NextHopFaceId=null-face, expect either a timeout or a Nack
  9. on A, execute a consumer to disable NextHopFaceId feature and then express an Interest for ndn:/P/5 tagged NextHopFaceId=faceC, expect either a timeout or Data with payload "BBBBBBBB"

Files

20161211184844.tgz (702 KB) 20161211184844.tgz integ 3433,3 Junxiao Shi, 12/11/2016 12:47 PM
20161211230354.tgz (739 KB) 20161211230354.tgz integ 3433,5 Junxiao Shi, 12/12/2016 01:37 PM

Related issues 2 (0 open2 closed)

Blocked by NFD - Feature #3731: FaceManager commands: LocalFieldsEnabledClosedEric Newberry

Actions
Blocked by NFD - Feature #3783: Honor NextHopFaceId universallyClosedJunxiao Shi

Actions
Actions #1

Updated by Junxiao Shi almost 10 years ago

  • Description updated (diff)
  • Assignee set to Junxiao Shi

I'll write the design.

After that, this Task needs reassigned for implementation.

Actions #2

Updated by Junxiao Shi about 9 years ago

  • Description updated (diff)
  • Assignee deleted (Junxiao Shi)
  • Target version changed from v0.3 to v0.5
Actions #3

Updated by Eric Newberry over 8 years ago

  • Assignee set to Eric Newberry
Actions #4

Updated by Eric Newberry over 8 years ago

  • Status changed from New to In Progress
Actions #5

Updated by Eric Newberry over 8 years ago

I believe this task may require modifications to ndn-traffic-generator to allow the client to attach local fields to the Interests. Otherwise, I can't think of a way to tag NextHopFaceId.

Actions #6

Updated by Junxiao Shi over 8 years ago

I agree with note-5.

Actions #7

Updated by Eric Newberry over 8 years ago

Should I create a new issue to reference on the ndn-traffic-generator Github page for the patch?

Actions #8

Updated by Junxiao Shi over 8 years ago

Answer to note-7:

You MAY do that.

Actions #9

Updated by Eric Newberry over 8 years ago

I'm still working on this task, but further progress has been delayed until I complete #3074.

Actions #10

Updated by Eric Newberry over 8 years ago

I believe this task will also require Nack processing in ndn-traffic-generator. I'll work on a patch for that.

Actions #11

Updated by Eric Newberry over 8 years ago

It seems that the local fields must be enabled on each connection through a separate management Interest sent before the Interest containing (or not containing) NextHopFaceId. Therefore, ndnping, ndnpeek, and ndn-traffic-generator don't seem to fit this use case.

My current plan is to write a simple consumer in either C++ (compiling it with the integration test suite) or Python (requiring the addition of PyNDN to the integration testing environment). Any thoughts on this or any other suggestions?

Actions #12

Updated by Junxiao Shi over 8 years ago

Reply to note-11:

A consumer using ndn-cxx is better than additional PyNDN dependency, because PyNDN code has not been reviewed by NFD developers.

Actions #13

Updated by Eric Newberry about 8 years ago

I am currently waiting on the refactoring of local fields in NFD management to be completed before making further progress on this task.

Actions #14

Updated by Junxiao Shi about 8 years ago

  • Blocked by Feature #3731: FaceManager commands: LocalFieldsEnabled added
Actions #15

Updated by Junxiao Shi about 8 years ago

I am currently waiting on the refactoring of local fields in NFD management to be completed before making further progress on this task.

Agreed. #3731 changes how "enable NextHopFaceId feature" is performed, and will affect the consumer program in this issue.

Actions #16

Updated by Junxiao Shi about 8 years ago

  • Blocked by Feature #3783: Honor NextHopFaceId universally added
Actions #17

Updated by Junxiao Shi about 8 years ago

  • Subject changed from ClientControlStrategy test scenario to NextHopFaceId test scenario
  • Description updated (diff)

ClientControlStrategy is deprecated in #3783, and NextHopFaceId field is honored universally. Thus, setting strategy step is deleted.

Actions #18

Updated by Eric Newberry almost 8 years ago

I have recently resumed work on this task.

Actions #19

Updated by Eric Newberry almost 8 years ago

  • Status changed from In Progress to Code review
  • % Done changed from 0 to 100
Actions #21

Updated by Junxiao Shi almost 8 years ago

Actions

Also available in: Atom PDF