diff --git a/src/netif/ppp/readme.txt b/src/netif/ppp/readme.txt new file mode 100644 index 00000000..5be41b90 --- /dev/null +++ b/src/netif/ppp/readme.txt @@ -0,0 +1,21 @@ +About the PPP code: + +The PPP code is not our "own" code - we just copied it from pppd (http://ppp.samba.org/) and adapted it to lwIP. +Unfortunately, not many here know their way around it too well. Back in 2009, we took the effort to see which +version of pppd our code relates to and we're pretty much on 2.3.11 with some bugs from 2.4.x backported. + +Aside from simple code adaptions, there are some files that are different, however: +- chpms.c/.h are named chap_ms.c/.h in the original pppd 2.3.11 sources +- pap.c/.h are named upap.c/.h in the original pppd 2.3.11 sources +- randm.c is a random generator not included in the original pppd +- magic.c does not use the C library's random functions, but uses randm.c instead +- vj.c/.h is an implementation of the Van Jacobson header compression algorithm adapted to lwIP pbufs, + probably copied from one of the vjcompress.c files from pppd. +- ppp.c, ppp.h and ppp_impl.h contain the adaption from pppd to lwIP. This is the "OS"-dependent part like there + is an implementation for linux, xBSD etc. in the pppd sources. +- ppp_oe.c is Marc Boucher's implementation based on NetBSD's if_pppoe.c + +There is of course potential for bugs in it, but when analyzing of reporting bugs, it is strongly encouraged to +compare the code in question to pppd 2.3.11 (our basis) and newer versions (perhaps it's already fixed?) and to +share this knowledge with us when reporting a bug. +