Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Feb 2000 13:43:17 -0500
From:      "Yevmenkin, Maksim N, CSCIO" <myevmenkin@att.com>
To:        "'Archie Cobbs'" <archie@whistle.com>, julian@elischer.org
Cc:        dwmalone@maths.tcd.ie, freebsd-current@freebsd.org, freebsd-hackers@freebsd.org
Subject:   RE: NETGRAPH patches (proposal)
Message-ID:  <E598F159668DD311B9C700902799EAF4473399@njb140po01.ems.att.com>

next in thread | raw e-mail | index | archive | help
> From: Archie Cobbs [mailto:archie@whistle.com]
> Julian Elischer writes:
> > > > > It's because all packets sent by this node should 
> have the node's
> > > > > address. If you don't have it then PPPoE cannot send 
> a packet "FROM"
> > > > > thia node, as it has no idea of what this node's address is.
> > > >
> > > > So.. we can have two hooks, one that sets the host address and
> > > > one that doesn't.. :-)
> > > 
> > > In that case can we have one that also sets the 
> destination address
> > > via arp?
> > 
> > Now I think you are talking a separate node that implements 
> > such a protocol.
> 
> Right.. ARP is an IP-specific protocol. Ethernet nodes should have
> no specific knowledge of ARP.
> 

[...]

> This brings up another point.. to really do this correctly we would
> also need a 802.3/802.2 node type that decoded Ethertypes and SNAP
> headers. It would have a "downstream" hook that connected to the
> Ethernet node and also hooks for "ip", "arp", "appletalk", "aarp"
> (AppleTalk's ARP), "ipx", "ipv6", etc.  Also, it could suport
> generic Ethertype hooks having names of the form "0xNNNN".
>
> Probably the raw Ethernet node type should not even know about 802.3
> (the standard 14 byte Ethernet header and the 60 byte minimum packet
> length)..

i think that ethernet driver should be just raw ethernet node. it should not
have any 
specific knowledge about upper levels. these raw nodes connected to another
node
that will perform the same functionality as ``ether_input'' does. i.e. it
will decode
type and send data to the appropriate hook. if the hook is connected - fine,
we
got data and put it to the protocol stack. if not - just drop. so we are
really 
control the system. if we need specific protocol in the stack just load
specific 
node and connect it to the hook. we can use simple name convention for the
hooks (like "ether_0xNNN" where NNN is type) and in this case we do not
have to change ``ether_input'' node.

this looks more and more like STREAMS :). but NETGRAPH do not put
data in the ``envelope'' like STREAMS does.

the only thing that bothers me... how we can marry existing functionality
and NETGRAPH? i vote for NETGRAPH :) it is c00l :) i just like the
idea of connecting raw ethernet device driver with tty level :)

thanks,
emax


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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