Subject: Re: new driver in -current for BayStack 650 802.11 cards.
To: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
From: None <itojun@iijlab.net>
List: tech-net
Date: 11/05/1999 12:00:31
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <18468.941770771.1@coconut.itojun.org>
Content-Transfer-Encoding: 7bit

>I've just committed my "awi" driver, for the BayStack 650 802.11FH
>wireless network card, which is built around the AMD 79c930 802.11
>controller).

	Thank you very much!  I'll be visiting IETF so I love to use this
	driver!
	To use IPv6 on top of this card, I think:
	- the following patch (for using mbuf cluster), and
	- some code to handle SIO[CD]ADDMULTI (multicast is mandatory on IPv6)
	are necessary .  I don't have the card myself at this moment
	so I couldn't test it.  I'll be able to hack and test it during IETF.

itojun

------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <18468.941770771.2@coconut.itojun.org>
Content-Transfer-Encoding: 7bit

Index: awi.c
===================================================================
RCS file: /cvsroot/kame/kame/netbsd/sys/dev/ic/awi.c,v
retrieving revision 1.1
diff -c -r1.1 awi.c
*** awi.c	1999/11/05 01:41:25	1.1
--- awi.c	1999/11/05 02:59:05
***************
*** 1203,1214 ****
  		} else {
  			MGETHDR(top, M_DONTWAIT, MT_DATA);
  			if (top != 0) {
  				m = top;
  				m->m_pkthdr.rcvif = ifp;
  				m->m_pkthdr.len = 0;
  				m->m_len = 0;
  				
! 				mleft = MHLEN;
  				mptr = mtod(m, u_int8_t *);
  			}
  			for(;;) {
--- 1203,1228 ----
  		} else {
  			MGETHDR(top, M_DONTWAIT, MT_DATA);
  			if (top != 0) {
+ 				if (len >= MINCLSIZE) {
+ 					MCLGET(top, M_DONTWAIT);
+ #if 0
+ 					/*
+ 					 * it's better try to deliver the
+ 					 * packet to upper layer than dropping
+ 					 * it.
+ 					 */
+ 					if ((top->m_flags & M_EXT) == 0) {
+ 						m_free(top);
+ 						top = NULL;
+ 					}
+ #endif
+ 				}
  				m = top;
  				m->m_pkthdr.rcvif = ifp;
  				m->m_pkthdr.len = 0;
  				m->m_len = 0;
  				
! 				mleft = (m->m_flags & M_EXT) ? MCLBYTES : MHLEN;
  				mptr = mtod(m, u_int8_t *);
  			}
  			for(;;) {

------- =_aaaaaaaaaa0--