Project

General

Profile

Actions

Bug #1402

closed

getIncomingFaceId doesn't return correct FaceId

Added by Syed Amin about 10 years ago. Updated almost 10 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
03/24/2014
Due date:
% Done:

0%

Estimated time:

Description

With nrd-0.1 (or NRD=1 previously), the incoming faceid of an interest should be 0 for self registration. However, calling getIncomingFaceId returns max of uint64_t.

Commits:
NFD: d8d4d986566403e1b9b58f13129150a54157f82b
NRD: ea56c614fe3065d3eee933c49a916ce48feae399
ndn-cpp-dev: 1c5a1a901e5430768310925e4d34fc270b97b58b

Setup:
(the conf file is same as sample with authorization block commented out).
~$ NFD=1 NRD=1 NFD_LOG=all ./build/nfd

~$ NFD=1 ./build nrd

NRD shows the following messages when producer application is started.
~$ ./build/examples/producer

(Messages from nrd:)
IncomingFaceId: 18446744073709551615
Received options (name, faceid, cost): /localhost/testApp, 18446744073709551615, 0
Error: Face not found

Actions #1

Updated by Alex Afanasyev about 10 years ago

incomingFaceId() will return a meaningful value only when LocalControlFeature is enabled on the face. Given some the ongoing (and hopefully finished by tomorrow) change of management protocol, I believe something is wrong with this enabling.

NRD should check the result of now /localhost/nfd/face/enable-local-control command (http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#Enable-a-LocalControlHeader-feature), and bail out with an error message if enabling failed---if local-control feature is not enabled, NRD cannot function at all.

Actions #2

Updated by Syed Amin about 10 years ago

Alex Afanasyev wrote:

incomingFaceId() will return a meaningful value only when LocalControlFeature is enabled on the face. Given some the ongoing (and hopefully finished by tomorrow) change of management protocol, I believe something is wrong with this enabling.

NRD should check the result of now /localhost/nfd/face/enable-local-control command (http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#Enable-a-LocalControlHeader-feature), and bail out with an error message if enabling failed---if local-control feature is not enabled, NRD cannot function at all.

For enabling local control header (LCH) I used the protocol specs provided previously at:
http://redmine.named-data.net/projects/nfd/wiki/LocalControlHeader

This link suggested to send an interest on "/localhost/nfd/control-header/in-faceid/enable" to enable LCH. That's what NRD does currently. But, as LCH protocol doesn't specify that what to expect if the enabling LCH command is successful, NRD doesn't check the contents of the incoming Data for this interest. However, it does quit if the interest for enabling LCH times out.

Actions #3

Updated by Alex Afanasyev almost 10 years ago

  • Status changed from New to Rejected

This is not a bug. The reason of returning invalid face ID is because control header wasn't properly enabled.

Actions #4

Updated by Junxiao Shi almost 10 years ago

  • Subject changed from getIncomingFacId doesn't return correct FaceId. to getIncomingFaceId doesn't return correct FaceId
  • Description updated (diff)
Actions

Also available in: Atom PDF