Project

General

Profile

Actions

Task #3081

closed

Transition ForwarderStatus single packet to GeneralStatus dataset

Added by Junxiao Shi over 8 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Low
Assignee:
Category:
Management
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
1.50 h

Description

ForwarderStatus revision 5 changes a single ndn:/localhost/nfd/status packet to a StatusDataset ndn:/localhost/nfd/status/general.

To temporarily maintain backwards compatibility, this task is to modify management so that Interest ndn:/localhost/nfd/status is answered with the first packet of the dataset.


Related issues 5 (2 open3 closed)

Related to NFD - Feature #3027: ForwarderStatus: RouterNameNew

Actions
Related to NFD - Task #3325: Improve FaceDataset and GeneralStatusDataset testsIn Progress

Actions
Blocked by NFD - Task #2107: Refactor management systemClosedYanbiao Li

Actions
Blocks NFD - Feature #3379: ForwarderStatus: answer only status/generalClosedJunxiao Shi

Actions
Blocks NFD - Feature #3380: nfd-status: treat ForwarderStatus as a datasetClosedWeiwei Liu

Actions
Actions #1

Updated by Junxiao Shi over 8 years ago

This requirement comes from #3027 note-5, and the backwards compatibility needs to stay for one release only.

There is a circular dependency:

  • The backwards compatibility needs to stay for one release, which means a release must happen before #3081 changes can be reverted.
  • This task is not implementable after #2107, because management dispatcher forbids overlapping handlers. This implies this task must be implemented before #2107 merges, aka " #3081 revert" blocks #2107.
  • No release can happen before #3049 is merged (see #3026 note-14).
  • #3049 is to be implemented together with #3029 (see #3049 note-4).
  • #2107 blocks #3029.

Thus, " #3081 revert" blocks #2107, which blocks #3029+#3049, which blocks any release, which blocks " #3081 revert".

Actions #2

Updated by Junxiao Shi over 8 years ago

Actions #3

Updated by Alex Afanasyev over 8 years ago

Even though Dispatcher doesn't allow overlapping handlers, it still can support this. You just need to have a single handler for more general prefix and perform additional logic inside this handler, which is trivial for status dataset without authorization.

Actions #4

Updated by Junxiao Shi over 8 years ago

You just need to have a single handler for more general prefix and perform additional logic inside this handler

Yes this will work temporarily (until a second dataset/command is added).
It's similar to face query operation.

I forgot this option.

Actions #5

Updated by Junxiao Shi over 8 years ago

  • Blocked by Task #2107: Refactor management system added
Actions #6

Updated by Junxiao Shi over 8 years ago

  • Priority changed from Normal to Low

Despite that RouterName has been reverted, this transition is still necessary, so that we can add more datasets under /localhost/nfd/status in the future.

Actions #7

Updated by Junxiao Shi over 8 years ago

Currently ForwarderStatus puts multiple elements directly under the Content of a Data packet.

In #2107, ForwarderStatus publisher is implemented as a StatusDataset, which causes a problem described in #2107 note-40.

The root cause is the lack of an outer element that wraps these elements, which conflicts with this definition in StatusDataset:

Status information of each entity is represented by a TLV block. Those TLV blocks are concatenated into a BLOB.

The temporary fix is commit:ecbf584299f4ae18d412c669874450b5405aaed4 : it parses ForwarderStatus and appends each element individually to the StatusDataset.
This solution can work, but it's ugly.

We should consider changing protocol to add an outer element that wraps those elements, to make implementation easier.

Actions #8

Updated by Junxiao Shi over 8 years ago

20151008 conference call rejects note-7. Alex thinks it's not a valid argument to change protocols for easier implementation.

Prefix changing will still proceed as planned.

In the future, we should consider changing ndn::mgmt::StatusDatasetContext to better support publishing this.

Actions #9

Updated by Junxiao Shi over 8 years ago

  • Related to Task #3325: Improve FaceDataset and GeneralStatusDataset tests added
Actions #10

Updated by Junxiao Shi over 8 years ago

  • Status changed from New to In Progress
  • Assignee set to Junxiao Shi
  • Estimated time set to 1.50 h
Actions #11

Updated by Junxiao Shi over 8 years ago

  • Blocks Feature #3379: ForwarderStatus: answer only status/general added
Actions #12

Updated by Junxiao Shi over 8 years ago

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

Updated by Junxiao Shi over 8 years ago

  • Blocks Feature #3380: nfd-status: treat ForwarderStatus as a dataset added
Actions #14

Updated by Junxiao Shi over 8 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF