Re: AppleTalk/EtherTalk in MOL - what works


Subject: Re: AppleTalk/EtherTalk in MOL - what works
From: Benjamin Herrenschmidt (benh@kernel.crashing.org)
Date: Tue Jul 10 2001 - 15:21:05 MDT


>Ben -
>
>Where exactly is the encapsulation done? From what I can tell,
>airport.o loads orinoco.o and hermes.o. Is it possible that the problem
>lies deeper than just the AirPort module?
>
I don't have much infos about the actual 802.11 protocol, and SNAP
encapsulation of ethernet packets. I was mainly concerned with
low level interfacing issues when porting the driver.

The latest driver architecture as it is in my rsync tree is:

 - airport.c & orinoco_cs.c : those 2 files are just stubs that
handle the Apple airport connector or the PCMCIA socket interface.
They setup the proper base addresses & interrupt, all of the real
work is done in orinoco.c

 - orinoco.c : this file contains the core driver code. The actual
packet transfer (and encapsulation/decapsulation) are done in the
tx and rx routine here. Most of the other routines are related to
reading & writing card options

 - hermes.c : this file contains the low-level routines for streaming
data packets in/out of the card & sending commands to the HERMES engine
in it.

If you plan to do some traces & experiments, I beleive the best
place to play will be the rx & tx functions in orinoco.c. You may
want to look a the multicast stuff as it was, I beleive, never
properly tested with airport cards (AppleTalk makes heavy use of
multicast filters). Actually, you may want to try if it works
with promisc mode enabled.

One difference to note between TCP/IP and AppleTalk regarding the
base station is that TCP/IP is decoded, handled & routed by the
base station IP stack (and, AFAIK, is not encapsulated in SNAP
frames), while other protocol are encaspulated and simply
bridged by the station to the ethernet port.

Ben.



This archive was generated by hypermail 2a24 : Tue Jul 10 2001 - 14:26:54 MDT