<div dir="ltr"><div>Dear folks</div><div><br></div><div>It seems that the ControlParameters protobuf definition in <a href="https://github.com/named-data/jndn/blob/4f94d928b85ec41c5163a9393e2a8c17a5143b01/examples/src/net/named_data/jndn/tests/control-parameters-proto.proto#L17-L27">jndn/examples/src/net/named_data/jndn/tests/control-parameters-proto.proto</a> does not match <a href="https://redmine.named-data.net/projects/nfd/wiki/ControlCommand/49">ControlCommand rev49</a>.</div><div><br></div><div>NFD Management protocol predates TLV evolvability guidelines. See <a href="https://redmine.named-data.net/issues/4221#note-4">Feature 4221 note-3</a> for current guidelines on how to process NFD Management protocol messages.</div><div>A complete redesign is scheduled in <a href="https://redmine.named-data.net/issues/4600">Feature 4600</a>, which provides backwards compatibility in management protocol.</div><div><br></div><div>Yours, Junxiao</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 8, 2019 at 11:54 AM Thompson, Jeff <<a href="mailto:jefft0@remap.ucla.edu">jefft0@remap.ucla.edu</a>> wrote:<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 style="overflow-wrap: break-word;">
<div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px">The meaning of “critical type code” is explained here:</div>
<div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px"><a href="https://named-data.net/doc/NDN-packet-spec/current/tlv.html#considerations-for-evolvability-of-tlv-based-encoding" target="_blank">https://named-data.net/doc/NDN-packet-spec/current/tlv.html#considerations-for-evolvability-of-tlv-based-encoding</a></div>
<div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px"><br>
</div>
<div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px">Type code 129 is critical because its least-significant bit is 1. "if the least significant bit of element’s TLV-TYPE number is
<code class="gmail-m_413837026758246462docutils gmail-m_413837026758246462literal gmail-notranslate">1</code>, abort decoding and report an error.” The enforcement of critical type codes was added after jNDN version 0.16.</div>
<div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px"><br>
</div>
<div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px">The application is using the JNDN ProtobufTlv class which uses a protobuf description file to decode TLV. It was decoding a TLV that has type code 129, but the corresponding Protobuf description does not have an field with this “critical" type code, and
 so the decoding is aborted because the application doesn’t know how to handle it.</div>
<div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px"><br></div>
<span id="gmail-m_413837026758246462OLK_SRC_BODY_SECTION" style="">
<div style="color:black;font-family:Calibri;font-size:11pt;text-align:left;border-width:1pt medium medium;border-style:solid none none;border-bottom-color:initial;border-left-color:initial;padding:3pt 0in 0in;border-top-color:rgb(181,196,223);border-right-color:initial">
<span style="font-weight:bold">From: </span>Ndn-interest <<a href="mailto:ndn-interest-bounces@lists.cs.ucla.edu" target="_blank">ndn-interest-bounces@lists.cs.ucla.edu</a>> on behalf of Avakash Bhat via Ndn-interest <<a href="mailto:ndn-interest@lists.cs.ucla.edu" target="_blank">ndn-interest@lists.cs.ucla.edu</a>><br>
<span style="font-weight:bold">Reply-To: </span>Avakash Bhat <<a href="mailto:bhatavakash@gmail.com" target="_blank">bhatavakash@gmail.com</a>><br>
<span style="font-weight:bold">Date: </span>Thursday, July 4, 2019 at 2:35:00<br>
<span style="font-weight:bold">To: </span>"<a href="mailto:ndn-interest@lists.cs.ucla.edu" target="_blank">ndn-interest@lists.cs.ucla.edu</a>" <<a href="mailto:ndn-interest@lists.cs.ucla.edu" target="_blank">ndn-interest@lists.cs.ucla.edu</a>><br>
<span style="font-weight:bold">Subject: </span>[Ndn-interest] jndn Library<br>
</div>
<div style="color:rgb(0,0,0);font-family:Calibri,sans-serif;font-size:14px"><br>
</div>
<br><font face="courier new, monospace">ControlParametersResponseMessage.Builder decodedControlResponse = ControlParametersResponseMessage.newBuilder();<br>ProtobufTlv.decode(decodedControlResponse, encodedControlResponse);<br>ControlParametersResponse controlResponse= decodedControlResponse.getControlResponse();<br><br></font><br></span></div>
</blockquote></div></div>