From owner-freebsd-atm Mon Aug 19 12:46:10 1996 Return-Path: owner-atm Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA06381 for atm-outgoing; Mon, 19 Aug 1996 12:46:10 -0700 (PDT) Received: from mail11.digital.com (mail11.digital.com [192.208.46.10]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id MAA06370 for ; Mon, 19 Aug 1996 12:46:07 -0700 (PDT) Received: from muggsy.lkg.dec.com by mail11.digital.com (8.7.5/UNX 1.2/1.0/WV) id PAA01847; Mon, 19 Aug 1996 15:38:07 -0400 (EDT) Received: from whydos.lkg.dec.com by muggsy.lkg.dec.com (5.65/DEC-Ultrix/4.3) with SMTP id AA26055; Mon, 19 Aug 1996 15:38:04 -0400 Received: from localhost.lkg.dec.com (localhost.lkg.dec.com [127.0.0.1]) by whydos.lkg.dec.com (8.6.12/8.6.12) with SMTP id PAA04105; Mon, 19 Aug 1996 15:42:33 GMT Message-Id: <199608191542.PAA04105@whydos.lkg.dec.com> X-Authentication-Warning: whydos.lkg.dec.com: Host localhost.lkg.dec.com didn't use HELO protocol X-Mailer: exmh version 1.6.5 12/11/95 To: Mark Tinguely Cc: freebsd-atm@freebsd.org Subject: Re: IDT 77201 buffer size opinions wanted In-Reply-To: Your message of "Mon, 19 Aug 1996 12:44:26 EST." <199608191744.MAA12482@plains.nodak.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 19 Aug 1996 15:42:33 +0000 From: Matt Thomas Sender: owner-atm@freebsd.org X-Loop: FreeBSD.org Precedence: bulk FWIW, this is what I'm doing for the ATM driver I'm writing (for a Digital designed ATM card). The card uses 3 buffer sizes, the smallest is for a single cell. The middle is programmable and will set to 256 bytes initially (I may make it larger based on experience). The large size will be 4KB (ie. one page). I plan on using wrapping the buffers in external mbufs. This will require changing the current method of reference counting to the much flexible method used in OSF/1 (the m_ext structure contains a circular queue which contains all external mbufs that reference this data). The driver is merely a data pusher. It has some calls for dealing with setup of VCs but they are very basic. I plan on something like: int (*vc_create)(unsigned vpi, unsigned vci, enum type, vc_token_t *vc_p); int (*vc_set_attr)(vc_token_t vc, vc_attr_t, ...); int (*vc_aal5_transmit)(vc_token_t vc, void *kva, size_t *len, int flags); int (*vc_destroy)(vc_token_t vc); Above the driver will a set of adapter-independent code which handle the CLIP, LANE, and raw character device interface to an adapter, and eventually ATM signalling code. Since the CLIP/LANE drivers really correspond to the ifnet layers, I've created another list for the ATM devices. Initially, I just plan on doing the data movement part and the character cell interface (ie. the minimal amount to device "working"). After that, who knows? Probably CLIP support. -- Matt Thomas Internet: matt@3am-software.com 3am Software Foundry WWW URL: http://www.3am-software.com/bio/matt.html Westford, MA Disclaimer: I disavow all knowledge of this message