+
+ /*
+ * Check first if the mpls extension header shows a non-zero length.
+ * If the length field is not set then silently verify the checksum
+ * to check if an extension header is present. This is expedient,
+ * however not all implementations set the length field proper.
+ */
+ if (!ext_dp->icmp_length &&
+ in_cksum((const u_short *)&ext_dp->icmp_ext_version_res,
+ plen - ICMP_EXTD_MINLEN, 0)) {
+ return;
+ }
+