From owner-freebsd-atm Wed Nov 12 08:22:05 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id IAA14731 for atm-outgoing; Wed, 12 Nov 1997 08:22:05 -0800 (PST) (envelope-from owner-freebsd-atm) Received: from plains.NoDak.edu (tinguely@plains.NoDak.edu [134.129.111.64]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id IAA14725 for ; Wed, 12 Nov 1997 08:21:59 -0800 (PST) (envelope-from tinguely@plains.NoDak.edu) Received: (from tinguely@localhost) by plains.NoDak.edu (8.8.8/8.8.8) id KAA29115; Wed, 12 Nov 1997 10:21:19 -0600 (CST) Date: Wed, 12 Nov 1997 10:21:19 -0600 (CST) From: Mark Tinguely Message-Id: <199711121621.KAA29115@plains.NoDak.edu> To: aalves@dei.uc.pt Subject: Re: ATM driver & udp stream Cc: freebsd-atm@FreeBSD.ORG Sender: owner-freebsd-atm@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk I did something simular in my IDT NICStAR drive, except I changed the MBUF routine to keep a permanent association between the MBUF and its external data buffer. The MBUF virtual address and also the external data physical address are programmed into the card. Obviously, the external data physical address so that the card can store the information into the buffer and the MBUF virtual address to more quickly link this buffer with the rest of the PDU or to hand the buffer up to the higher protocols. With the permanent association between an MBUF and its external data buffer, I keep a seperate free MBUF link list (stored on m_nextpkt) for MBUF that are not being processed in the stack, nor are programmed in the card for new input. Since these MBUFs can be quickly recycled, I did not want the MBUF routines to break the MBUF to external data association only to re-establish it. This feature also gives me an easy external data to MBUF map function. --mark.