上 传 者
(-Implement miniport driver in windows.)
pppoe (0, 2003-03-03)
pppoe\CVS (0, 2003-03-03)
pppoe\CVS\Root (55, 2003-03-03)
pppoe\CVS\Repository (7, 2003-03-03)
pppoe\CVS\Entries.Extra (491, 2003-03-03)
pppoe\CVS\Entries (1388, 2003-03-03)
pppoe\adapter.c (1591, 2001-06-27)
pppoe\adapter.h (5331, 2001-06-27)
pppoe\b.bat (7, 2001-06-11)
pppoe\debug.c (807, 2001-06-27)
pppoe\debug.h (828, 2001-06-27)
pppoe\discovery.c (8265, 2001-06-27)
pppoe\discovery.h (757, 2001-06-27)
pppoe\main.c (3157, 2001-06-27)
pppoe\main.h (808, 2001-06-27)
pppoe\makefile (249, 2001-06-11)
pppoe\miniport.c (9957, 2001-06-27)
pppoe\miniport.h (839, 2001-06-27)
pppoe\mtpppoe.dll (1052, 2001-06-11)
pppoe\my.h (649, 2001-06-27)
pppoe\my_string.c (2109, 2001-06-27)
pppoe\my_string.h (783, 2001-06-27)
pppoe\oid.c (22251, 2001-06-27)
pppoe\oid.h (766, 2001-06-27)
pppoe\packet.c (4160, 2001-06-27)
pppoe\packet.h (2243, 2001-06-27)
pppoe\pppoe.c (14809, 2001-06-27)
pppoe\pppoe.h (1032, 2001-06-27)
pppoe\pppoe_miniport.inf (1714, 2001-06-11)
pppoe\pppoe_protocol.inf (3330, 2001-06-11)
pppoe\protocol.c (18637, 2001-06-27)
pppoe\protocol.h (621, 2001-06-27)
pppoe\request.c (7018, 2001-06-27)
pppoe\request.h (922, 2001-06-27)
pppoe\sources (762, 2001-06-11)
pppoe\stepbystep.htm (7338, 2001-06-11)
pppoe\todo (947, 2001-06-11)
pppoe\Win2000_Dll (0, 2003-03-03)
pppoe\Win2000_Dll\CVS (0, 2003-03-03)
Current state of the driver:
Works fine for Windows 2000 and most likely for Windows ***/***Se/Me, but there
are problems in installation which needs to be fixed.
Some tips how to compile this project. We were using MSVC 6.0 for driver, so
we recommend you do the same. Also you need Windows 2000 DDK which can be
downloaded from Microsoft.
It is expected that you are familiar with Windows 2000 driver development and
with network driver design in general. Also knowledge of pppoe itself is
For path conformance it is recommended to put driver in
Also you need to edit sources file, as there is path to VC++ include directory,
which most likely will differ.
To compile driver use 'build' utility from Windows2000 Checked/Free build
There is lot of debug output you can see if you are using WinDbg or similar
utility which intercepts DbgPrint function calls.
To compile notify object dll for Windows 2000 just use the build utility and
everything should work fine (maybe you just need to add include directories
in "sources" file). As you may notice, it is just a little bit changed version
of sfilter example from Windows 2000 DDK.
About driver architecture:
Driver is made as Ndis 4.0 intermediate mode driver. And is layered
between ethernet card drivers and NDISWAN (Microsoft PPP stack).
adapter.c - functions which creates, destroys ADAPT'er objects.
adapter.h - Declares ADAPT(er) structure. Examine passtrough example to
understand meaning of this ADAPT(er) structure. It keeps info about
miniport and protocol who have been binded to this adapter. Also it
keeps current state of pppoe connections. Values who relates to
protocol begin with prefix 'proto'. Those who relate to miniport
those begin with 'mini' and those who to pppoe those begin with 'pppoe'.
Also there are some other structures declared who relates to packet
changes - This file reflects changes between versions.
debug.c - Contains debug print functions. Used for debug output.
debug.h - Declares debug functions and macros.
discovery.c - Contains functions which handles various types of received pppoe
discovery.h - Function declarations for discovery.c
main.c - DriverEntry functions and driver unload handler. Also global variable
main.h - Several global variable declarations.
makefile - Makefile (does nothing)
miniport.c - Contains all functions which miniport should provide to ndis. Also
contains function related to TAPI line/call management.
miniport.h - Function declarations for miniport.c
mtpppoe.dll - Coinstaller dll for windows 2000
my.h - Precompiled header file
my_string.h - Several useful string manipulation functions.
my_string.c - Function declarations for my_string.c
oid.c - Functions which handle various OID's.
oid.h - Declares oid handling function.
packet.c - Packet management utilities. Functions for adding various pppoe tags
to the network packets.
packet.h - PPPoE packet structure, various constants related to the pppoe and
function declarations for packet.c
pppoe.c - Biggest part of the pppoe logic is located there.
pppoe.h - Function declarations for pppoe.c
pppoe_miniport.inf - PPPoE driver miniport inf file.
pppoe_miniport.inf - PPPoE driver protocol inf file.
protocol.c - All functions which should be provided to ndis by protocol driver.
protocol.h - Nothing much... ;)
readme - this file
request.c - Function which dispatches oid's to appropriate handlers and if oid's
complete later, calls appropriate complete handlers.
request.h - Declarations of oid handling functions.
sources - real makefile.
stepbystep.html - Step by step guide how to install pppoe driver on Windows 2000