Hi All,
        Hi I'm studying code for ICMP .

 there is a piece of code in icmp_input which just returns when we find the
ICMP packet length lesser than allowed.

        if (icmplen < ICMP_MINLEN) {
                icmpstat.icps_tooshort++;
                goto freeit;
        }
        i = hlen + min(icmplen, ICMP_ADVLENMIN);
        if (m->m_len < i && (m = m_pullup(m, i)) == 0)  {
                icmpstat.icps_tooshort++;
                return;
        }
where #define ICMPADVELMIN (8 + sizeof(struct ip) + 8)
and icmplen = ip->ip_len ;


why the  return? Shouldn't there be a freeing of the msg.i.e call the
m_freem(m) instead of return ?


Can anybody please shed light on this ?

Thanks.

Regards
Kshitij


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to