<p>Hi Jeff</p>
<p>DNS is a complex affair that has many details to take care of.<br>
NFD isn't the right place to perform DNS resolution, so we have decided to off-load this operation to the client library.<br>
ndn-cxx provides FaceUri::isCanonical method that determines whether a FaceUri is canonical.<br>
ndn-cxx provides FaceUri::canonize method to perform DNS resolution, and obtain a canonical FaceUri.</p>
<p>Most users shouldn't be affected, because nfdc command line tool will canonize FaceUri before creating face.<br>
NLSR is the only known app that uses faces/create command through ndn-cxx Controller API, and NLSR has been updated.<br>
Apps based on ndn-ccl shouldn't be affected because ndn-ccl API doesn't have a face creation method.</p>
<p>udp and udp4 are not equivalent. udp can be resolved to either udp4 or udp6.<br>
udp://<a href="http://192.0.2.1">192.0.2.1</a> will be canonized as udp4://<a href="http://192.0.2.1:6363">192.0.2.1:6363</a></p>
<p>Yours, Junxiao</p>
<div class="gmail_quote">On Nov 28, 2014 12:45 PM, "Burke, Jeff" <<a href="mailto:jburke@remap.ucla.edu">jburke@remap.ucla.edu</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif">
<div><br>
</div>
<div>Hi Junxiao,</div>
<div><br>
</div>
<div>Thanks.  What's the design rationale for the changes?   (In general, I'd suggest that API updates should include at least a brief statement on
<i>why</i> they're being made.) </div>
<div><br>
</div>
<div>The removal of support for DNS names seems odd from a usability standpoint, and I don't understand why udp and udp4 can't just be considered equivalent. </div>
<div><br>
</div>
<div>Thanks,</div>
<div>Jeff</div>
<div><br>
</div>
<span>
<div style="font-family:Calibri;font-size:11pt;text-align:left;color:black;BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;PADDING-BOTTOM:0in;PADDING-LEFT:0in;PADDING-RIGHT:0in;BORDER-TOP:#b5c4df 1pt solid;BORDER-RIGHT:medium none;PADDING-TOP:3pt">
<span style="font-weight:bold">From: </span>Junxiao Shi <<a href="mailto:shijunxiao@email.arizona.edu" target="_blank">shijunxiao@email.arizona.edu</a>><br>
<span style="font-weight:bold">Date: </span>Thu, 27 Nov 2014 20:59:27 -0700<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:ndn-app@lists.cs.ucla.edu" target="_blank">ndn-app@lists.cs.ucla.edu</a>" <<a href="mailto:ndn-app@lists.cs.ucla.edu" target="_blank">ndn-app@lists.cs.ucla.edu</a>>, "<a href="mailto:ndn-lib@lists.cs.ucla.edu" target="_blank">ndn-lib@lists.cs.ucla.edu</a>"
 <<a href="mailto:ndn-lib@lists.cs.ucla.edu" target="_blank">ndn-lib@lists.cs.ucla.edu</a>>, "<<a href="mailto:nfd-dev@lists.cs.ucla.edu" target="_blank">nfd-dev@lists.cs.ucla.edu</a>>" <<a href="mailto:nfd-dev@lists.cs.ucla.edu" target="_blank">nfd-dev@lists.cs.ucla.edu</a>><br>
<span style="font-weight:bold">Subject: </span>[Ndn-app] NFD faces/create: requires canonical FaceUri<br>
</div>
<div><br>
</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div dir="ltr">Dear folks
<div><br>
</div>
<div>Please be aware of an upcoming NFD Management API change: <b>faces/create command requires canonical FaceUri</b>.</div>
<div>This change will happen no sooner than Dec 04 12:00 UTC.</div>
<div><br>
</div>
<div>A canonical FaceUri for UDP and TCP tunnels should specify either IPv4 or IPv6, have IP address instead of hostname, and contain port number.</div>
<div><br>
</div>
<div>Examples of canonical FaceUri:</div>
<div>
<div>udp4://<a href="http://192.0.2.1:6363" target="_blank">192.0.2.1:6363</a></div>
<div>udp6://[2001:db8::1]:6363</div>
<div>
<div>tcp4://<a href="http://192.0.2.1:6363" target="_blank">192.0.2.1:6363</a></div>
<div>tcp6://[2001:db8::1]:6363</div>
</div>
<div><br>
</div>
<div>Examples of non-canonical FaceUri that will be rejected by faces/create command after the change:</div>
<div>udp://<a href="http://192.0.2.1" target="_blank">192.0.2.1</a></div>
<div>udp://<a href="http://example.net:6363" target="_blank">example.net:6363</a></div>
<div>udp4://<a href="http://example.net:6363" target="_blank">example.net:6363</a></div>
<div>udp6://<a href="http://example.net:6363" target="_blank">example.net:6363</a></div>
<div>tcp://<a href="http://192.0.2.1" target="_blank">192.0.2.1</a><br>
</div>
<div>tcp://<a href="http://example.net:6363" target="_blank">example.net:6363</a></div>
<div>tcp4://<a href="http://example.net:6363" target="_blank">example.net:6363</a></div>
<div>tcp6://<a href="http://example.net:6363" target="_blank">example.net:6363</a></div>
</div>
<div><br>
</div>
<div><b>If you have a library / application that utilizes NFD faces/create command, please canonize the FaceUri before sending the command</b>.<br>
</div>
<div>
<div>Scripts calling nfdc command line tool are unaffected by this change.<br>
</div>
</div>
<div><br>
</div>
<div>Yours, Junxiao</div>
</div>
_______________________________________________ Ndn-app mailing list <a href="mailto:Ndn-app@lists.cs.ucla.edu" target="_blank">
Ndn-app@lists.cs.ucla.edu</a> <a href="http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-app" target="_blank">
http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-app</a> </blockquote>
</span>
</div>

</blockquote></div>