* 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.