Re: IP over 802.2 with LLC/SNAP

3 messages, 3 authors, 2011-07-29 · open the first message on its own page

Re: IP over 802.2 with LLC/SNAP

From: Alan Cox <hidden>
Date: 2011-07-27 12:29:10

So the question is, does Linux support IP over 802.2 with LLC/SNAP? Is 
there a sysfs/proc entry that I have to turn on to make this work (I 
didn't find one)? I have the LLC2 module loaded, and I believe my packet 
to be correct, since Windows recognizes it and since Wireshark doesn't 
give any red flags on it. I've been unable to find anything about this 
kind of thing in my searching.
Linux supports LLC/SNAP and various things over it (IPX/Appletalk DDP
etc) but not IP over it, as it's one of those standards bodies driven
bogosities which nobody ever actually deployed.

You are about the first person in the known universe to care 8). Now
there isn't any reason for not supporting it. The receive side is a case
of using register_snap_client() and piping the frames into the IP stack.

The send side could be tackled two ways I can see, one would be to allow
for snap protocols to be set somehow on devices and routes, the other
that might be simply would be to create a 'snapifier' device that added
snap headers then routed the frame via the bound physical device as
802.2 LLC. That way you'd be able to do

	route add gould-relic dev snap0

In both cases you'd need to tackle ARP but that seems to need no
configuration as SNAP requests get SNAP replies, and so on.

It should be a 'simple matter of hacking' and there are example devices
that fiddle with packets and add headers etc you can nick a lot of code
from. I figure if you can write an IP stack for an ancient Gould system
you can probably do that.

The other way is to use the Linux raw packet interfaces, open a raw
socket, push a BPF filter onto it to just get the frames for IP/SNAP and
ARP/SNAP then modify them and feed them to the kernel tun/tap interface.

Alan

Re: IP over 802.2 with LLC/SNAP

From: Rick Jones <hidden>
Date: 2011-07-27 16:26:42

On 07/27/2011 05:32 AM, Alan Cox wrote:
quoted
So the question is, does Linux support IP over 802.2 with LLC/SNAP? Is
there a sysfs/proc entry that I have to turn on to make this work (I
didn't find one)? I have the LLC2 module loaded, and I believe my packet
to be correct, since Windows recognizes it and since Wireshark doesn't
give any red flags on it. I've been unable to find anything about this
kind of thing in my searching.
Linux supports LLC/SNAP and various things over it (IPX/Appletalk DDP
etc) but not IP over it, as it's one of those standards bodies driven
bogosities which nobody ever actually deployed.
Well...  Hewlett-Packard deployed it in the 80's and 90's in MPE and 
HP-UX, HP-UX because until the mid-ish 1990's MPE only spoke 802.2 not 
"Ethernet."  By the late 1990's I think it was gone from HP-UX.

rick jones

Re: IP over 802.2 with LLC/SNAP

From: Alan Ott <hidden>
Date: 2011-07-29 18:42:42

On 07/27/2011 08:32 AM, Alan Cox wrote:
quoted
So the question is, does Linux support IP over 802.2 with LLC/SNAP? 
It should be a 'simple matter of hacking' and there are example devices
that fiddle with packets and add headers etc you can nick a lot of code
from.
That sounds like it could be a fun project actually. It looks like I can
use what net/ipx does as a pattern, at least to get the receive going.
The send sounds a bit trickier but doable. I'll take a look when I get
some time (but it'll be a couple weeks at least).
I figure if you can write an IP stack for an ancient Gould system
you can probably do that.
I haven't written a fully-featured IP stack on the Gould, but it does
handle sending/receiving of UDP, which is what I need for my purposes.
The other way is to use the Linux raw packet interfaces, open a raw
socket, push a BPF filter onto it to just get the frames for IP/SNAP and
ARP/SNAP then modify them and feed them to the kernel tun/tap interface.
Since I just needed to read the one packet on the Linux side, I ended up
just using libpcap to grab the raw packets and parse out the header for
now to get it working.

Thanks for the response and information,

Alan.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help