<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span style="orphans: 2; text-align: -webkit-auto; widows: 2;">On Jul 30, 2014, at 3:19 PM, Alex Afanasyev <<a href="mailto:alexander.afanasyev@ucla.edu">alexander.afanasyev@ucla.edu</a>> wrote:</span><br><div><br><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">On Jul 30, 2014, at 3:11 PM, Lixia Zhang <<a href="mailto:lixia@CS.UCLA.EDU">lixia@CS.UCLA.EDU</a>> wrote:<br><br><blockquote type="cite">We discussed this issue during today's NFD call but did not reach a concrete conclusion:<br><br>1/ TLV format allows new types to be easily introduced<br><br>2/ However when a new type is introduced, it is almost guaranteed that some node does not recognize it.  What should the node do in this case?<br><br>a) in the current implementation (as I heard form Alex), in certain cases we do drop, in other cases we forward -- decisions embedded in implementation.<br><br>b) IETF current practice is to reserve 2 bits in the type field to define the desired action when running into unrecognized types (commonly it is some combination of (a)forward vs drop, and (b)send an error msg or not)<br><br>Do we want to do the same (reserving 2 bits in the type field)?<br>If so,<br>- this reduces the number of types for 1-byte type to 32<br></blockquote><br>Small correction: to 64 types of each "processing type".<br></div></blockquote><div><br></div><div>I remember we have already used the leftmost bit to indicate whether the TLV is application-specific, so it actually reduces the number of types to 32 if two more bits are used.</div><br><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><blockquote type="cite">- where to put these 2 bits?  since type field is variable length,<span class="Apple-converted-space"> </span><br>the best place would be the last 2 bits, but that means renumbering<br>all the defined types :-(<br></blockquote></div></blockquote><div><br></div><div>I do not see the problem of using the 2nd and 3rd leftmost bits for this purpose. We have already used the leftmost bit to indicate app-specific tlv:</div><div>for 1byte type, 0-127 is NDN-specific, 128-252 is app-specific</div><div>for 3byte type, 253-32767 is NDN-specific, >32768 is app-speicific</div><br><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><blockquote type="cite">- there is also a question of whether we need to reserve 2-bit, or one bit could do (just define forward/drop)<br></blockquote></div></blockquote>I wonder when and what kind of error msg will be sent and what the msg would look like. Should it be a data packet that shares the same name (prefix) as the interest? If so, does that mean applications needs to be able to handle error msg? Moreover, who should sign the error msg and how to verify the err msg?</div><div><br>I think the semantic could be much more simplified if we just define forward/drop.</div><div><br></div><div>Yingdi</div><br></body></html>