b5b75a7d19
based on the existing net/if_spppsubr.c stuff. While there are completely userland (bpf based) implementations available, those have a vastly larger per packet overhead thus causing major CPU overhead and higher latency. On an i386 base router, running a 486DX at 50MHz my line (768kBit/s downstream) was limited to something (varying) between 10 and 20 kByte/s effective download rate. With this implementation I get full bandwidth (~85kByte/s). This is client side only. Arguably the right way to add full PPPoE support (including server side) would be a variation of the ppp line discipline and appropriate modifications to pppd. I promise every help I can give to anyone doing that - but I needed this realy fast. Besids, on low memory NAT boxes with typically a single PPPoE connection, this implementation is more lightweight than a pppd based one, which nicely fits my needs. |
||
---|---|---|
.. | ||
bpf_filter.c | ||
bpf.c | ||
bpf.h | ||
bpfdesc.h | ||
bsd-comp.c | ||
dlt.h | ||
ethertypes.h | ||
if_arc.h | ||
if_arcsubr.c | ||
if_arp.h | ||
if_atm.h | ||
if_atmsubr.c | ||
if_dl.h | ||
if_ether.h | ||
if_ethersubr.c | ||
if_faith.c | ||
if_fddi.h | ||
if_fddisubr.c | ||
if_gif.c | ||
if_gif.h | ||
if_gre.c | ||
if_gre.h | ||
if_hippi.h | ||
if_hippisubr.c | ||
if_ieee1394.h | ||
if_ieee1394subr.c | ||
if_ieee80211.h | ||
if_llc.h | ||
if_loop.c | ||
if_media.c | ||
if_media.h | ||
if_ppp.c | ||
if_ppp.h | ||
if_pppoe.c | ||
if_pppoe.h | ||
if_pppvar.h | ||
if_sl.c | ||
if_slvar.h | ||
if_sppp.h | ||
if_spppsubr.c | ||
if_stf.c | ||
if_stf.h | ||
if_strip.c | ||
if_stripvar.h | ||
if_token.h | ||
if_tokensubr.c | ||
if_tun.c | ||
if_tun.h | ||
if_types.h | ||
if_vlan.c | ||
if_vlanvar.h | ||
if.c | ||
if.h | ||
Makefile | ||
net_osdep.c | ||
net_osdep.h | ||
netisr_dispatch.h | ||
netisr.h | ||
pfil.c | ||
pfil.h | ||
pfkeyv2.h | ||
ppp_defs.h | ||
ppp_tty.c | ||
ppp-comp.h | ||
ppp-deflate.c | ||
radix.c | ||
radix.h | ||
raw_cb.c | ||
raw_cb.h | ||
raw_usrreq.c | ||
route.c | ||
route.h | ||
rtsock.c | ||
slcompress.c | ||
slcompress.h | ||
slip.h | ||
zlib.c | ||
zlib.h |