Project

General

Profile

Actions

Task #1214

closed

Forward Interest according to app-chosen nexthops

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

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

100%

Estimated time:
2.00 h

Description

Allow an "app-chosen nexthops" field in LocalControlHeader attached to an Interest.

This field can contain one or more FaceIds.

When this field is specified and the packet comes from an eligible Face, it is a suggestion to the strategy responsible for the namespace.


Develop a forwarding strategy that recognizes and follows "app-chosen nexthops" when available.

For packets without "app-chosen nexthops" suggestion, it follows to the first nexthop as specified in FIB.


Related issues 1 (0 open1 closed)

Follows NFD - Task #1168: Define LocalControlHeader specificationClosedAlex Afanasyev01/30/2014

Actions
Actions #1

Updated by Junxiao Shi about 10 years ago

Potential design problem:

Should PIT entry, InRecord, OutRecord indicate that app-chosen nexthops have been used?

Forwarding strategy should not be invoked when PIT entry is satisfied, because it's not invoked during Interest processing, and would get confused.

The complication is that a PIT entry may aggregate both downstreams with app-chosen nexthops, and downstreams without this option.

Actions #2

Updated by Alex Afanasyev about 10 years ago

Good question... Having reference to strategy in PIT (or out record) seem to solve the problem, but it also looks like additional overhead...

May be we should update the processing and instead of bypassing the strategy, just use the list of supplied FaceId as a suggested input to the strategy (instead of FIB-based nexthops). Would that be better?

Actions #3

Updated by Junxiao Shi about 10 years ago

When app-chosen nexthops is used, the Interest MUST go to all these nexthops immediately.

Strategy has different behavior: send all, try one by one, or ignore nexthop list completely.

Strategy should not be relied on (and should not be required) to deal with app-chosen nexthops.

Actions #4

Updated by Alex Afanasyev about 10 years ago

We talked yesterday and there is actually a very simple solution to the problem. Bypassing the strategy is actually not a common operation that should work for all possible prefixes, but a special operation that should work at least for the routing daemon.

So. What we have decided is that we require a special strategy to be set for the prefix, and this special strategy would require explicit FaceId in LocalControlHeader in order to do any kind of forwarding. In other words, we not going to have any special treatment for LocalControlHeader, rather we make a separate strategy that known exclusively about the LocalControlHeader. Given this, the Interest processing pipeline gets a little simpler, and the problem you mentioned will not exist anymore.

Actions #5

Updated by Alex Afanasyev about 10 years ago

There is an option to use Faces specified in LocalControlHeader as a suggestion for the strategy. But this still is not necessary and having a special dedicated strategy for dealing with LocalControlHeader-specified faces is enough.

This approach would work for both routing application and traceroute. In traceroute case, the trace server is actually registering a special /trace/ prefix and does (directed) forwarding only within this prefix (e.g., to trace /ndn/edu/ucla, ndn-traceroute will try to send interests to /trace/ndn/edu/ucla, which will be handled entirely by the traceroute daemon).

Actions #6

Updated by Junxiao Shi about 10 years ago

  • Description updated (diff)
  • Due date deleted (01/31/2014)
  • Start date deleted (01/31/2014)
Actions #7

Updated by Junxiao Shi about 10 years ago

  • Status changed from New to In Progress
  • Assignee set to Junxiao Shi
Actions #8

Updated by Junxiao Shi about 10 years ago

  • Status changed from In Progress to Code review
  • % Done changed from 0 to 70
  • Estimated time changed from 4.00 h to 2.00 h
Actions #9

Updated by Junxiao Shi about 10 years ago

  • Status changed from Code review to Closed
  • % Done changed from 70 to 100
Actions

Also available in: Atom PDF