Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Dec 2000 14:57:43 -0500 (EST)
From:      Bosko Milekic <bmilekic@technokratis.com>
To:        Alfred Perlstein <bright@wintelcom.net>
Cc:        net@FreeBSD.ORG
Subject:   Re: Abusing m_ext for a worthy goal.
Message-ID:  <Pine.BSF.4.21.0012111455380.21878-100000@jehovah.technokratis.com>
In-Reply-To: <Pine.BSF.4.21.0012111223350.21769-100000@jehovah.technokratis.com>

next in thread | previous in thread | raw e-mail | index | archive | help

  Something I forgot in first Email...

On Mon, 11 Dec 2000, Bosko Milekic wrote:

[...]
> 	Actually, your free routine needs to accept the address of the
>   cluster as a first argument, and the optional argument as a second
>   argument. According to your MEXTADD() above, your optional argument will
>   be something called "cm." In your case, what you need to make your
>   optional argument be is the actual mbuf "control" (you can cast it to
>   struct mbuf *). Then, you can call unp_scan() on that mbuf (second
>   argument) and call _MCLFREE() on the first argument, which will
>   effectively be the address of the cluster.

	Don't forget to also, after running _MCLFREE() on the ext_buf, to
  NULL out the control mbuf's ext_buf, and to remove the M_EXT bit from the
  mbuf if you are planning to re-use it. Basically, make sure to clean up
  after yourself after you forcibly free the cluster "manually."

[...]

  Later,
  Bosko Milekic
  bmilekic@technokratis.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?Pine.BSF.4.21.0012111455380.21878-100000>