Kernel Support For PPP over Ethernet

Michal Ostrowski (mostrows@styx.uwaterloo.ca)
Wed, 8 Sep 1999 16:12:50 -0400 (EDT)


I've created several patches which add support for PPP over Ethernet
(RFC 2516) to the Linux kernel. These patches require kernel 2.3.17
and ppp 2.3.9 since they make use of the new ppp channels facilities
in the kernel.


In writing this code , I came across some problems which are probably
worthwhile mentioning here:

In ppp-generic.c , the code makes an assumption that the header length
that will be used will always match the length of the PPP header
(PPP_HDRLEN). The problem with this is that the higher level network
layers account for "dev->hard_header_len" space when allocating and
reserving space in the skb's that they create. When the PPP network
layer passes down an skb to the PPPoE layer, there's no room in the
skb to tack on an ethernet and PPPoE header at the front (and I don't
want to have to make a copy of the skb in order to make space).

The proper way of solving this is to have the PPP network layer not
assume that the header length is PPP_HDRLEN (that is replace
references to PPP_HDRLEN with "dev->hard_header_len", and provide a
means by which a PPP channel can set the hard_header_len.

Aside from this issue, the my code doesn't require any non-trivial
changes to other parts of the kernel.

The code I have is functional though it requires some cleaning up.
Eventually I would like to get it into a state suitable for inclusion
into the kernel source and so comments and suggestions about this code
are appreciated.

The relevant patches and a README can be found at
http://www.math.uwaterloo.ca/~mostrows/pppoe.tgz

Michal Ostrowski
mostrows@styx.uwaterloo.ca

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/