Date: Tue, 25 Apr 2000 19:29:49 -0700 (PDT) From: Archie Cobbs <archie@whistle.com> To: louie@TransSys.COM (Louis A. Mamakos) Cc: archie@whistle.com (Archie Cobbs), luigi@FreeBSD.ORG, remy@boostworks.com, csg@waterspout.com, pavel@alum.mit.edu, nsayer@sftw.com, julian@elischer.org, freebsd-net@FreeBSD.ORG Subject: Re: Proposal for ethernet, bridging, netgraph Message-ID: <200004260229.TAA56138@bubba.whistle.com> In-Reply-To: <200004260211.WAA61401@whizzo.transsys.com> from "Louis A. Mamakos" at "Apr 25, 2000 10:11:28 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
Louis A. Mamakos writes: > Just a thought while looking at this code - in if_ethersubr.c where > the bpf process has been moved, the same idiom is repeated that > was in the drivers: > > /* Check for a BPF tap */ > if (ifp->if_bpf != NULL) { > struct mbuf m0; > > /* OK because BPF treats the mbuf as read-only */ > m0.m_next = m; > m0.m_data = (char *)eh; > m0.m_len = ETHER_HDR_LEN; > bpf_mtap(ifp, &m0); > } > > Now that mbufs are 256 bytes long, is this getting to be too much data > to stick on the kernel stack? It seems like it's not a problem now, but > this code is now going to be invoked deeper in the stack than before. > > If this code is running at splnet(), then it ought to be safe to just > have a static mbuf laying about for this purpose, rather than allocating > a local on the kernel stack. Good point.. we could just use a struct m_hdr.. and in any case it should be able to be a static variable.. we're at splnet(). -Archie ___________________________________________________________________________ Archie Cobbs * Whistle Communications, Inc. * http://www.whistle.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?200004260229.TAA56138>