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>