<div><font>Hello, Xinyu</font></div><div>The new issue is openned, https://github.com/named-data/YaNFD/issues/43</div><div><includetail><div> </div><div>BR.</div><div><br></div><div>GuangYu Hao</div><div style="font:Verdana normal 14px;color:#000;"><div style="FONT-SIZE: 12px;FONT-FAMILY: Arial Narrow;padding:2px 0 2px 0;">------------------ Original ------------------</div><div style="FONT-SIZE: 12px;background:#efefef;padding:8px;"><div id="menu_sender"><b>From: </b> "XINYU MA"<ma.xinyu.26a@kyoto-u.jp>;</div><div><b>Date: </b> Mon, Sep 26, 2022 04:29 PM</div><div><b>To: </b> "郝广宇"<haoguangyu@chorustek.com>; <wbr></div><div><b>Cc: </b> "nfd-dev"<nfd-dev@lists.cs.ucla.edu>; <wbr></div><div><b>Subject: </b> Re: [Nfd-dev] YaNFD cannot create TCP face</div></div><div> </div><div style="position:relative;"><div id="tmpcontent_res"></div><div dir="ltr"><div dir="ltr">Hello, Guangyu,<div><br></div><div>Thank you for the report.</div><div>The reason seems to be the remote YaNFD side. The TCP listener considers the remote URI of the new face as an UDP face (with RemoteURI=udp4://XX:6363, LocalUI=tcp4://XX:6363), and thus it is unable to maintain the connection.</div><div>I will investigate this problem but I'm not sure when I can fix it. If you are willing to, please open an issue on <a href="https://github.com/named-data/YaNFD/issues">GitHub</a>.</div><div><br></div><div>Best regards,</div><div>Xinyu Ma.</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2022年9月26日(月) 0:05 郝广宇 <<a href="mailto:haoguangyu@chorustek.com">haoguangyu@chorustek.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><font><div>Hello,</div><div>We get the error when create the remote face between yanfd and yanfd, the following is the info about the error.</div><div><br></div><div>from the intranet:</div><div>nfdc face create remote tcp://<a href="http://120.53.13.74:6363" target="_blank">120.53.13.74:6363</a></div><div>Error 406 when creating face: Transport error</div></font></div><div><font><br></font></div><div><font>the remote yanfd log:</font></div><div><u></u><div>WARN[0481] [FaceMgmt] Unable to create unicast TCP face with URI tcp4://120.53.13.74:6363:Unable to connect to remote endpoint: dial tcp4 :6363-><a href="http://120.53.13.74:6363" target="_blank">120.53.13.74:6363</a>: bind: address already in use</div><div><br></div><div>Thanks a lot.</div><div><br></div><div>Guangyu Hao </div><div><br></div><div style="color:rgb(0,0,0)"><div style="font-size:12px;font-family:"Arial Narrow";padding:2px 0px">------------------ Original ------------------</div><div style="font-size:12px;background:rgb(239,239,239);padding:8px"><div id="m_6631463279355253381menu_sender"><b>From: </b> "XINYU MA"<<a href="mailto:ma.xinyu.26a@kyoto-u.jp" target="_blank">ma.xinyu.26a@kyoto-u.jp</a>>;</div><div><b>Date: </b> Thu, Sep 22, 2022 04:22 PM</div><div><b>To: </b> "郝广宇"<<a href="mailto:haoguangyu@chorustek.com" target="_blank">haoguangyu@chorustek.com</a>>; </div><div><b>Cc: </b> "nfd-dev"<<a href="mailto:nfd-dev@lists.cs.ucla.edu" target="_blank">nfd-dev@lists.cs.ucla.edu</a>>; </div><div><b>Subject: </b> Re: [Nfd-dev] YaNFD cannot create TCP face</div></div><div> </div><div><div id="m_6631463279355253381tmpcontent_res"></div><div dir="ltr"><div dir="ltr"><div dir="ltr">Hello,<div>Thank you for reporting this bug.</div><div>It should be fixed by <a href="https://github.com/named-data/YaNFD/commit/f7767468f3d4540e468bc0bd5a195066eb2a20d4" target="_blank">https://github.com/named-data/YaNFD/commit/f7767468f3d4540e468bc0bd5a195066eb2a20d4</a></div><div>Best wishes,</div><div>Xinyu Ma.</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2022年9月21日(水) 3:00 郝广宇 <<a href="mailto:haoguangyu@chorustek.com" target="_blank">haoguangyu@chorustek.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div>I have a YaNFD issue of that failed with "nfdc face create remote tcp4://X.X.X.X:6363", I read the source code that not tcp supported, the following is the code.</div><div>No case of tcpURI? </div><div><br></div><div>// Canonize attempts to canonize the URI, if not already canonical.</div><div>func (u *URI) Canonize() error {</div><div> switch u.uriType {</div><div> case devURI, fdURI:</div><div>  // Nothing to do to canonize these</div><div> case ethernetURI:</div><div>  mac, err := net.ParseMAC(strings.Trim(u.path, "[]"))</div><div>  if err != nil {</div><div>   return core.ErrNotCanonical</div><div>  }</div><div>  u.scheme = "ether"</div><div>  u.path = mac.String()</div><div>  u.port = 0</div><div> case udpURI:</div><div>  path := u.path</div><div>  zone := ""</div><div>  if strings.Contains(u.path, "%") {</div><div>   // Has zone, so separate out</div><div>   path = u.PathHost()</div><div>   zone = "%" + u.PathZone()</div><div>  }</div><div>  ip := net.ParseIP(strings.Trim(path, "[]"))</div><div>  if ip == nil {</div><div>   // Resolve DNS</div><div>   resolvedIPs, err := net.LookupHost(path)</div><div>   if err != nil || len(resolvedIPs) == 0 {</div><div>    return core.ErrNotCanonical</div><div>   }</div><div>   ip = net.ParseIP(resolvedIPs[0])</div><div>   if ip == nil {</div><div>    return core.ErrNotCanonical</div><div>   }</div><div>  }</div><div><br></div><div>  if ip.To4() != nil {</div><div>   u.scheme = "udp4"</div><div>   u.path = ip.String() + zone</div><div>  } else if ip.To16() != nil {</div><div>   u.scheme = "udp6"</div><div>   u.path = ip.String() + zone</div><div>  } else {</div><div>   return core.ErrNotCanonical</div><div>  }</div><div> case unixURI:</div><div>  u.scheme = "unix"</div><div>  testPath := "/" + u.path</div><div>  if runtime.GOOS == "windows" {</div><div>   testPath = u.path</div><div>  }</div><div>  fileInfo, err := os.Stat(testPath)</div><div>  if err != nil && !os.IsNotExist(err) {</div><div>   // File couldn't be opened, but not just because it doesn't exist</div><div>   return core.ErrNotCanonical</div><div>  } else if err == nil && fileInfo.IsDir() {</div><div>   // File is a directory</div><div>   return core.ErrNotCanonical</div><div>  }</div><div>  u.port = 0</div><div> default:</div><div>  return core.ErrNotCanonical</div><div> }</div><div><br></div><div> return nil</div><div>}</div></div>
_______________________________________________<br>
Nfd-dev mailing list<br>
<a href="mailto:Nfd-dev@lists.cs.ucla.edu" target="_blank">Nfd-dev@lists.cs.ucla.edu</a><br>
<a href="https://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev" rel="noreferrer" target="_blank">https://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev</a><br>
</blockquote></div>

</div></div><u></u></div></blockquote></div>

</div></div><!--<![endif]--></includetail></div>