Closed yoursunny closed 9 years ago
Diagnostic:
nfd.json
to make go-nfd listen on port 6362socat TCP-LISTEN:6363 SYSTEM:'tee l2r | socat - "TCP:localhost:6362" | tee r2l'
to log communication between application and go-nfd to a fileIt's revealed that the reply Data from go-nfd is:
6 (Data) (size: 440)
7 (Name) (size: 384)
8 (NameComponent) (size: 9) [[localhost]]
8 (NameComponent) (size: 3) [[nfd]]
8 (NameComponent) (size: 3) [[rib]]
8 (NameComponent) (size: 8) [[register]]
8 (NameComponent) (size: 16)
104 (RESERVED_1) (size: 14)
7 (Name) (size: 9)
8 (NameComponent) (size: 1) [[A]]
8 (NameComponent) (size: 4) [[ping]]
108 (RESERVED_1) (size: 1) [[%01]]
8 (NameComponent) (size: 8) [[%00%00%01MUv%22%BD]]
8 (NameComponent) (size: 8) [[%8E%1BV%ED%3BP%EE%A2]]
8 (NameComponent) (size: 49)
22 (SignatureInfo) (size: 47)
27 (SignatureType) (size: 1) [[%01]]
28 (KeyLocator) (size: 42)
7 (Name) (size: 40)
8 (NameComponent) (size: 5) [[hello]]
8 (NameComponent) (size: 3) [[KEY]]
8 (NameComponent) (size: 17) [[ksk-1431635096594]]
8 (NameComponent) (size: 7) [[ID-CERT]]
8 (NameComponent) (size: 260)
23 (SignatureValue) (size: 256) [[%12%F9h%E1%CE%3A%89y%08%B5h%0E%AD5%27%96%27%8D%8A%29%C5%97%CF%0A%F7%8Fd%B3%1CX6%3C%1F%B9%3F%0D%18%EEaz%E88%01pP%A7%89%10%D5%D4%3C%0C6%1E%EC%1D%3A%DC%9DC%D2%19%9B%1D%B1i%C2%D1%5D%7C%C2%91%85%F8%E2%81rF%FC%5C%04R%F4%D6%F0C%92c%9D%18%B3%A5%A6l%3B%2FH%9AqA%28%D2%85%93%A2%8F%DB%95%3B%F4t%D9%1C%F1%3Dt%15%96R%7E%92%D8%0D%F6%3AM%2A8%B2%FAgx%BD%CD%A5%E8v%CD%A3%8B%92%A8JF%12A-%1B%BA%B9%5C%0Cn%D0%10%B3%25%3AC%FE%25%DF%B1r%3AJ%D0%94%06%16%E2%07%C4Z%99%E21%FC%5B%5CA%F1V%E2%8A%8F%2A%C8%BF%A5%B7%21%CB%5BA%CD%15%E8%A27c%05%8F%1AX%DC%96%C9%159cl%03F%B3%28%1F%92%B6%5B%10%28Vn%0D%C7%97%FC%2A%F4%BB%81B%D1%F2%C6%08%C1%FE%FA%25%0C%BE6%BAV%83%E7%05%3D%3A%BA%E2%0E%F8%7E]]
20 (MetaInfo) (size: 0) [[...]]
21 (Content) (size: 9)
101 (RESERVED_1) (size: 7)
102 (RESERVED_1) (size: 1) [[%C8]]
103 (RESERVED_1) (size: 2) [[OK]]
22 (SignatureInfo) (size: 3)
27 (SignatureType) (size: 1) [[%00]]
23 (SignatureValue) (size: 32) [[%D2%B9%A2Y%BD%CC%EF19%D5%9C%C3%D9%BC%EA%F3%CA%D7%D1%80%27%C9%0A%0D%16%9E%F2n%8A%84%C88]]
From rib/register
spec of NFD Management protocol:
If the command succeeds,
in ControlResponse block contains updated ControlParameters:
- Name: Name prefix
- FaceId: nexthop FaceId (not zero)
- Route: route origin
- Cost: route cost
- Flags: inclusive OR of route inheritance flags
- ExpirationPeriod: remaining lifetime (in milliseconds), or omitted if it's Infinity
go-nfd returns empty for
, which violates this protocol.Should be fixed now. I don't have that ndnpingserver on my system, so please verify the fix. Thanks.
On Thu, May 14, 2015 at 7:51 PM, yoursunny notifications@github.com wrote:
Diagnostic:
- change nfd.json to make go-nfd listen on port 6362
- run socat TCP-LISTEN:6363 SYSTEM:'tee l2r | socat - "TCP:localhost:6362" | tee r2l'
- performs the steps above
- inspect l2r and r2l log files with tlvdump
It's revealed that the reply Data from go-nfd is:
6 (Data) (size: 440) 7 (Name) (size: 384) 8 (NameComponent) (size: 9) [[localhost]] 8 (NameComponent) (size: 3) [[nfd]] 8 (NameComponent) (size: 3) [[rib]] 8 (NameComponent) (size: 8) [[register]] 8 (NameComponent) (size: 16) 104 (RESERVED_1) (size: 14) 7 (Name) (size: 9) 8 (NameComponent) (size: 1) [[A]] 8 (NameComponent) (size: 4) [[ping]] 108 (RESERVED_1) (size: 1) [[%01]] 8 (NameComponent) (size: 8) [[%00%00%01MUv%22%BD]] 8 (NameComponent) (size: 8) [[%8E%1BV%ED%3BP%EE%A2]] 8 (NameComponent) (size: 49) 22 (SignatureInfo) (size: 47) 27 (SignatureType) (size: 1) [[%01]] 28 (KeyLocator) (size: 42) 7 (Name) (size: 40) 8 (NameComponent) (size: 5) [[hello]] 8 (NameComponent) (size: 3) [[KEY]] 8 (NameComponent) (size: 17) [[ksk-1431635096594]] 8 (NameComponent) (size: 7) [[ID-CERT]] 8 (NameComponent) (size: 260) 23 (SignatureValue) (size: 256) [[%12%F9h%E1%CE%3A%89y%08%B5h%0E%AD5%27%96%27%8D%8A%29%C5%97%CF%0A%F7%8Fd%B3%1CX6%3C%1F%B9%3F%0D%18%EEaz%E88%01pP%A7%89%10%D5%D4%3C%0C6%1E%EC%1D%3A%DC%9DC%D2%19%9B%1D%B1i%C2%D1%5D%7C%C2%91%85%F8%E2%81rF%FC%5C%04R%F4%D6%F0C%92c%9D%18%B3%A5%A6l%3B%2FH%9AqA%28%D2%85%93%A2%8F%DB%95%3B%F4t%D9%1C%F1%3Dt%15%96R%7E%92%D8%0D%F6%3AM%2A8%B2%FAgx%BD%CD%A5%E8v%CD%A3%8B%92%A8JF%12A-%1B%BA%B9%5C%0Cn%D0%10%B3%25%3AC%FE%25%DF%B1r%3AJ%D0%94%06%16%E2%07%C4Z%99%E21%FC%5B%5CA%F1V%E2%8A%8F%2A%C8%BF%A5%B7%21%CB%5BA%CD%15%E8%A27c%05%8F%1AX%DC%96%C9%159cl%03F%B3%28%1F%92%B6%5B%10%28Vn%0D%C7%97%FC%2A%F4%BB%81B%D1%F2%C6%08%C1%FE%FA%25%0C%BE6%BAV%83%E7%05%3D%3A%BA%E2%0E%F8%7E]] 20 (MetaInfo) (size: 0) [[...]] 21 (Content) (size: 9) 101 (RESERVED_1) (size: 7) 102 (RESERVED_1) (size: 1) [[%C8]] 103 (RESERVED_1) (size: 2) [[OK]] 22 (SignatureInfo) (size: 3) 27 (SignatureType) (size: 1) [[%00]] 23 (SignatureValue) (size: 32) [[%D2%B9%A2Y%BD%CC%EF19%D5%9C%C3%D9%BC%EA%F3%CA%D7%D1%80%27%C9%0A%0D%16%9E%F2n%8A%84%C88]]
The payload is not a valid ControlResponse, as defined in NFD Management protocol, Control Command, Response Format section.
— Reply to this email directly or view it on GitHub https://github.com/go-ndn/nfd/issues/5#issuecomment-102234254.
The scenario is still failing. You should install ndnpingserver
(from ndn-tools repository) and try it yourself.
=== Ping Server /A ===
it is working!
On Fri, May 15, 2015 at 8:54 PM, yoursunny notifications@github.com wrote:
The scenario is still failing. You should install ndnpingserver (from ndn-tools repository) and try it yourself.
— Reply to this email directly or view it on GitHub https://github.com/go-ndn/nfd/issues/5#issuecomment-102569376.
Steps to reproduce:
$HOME/.ndn/client.conf
, writetransport=tcp4://127.0.0.1:6363
ndnpingserver /A
Expected: ndnpingserver registers a prefix on go-nfd, and continues running Actual: