Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Oct 1995 17:26:37 -0700 (PDT)
From:      Julian Elischer <julian@ref.tfs.com>
To:        hackers@freebsd.org
Subject:   Re: generic kernel interfaces (e.g. proto_register)
Message-ID:  <199510140026.RAA09357@ref.tfs.com>

next in thread | raw e-mail | index | archive | help
somehow this conversation ahs drifted off hackers..
but it's exactly the thing that should be on it.

just redirecting it back there

julian

Forwarded message:

> at the bottom end, incoming packets received on an interface.....
> We need an extensible mechanism where a new protocol can
> arrange to get it's packets sent to it
> If we do a good enough job, then maybe even bpf can
> use it (so we don't need to keep adding bpf support to drivers)
>
> I was thinking of the following.. it should be quick enough and 
> extensible enough..
>
> A hash table for finding your protocol for incoming packets..
> (for each supported net type.. e.g ether would have one,
> that is keyed off ETHERTYPE_xxx), and if the packet fails that
> then there is a backup method which is a linked list of 
> 'match' routines.. The reasoning is that common protocols that have a
> well defined ETHERTYPE value (e.g. arp, ip...)
> can make a quick match on the table, but that something
> more complicated such as 802.3 stuff might need to fall through
> to a 802.3 match function which will either 'claim' it
> or allow it to be passed on to the next function to try..
> if it runs out of those then it is dumped.

This sounds ideal, actually.

> going the other way, it should be possible to run ethernet and 802.3
> on the same interface, depending on the target host..
> I'm sure this info can be kept in the routing table, but I don't know 
> if we'd need to send two arp packets out.. one in each type..
> 
> the simple answer is of course a LINK flag indicating the differnce,
> but I don't know if it it's accepted to limit a net to either one or
> the other..

NetWare, UnixWare, VMS, and Ultrix all support multiple protocol types on
an interface.  One place to look might be at multicast, which has to do
a similar thing.

Where has Garrett Wollman been in this discussion?!?


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199510140026.RAA09357>