Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Mar 2002 15:35:05 +0530
From:      "Kshitij Gunjikar" <kshitijgunjikar@yahoo.com>
To:        <freebsd-net@freebsd.org>
Subject:   icmp related question  
Message-ID:  <EEEPIOHADNDOEDPNCDHOGEAPCDAA.kshitijgunjikar@yahoo.com>

next in thread | raw e-mail | index | archive | help
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 majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EEEPIOHADNDOEDPNCDHOGEAPCDAA.kshitijgunjikar>