Messages in this thread | | | From | Michal Ostrowski <> | Date | Wed, 8 Sep 1999 16:12:50 -0400 (EDT) | Subject | Kernel Support For PPP over Ethernet |
| |
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/
| |