Subject: Re: Changes to link layer input routines
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Matt Thomas <matt@3am-software.com>
List: tech-net
Date: 05/15/1999 08:26:13
At 03:28 PM 5/14/99 , Jason Thorpe wrote:
>Hi folks...
>
>I have an application which is using a protocol family, which needs to have
>Ethernet headers intact on the packet when it is read by userspace.

Out of curiousity, what protocol?

>Unfortunately, ether_input() and friends are structured such that they assume
>the header has been stripped of (or was never in the front of the packet to
>begin with).  Other protocol input routines do the same thing (e.g.
>token_input(), hippi_input()), while others (e.g. arc_input()) do not.

What about the CRC?  Should it be included as well (possibly as an optional
flag)?  (Think bridging)

>What I'd like to do is make it uniform, and place another function pointer
>in the ifnet structure (*if_input)(struct ifnet *, struct mbuf *).  This
>might have other utility, too, like allowing packet filters/compressors
>or whatever to easily insert themselves into the flow.

When you do this, how about making the xxx_input functions static?

-- 
Matt Thomas               Internet:   matt@3am-software.com
3am Software Foundry      WWW URL:    http://www.3am-software.com/bio/matt/
Sunnyvale, CA             Disclaimer: I avow all knowledge of this message