Project

General

Profile

Bug #4332

"nfdc route add" doesn't create face

Added by Alex Afanasyev over 2 years ago. Updated 4 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Tools
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

On my macOS 10.13:

nfdc route add / udp4://1.1.1.1:6363

expected to create udp4://1.1.1.1:6363 face and register route towards the face

Actual:

✔  17:36 /usr/local/etc/ndn $ nfdc route add / udp4://1.1.1.1:6363
Face not found

History

#1

Updated by Alex Afanasyev over 2 years ago

  • Tracker changed from Task to Bug
#2

Updated by Junxiao Shi over 2 years ago

  • Status changed from New to Rejected

This behavior is by design. The operator must first execute nfdc face create to create the face, then reference an existing face in nfdc route add (you may use remote FaceUri if it's unique, so you don't have to record the FaceId). See #3229-6.

#3

Updated by Alex Afanasyev over 2 years ago

  • Status changed from Rejected to New

What? https://redmine.named-data.net/issues/3866 is referred but there is no motivation recorded. I remember the conversation, but that was about implicit creation during "route show/remove" commands, not add.

I declare that the current "nfdc route add" command is unusable.

I also can state that the current interface is very unfriendly. I have no clue now to get help for specific subcommand and there is no help message.

#4

Updated by Davide Pesavento over 2 years ago

  • Category changed from Management to Tools

Alex Afanasyev wrote:

I declare that the current "nfdc route add" command is unusable.

That seems a bit extreme, why do you say so? We discussed about removing the implicit face creation and there was no objection.

I also can state that the current interface is very unfriendly. I have no clue now to get help for specific subcommand and there is no help message.

I agree that the messages could be more user-friendly.

#5

Updated by Alex Afanasyev over 2 years ago

2017-10-09 call decided to extend nfdc route add to support implicit creation of faces. To support face flags, nfdc route add should support the same optional flags as nfdc face create and in future we need to make sure that optional flags are non-overlapping.

#7

Updated by Davide Pesavento over 2 years ago

  • Start date deleted (10/06/2017)

In any case, there should probably be an option to prevent the automatic creation of the face, i.e. bail out with an error if the FaceUri doesn't match any existing face.

#8

Updated by Junxiao Shi over 2 years ago

Did the conference call consider the arguments given in note-6? If not, this matter should be re-discussed.

there should probably be an option to prevent the automatic creation of the face

Not creating a face should be the default. Creating a face may be behind an argument allow-face-creation. All face creation arguments need to be named and not positional.

#9

Updated by Alex Afanasyev over 2 years ago

Davide Pesavento wrote:

I found the discussion: http://www.lists.cs.ucla.edu/pipermail/nfd-dev/2017-January/002223.html

Now I remember the conversation and my position regarding this issue was the same. I was told (may be I misunderstood, though) that the behavior with implicit face creation would not change for "register" stage. Therefore, I agreed in the end. However, that agreement was under the understanding that users are not introduced a new burden to run two commands or "remember" to type additional command line options.

#10

Updated by Alex Afanasyev over 2 years ago

Junxiao Shi wrote:

Not creating a face should be the default. Creating a face may be behind an argument allow-face-creation. All face creation arguments need to be named and not positional.

I disagree with this. My proposal is exactly the opposite. The default: implicit creation of the face (for nfd route add only). The flag disable-face-create to disable implicit face creation capability when FaceUri is specified. There is no implicit creation when face Id is specified.

#11

Updated by Teng Liang over 2 years ago

What's the status of this issue?

Here is my personal experience on this:
I tried the new commands to connect two NFDs. Specifically, I used the first command nfdc face create udp4://192.168.2.3:6363 to create a face (FaceId = 263), then I used nfdc route add /test 263 to add a route. Note that I tried several times and figured out to use the FaceId when creating a route. Compared to the previous command and tutorial, the new commands are less user-friendly. As a user, I would prefer the deprecated command.

#12

Updated by Junxiao Shi over 2 years ago

I used the first command nfdc face create udp4://192.168.2.3:6363 to create a face (FaceId = 263), then I used nfdc route add /test 263 to add a route.

The second command could also be nfdc route add /test udp4://192.168.2.3:6363, if that remote FaceUri is unique. It’s just that the first command becomes mandatory.

#13

Updated by Davide Pesavento about 2 years ago

  • Target version changed from v0.6 to v0.7
#14

Updated by Davide Pesavento 6 months ago

  • Target version deleted (v0.7)
#15

Updated by Klaus Schneider 4 months ago

I want to upvote this bugreport.

Also available in: Atom PDF