All of lore.kernel.org
 help / color / mirror / Atom feed
* IP over 802.2 with LLC/SNAP
@ 2011-07-27  3:52 Alan Ott
  2011-07-27  5:13 ` Ben Pfaff
  2011-07-27 12:32 ` Alan Cox
  0 siblings, 2 replies; 5+ messages in thread
From: Alan Ott @ 2011-07-27  3:52 UTC (permalink / raw)
  To: linux-kernel, linux-net

Hi,

What I have is a fairly straight-forward question, but takes a little 
background to get there.

I have an ancient computer (Gould 3267) that I'm trying to interface 
with both a Windows computer and an embedded Linux computer over 
UDP/Ethernet. Since the Gould doesn't have any IP support, I have to 
make the IP packet myself. Also, because of the way the Gould's Ethernet 
driver works, sent packets all use the type/length field in the Ethernet 
header to represent the length and therefore are unable to specify that 
the packet contains IP data in the Ethernet header. To get around this, 
I added an 802.2 LLC/SNAP header to my packet[1]. My packet looks good 
in Wireshark, and I have it working well communicating with the Windows 
PC. However, I can't seem to get Linux to recognize the packet as IP, 
and thus I am unable to receive it using the normal socket interface on 
the Linux system.

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.

I put a sample capture file of the packets I'm sending at [2] for those 
interested.

Alan.

[1] So the packet looks like this:
  Ethernet Header
  LLC/SNAP header
  IP Header
  UDP Header
  data

[2] www.signal11.us/~alan/testraw.pcap

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: IP over 802.2 with LLC/SNAP
  2011-07-27  3:52 IP over 802.2 with LLC/SNAP Alan Ott
@ 2011-07-27  5:13 ` Ben Pfaff
  2011-07-27 12:32 ` Alan Cox
  1 sibling, 0 replies; 5+ messages in thread
From: Ben Pfaff @ 2011-07-27  5:13 UTC (permalink / raw)
  To: Alan Ott; +Cc: linux-kernel, linux-net

[I'm not sure that linux-net is an active list, are you looking
for netdev@vger.kernel.org?]

Alan Ott <alan@signal11.us> writes:

> So the question is, does Linux support IP over 802.2 with
> LLC/SNAP? 

No, I don't think that it does.  I tested this perhaps a year
ago, out of curiosity as much as anything else, and could not
find a way to make it work.

> Is there a sysfs/proc entry that I have to turn on to make this
> work (I didn't find one)?

I did not find one at the time.

I did find that one router on my company's network (I think it
was a Cisco) transformed the 802.2 LLC/SNAP headers into Ethernet
II headers as packets passed through it, which effectively acted
as a gateway to allow Linux to talk IP over 802.2 LLC/SNAP.  But
I don't think that it translated in the other direction.
-- 
Ben Pfaff 
http://benpfaff.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: IP over 802.2 with LLC/SNAP
  2011-07-27  3:52 IP over 802.2 with LLC/SNAP Alan Ott
  2011-07-27  5:13 ` Ben Pfaff
@ 2011-07-27 12:32 ` Alan Cox
  2011-07-27 16:26   ` Rick Jones
  2011-07-29 18:42   ` Alan Ott
  1 sibling, 2 replies; 5+ messages in thread
From: Alan Cox @ 2011-07-27 12:32 UTC (permalink / raw)
  To: Alan Ott; +Cc: linux-kernel, linux-net, netdev

> 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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: IP over 802.2 with LLC/SNAP
  2011-07-27 12:32 ` Alan Cox
@ 2011-07-27 16:26   ` Rick Jones
  2011-07-29 18:42   ` Alan Ott
  1 sibling, 0 replies; 5+ messages in thread
From: Rick Jones @ 2011-07-27 16:26 UTC (permalink / raw)
  To: Alan Cox; +Cc: Alan Ott, linux-kernel, linux-net, netdev

On 07/27/2011 05:32 AM, Alan Cox wrote:
>> 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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: IP over 802.2 with LLC/SNAP
  2011-07-27 12:32 ` Alan Cox
  2011-07-27 16:26   ` Rick Jones
@ 2011-07-29 18:42   ` Alan Ott
  1 sibling, 0 replies; 5+ messages in thread
From: Alan Ott @ 2011-07-29 18:42 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-kernel, netdev

On 07/27/2011 08:32 AM, Alan Cox wrote:
>> 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.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-07-29 18:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-27  3:52 IP over 802.2 with LLC/SNAP Alan Ott
2011-07-27  5:13 ` Ben Pfaff
2011-07-27 12:32 ` Alan Cox
2011-07-27 16:26   ` Rick Jones
2011-07-29 18:42   ` Alan Ott

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.