1) Imported the good bits from the rp-pppoe-3.8 release. This plugin
was previously based on the 3.3 release.
2) Split apart the plugin from the pppoe-discovery program so that the
plugin could use pppd functions such as error() rather than things
like fprintf() and syslog().
3) Removed the stuff relating to DLPI and BPF, which isn't used on
Linux; this plugin only works on Linux, and Solaris uses something
quite different.
4) Added a PPPoE packet printer.
5) Removed several unused functions.
6) Instead of using bitfields for the 4-bit version and type fields
in PPPoE packet headers, use a single 8-bit field and define macros
to get the version and type fields out. This eliminates any
dependency on how the compiler lays out bitfields.
7) Sundry cleanups, such as removing unnecessary casts.
8) Last but by no means least, removed calls to exit() and die() so
that the plugin doesn't exit, but returns an error where appropriate,
so that the main pppd code can make the decisions about whether to
exit or not. (The plugin still exits if the specified interface is
not a suitable sort of interface.)