<div dir="ltr">Hi FRR team,<div><br></div><div>File: <a href="https://github.com/FRRouting/frr/blob/master/isisd/isis_tlvs.c">https://github.com/FRRouting/frr/blob/master/isisd/isis_tlvs.c</a></div><div><br></div><div>In unpack_item_ext_subtlvs() there are few sub-tlvs whose unpacking need to be fixed.<br><br>Basically 2 fixes are required:<br>1. Default length of sub-tlvs are not correct<br>2. If length is not as per standard, then pointer has to be advanced to the length value.<br><br>In below example, these 2 fixes are tagged as FIXME#1 and FIXME#2<br><br>For example:<br>unpack_item_ext_subtlvs() {<br>. . .<br>. . .<br>    case ISIS_SUBTLV_MM_DELAY:<br>        if (subtlv_len != ISIS_SUBTLV_DEF_SIZE) {  // FIXME#1: As per standard this is 8 byte<br>            sbuf_push(log, indent,<br>                     "TLV size does not match expected size for Min/Max Link Delay!\n");<br>                // FIXME#2: Advance the pointer to subtlv_len i.e. uncomment below line and add it in the code<br>                // stream_forward_getp(s, subtlv_len);<br>         }<br>. . .<br>. . .<br>}<br><br>Note: In unpack_item_ext_subtlvs(), there are other "case" as well that needs the same 2 fix<br></div><div><br></div><div>Thanks,</div><div>Himanshu Rai</div></div>