From owner-freebsd-stable Mon Jun 30 15:07:00 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id PAA18576 for stable-outgoing; Mon, 30 Jun 1997 15:07:00 -0700 (PDT) Received: from cs.rice.edu (cs.rice.edu [128.42.1.30]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id PAA18571 for ; Mon, 30 Jun 1997 15:06:55 -0700 (PDT) Received: (from vivek@localhost) by cs.rice.edu (8.8.5/8.7.1) id RAA11429; Mon, 30 Jun 1997 17:06:52 -0500 (CDT) Date: Mon, 30 Jun 1997 17:06:52 -0500 (CDT) From: Vivek Sadananda Pai Message-Id: <199706302206.RAA11429@cs.rice.edu> To: freebsd-stable@FreeBSD.ORG Subject: mbuf external storage Cc: vivek@cs.rice.edu Sender: owner-stable@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Hi, I'm not sure if this is the best list to use, but it seemed to be the closest to which I could actually subscribe. If it's more appropriate somewhere else, please let me know. I'm interested in mbufs with external storage, particularly when that storage is not in the form of mbufs clusters. I've examined the mbuf.h file, and the structure for external storage is: struct m_ext { caddr_t ext_buf; /* start of buffer */ void (*ext_free) /* free routine if not the usual */ __P((caddr_t, u_int)); u_int ext_size; /* size of buffer, for ext_free */ void (*ext_ref) /* add a reference to the ext object */ __P((caddr_t, u_int)); }; I also searched through old mail on this topic, and it seems that this structure used to be a lot richer, with some form of "opaque" argument (ext_arg) that could be used by whatever was allocating/freeing the external memory. Having something like this would be extremely useful in certain scenarios, and I've used it to good effect in Digital Unix. We're examining FreeBSD as a platform for doing some I/O research, and the package we want to port uses this "ext_arg" convention. Does anyone know if there are any plans of (re)including this, or if there's some reason why it was removed? Thanks, Vivek