History log of /haiku/src/add-ons/kernel/network/ppp/shared/libkernelppp/headers/PPPControl.h
Revision Date Author Comments
# e3724c38 04-Jan-2014 mshlyn <linlongzhou@163.com>

PPP: Port to the new stack.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

This is a squash of the 42 commits by @mshlyn, as I couldn't find a
way to break them into logical chunks. I did not include these in the build,
as it appears that they only partially work anyway, and much more cleanup is
still needed. However, this is a huge improvement on what was in the tree
before, which looked horrendous and didn't even compile (as it was designed
for the old stack).

Mostly fixes #812.


# abdb7d1a 10-Oct-2005 Waldemar Kornewald <wkornew@nowhere.fake>

- updated email-address
- removed profiles, ppp_up, and some TODOs
- simplified KPPPReportManager and reports API, KPPPInterface::Up()+Down(), and PPPInterfaceListener (also removed some features from the last one)
- KPPPInterface now sends the last PPP_CONNECTION_REPORT message to every newly registered report receiver
- added net_server to the build, but removed old net_server testing-stuff

all changes are completely untested


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14338 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 484a5f0e 12-Jan-2005 Waldemar Kornewald <wkornew@nowhere.fake>

Fixed some stupid bugs. Added atomic.S (only atomic_xxx64 functions). This will be removed later because Haiku has it built-in.
Added some little functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10691 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e91b7374 27-Dec-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Implemented support for default interface and ConnectOnDemand within core. IPCP will probably need more tweaking, did not have a look at that.
Interface statistics are now maintained.
If I did not forget anything the core stack is now feature-complete.
Only ppp_up must be finished, bugs and hacks found, and modem support added; that's it for R1, I hope.
Everyting untested!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10541 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0cbb739d 20-Dec-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Renamed "Dial" to "Connect" (only modems dial).
Removed DialOnDemand settings key.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10496 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 84b580c4 20-Nov-2004 Waldemar Kornewald <wkornew@nowhere.fake>

DialOnDemand will be handled differently. Instead of setting it manually in the prefs we have one default interface. Still not finished.
Moved ppp_up code to KPPPManager.
Experimenting with IPCP DialOnDemand support.
Many changes I do not remember.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10117 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3f3689bb 01-Jun-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Finished doxygen comments for the PPP API.
Minor changes to simplify PAP authenticator.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7730 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 13013331 19-May-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Added *many* Doxygen comments. More will follow. Documentation is no fun at all, really.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7617 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6ff76cda 03-Apr-2004 Waldemar Kornewald <wkornew@nowhere.fake>

I had nearly forgotten this.
Changed some constants to match our style-guidelines.
Extended settings_tools to support modifying driver_settings/parameter structures (used by DialUpPreflet).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7157 a95241bf-73f2-0310-859d-f6bbb57e9c96


# abf44d1a 02-Mar-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Some changes I did a long time ago. I think this also contains a fix for the last dead-lock I could find.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6857 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5a483e4d 06-Feb-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Fixed a couple of possible dead-locks.
Fixed some minor bugs.
PPPoE: added experimental support for AccessConcentrator and ServiceName settings.
Changed libppp to import strlcat.c from libroot instead of duplicating code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6511 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f9ad2df8 24-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Added profile and interface naming support.
Added 'K' prefix to all kernel classes to resolve naming issue with doxygen.
Began some small doxygen comments.
Minor changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6282 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6cfb4dca 19-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Replaced all printf and spawn_thread functions with their kernel counterparts.
IPCP: changed route initialization a little bit. Still cannot remove default route correctly.
Renamed interface_id to ppp_interface_id.
Some minor changes.
Worked on libppp.a (userland PPP library).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6159 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e7452421 23-Oct-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Mostly fixes and smaller API changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5119 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 92a8026e 02-Oct-2003 Waldemar Kornewald <wkornew@nowhere.fake>

As the netstack has a bug I cannot work on the interface module before this is fixed. So I changed the API of the libkernelppp.a (although, this was planned for a later release).
PPPEncapsulator was removed. PPPProtocol is now a protocol and an encapsulator.
PPPDevice, PPPProtocol, and PPPInterface derive from PPPLayer. This base class simplifies the packet passing process and gives PPPDevice more flexibility as it now can add layers between itself and PPPInterface (which was not possible before). This feature will probably be used by the HDLC framing module.
Also, PPPProtocol will always send to the next layer which might either be another protocol, an encapsulator protocol, or the PPPInterface. No distinction is necessary anymore.

This all reduced the list template usage and made some methods simpler.
With this step I could reduce the size of the libkernelppp.a binary from >200K to 143K.

Now, I will go hunting bugs! :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4928 a95241bf-73f2-0310-859d-f6bbb57e9c96


# de2f76e1 22-Sep-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Moved libkernelppp.a to add-ons/kernel/network/ppp/shared.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4788 a95241bf-73f2-0310-859d-f6bbb57e9c96


# abdb7d1abbf1686ecb8f7132e576d332f6cc01ed 10-Oct-2005 Waldemar Kornewald <wkornew@nowhere.fake>

- updated email-address
- removed profiles, ppp_up, and some TODOs
- simplified KPPPReportManager and reports API, KPPPInterface::Up()+Down(), and PPPInterfaceListener (also removed some features from the last one)
- KPPPInterface now sends the last PPP_CONNECTION_REPORT message to every newly registered report receiver
- added net_server to the build, but removed old net_server testing-stuff

all changes are completely untested


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14338 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 484a5f0ec2a2657494fdb86a2a5d96f3d01f9973 12-Jan-2005 Waldemar Kornewald <wkornew@nowhere.fake>

Fixed some stupid bugs. Added atomic.S (only atomic_xxx64 functions). This will be removed later because Haiku has it built-in.
Added some little functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10691 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e91b73741246bd6859046aac533269726d8c485a 27-Dec-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Implemented support for default interface and ConnectOnDemand within core. IPCP will probably need more tweaking, did not have a look at that.
Interface statistics are now maintained.
If I did not forget anything the core stack is now feature-complete.
Only ppp_up must be finished, bugs and hacks found, and modem support added; that's it for R1, I hope.
Everyting untested!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10541 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0cbb739d3b656a76c5c1249b4d0e76bcba81836c 20-Dec-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Renamed "Dial" to "Connect" (only modems dial).
Removed DialOnDemand settings key.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10496 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 84b580c425e26370792255dbb5e1879250434372 20-Nov-2004 Waldemar Kornewald <wkornew@nowhere.fake>

DialOnDemand will be handled differently. Instead of setting it manually in the prefs we have one default interface. Still not finished.
Moved ppp_up code to KPPPManager.
Experimenting with IPCP DialOnDemand support.
Many changes I do not remember.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10117 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3f3689bb79f1fa6e5bf21e925e17463016c3372e 01-Jun-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Finished doxygen comments for the PPP API.
Minor changes to simplify PAP authenticator.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7730 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 13013331d0ead841705a7f4e458b972c76aee627 19-May-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Added *many* Doxygen comments. More will follow. Documentation is no fun at all, really.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7617 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6ff76cdaf54b79d9dc74b4d47114f19a8955d651 03-Apr-2004 Waldemar Kornewald <wkornew@nowhere.fake>

I had nearly forgotten this.
Changed some constants to match our style-guidelines.
Extended settings_tools to support modifying driver_settings/parameter structures (used by DialUpPreflet).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7157 a95241bf-73f2-0310-859d-f6bbb57e9c96


# abf44d1a2b878b33fcf39a6cf0d0b1625d78edfe 02-Mar-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Some changes I did a long time ago. I think this also contains a fix for the last dead-lock I could find.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6857 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5a483e4d35557e2c0803bc8a8b091beaffdc8d26 06-Feb-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Fixed a couple of possible dead-locks.
Fixed some minor bugs.
PPPoE: added experimental support for AccessConcentrator and ServiceName settings.
Changed libppp to import strlcat.c from libroot instead of duplicating code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6511 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f9ad2df864f15e206e629cc58bc9d4deb2935f12 24-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Added profile and interface naming support.
Added 'K' prefix to all kernel classes to resolve naming issue with doxygen.
Began some small doxygen comments.
Minor changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6282 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6cfb4dcac25af9c27f1b69ea71ba47d12e1c64fb 19-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Replaced all printf and spawn_thread functions with their kernel counterparts.
IPCP: changed route initialization a little bit. Still cannot remove default route correctly.
Renamed interface_id to ppp_interface_id.
Some minor changes.
Worked on libppp.a (userland PPP library).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6159 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e7452421930cdbbd8c549e77bbedbdc52472c78d 23-Oct-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Mostly fixes and smaller API changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5119 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 92a8026e02acf7895727ebda87c3bebacd3fa082 02-Oct-2003 Waldemar Kornewald <wkornew@nowhere.fake>

As the netstack has a bug I cannot work on the interface module before this is fixed. So I changed the API of the libkernelppp.a (although, this was planned for a later release).
PPPEncapsulator was removed. PPPProtocol is now a protocol and an encapsulator.
PPPDevice, PPPProtocol, and PPPInterface derive from PPPLayer. This base class simplifies the packet passing process and gives PPPDevice more flexibility as it now can add layers between itself and PPPInterface (which was not possible before). This feature will probably be used by the HDLC framing module.
Also, PPPProtocol will always send to the next layer which might either be another protocol, an encapsulator protocol, or the PPPInterface. No distinction is necessary anymore.

This all reduced the list template usage and made some methods simpler.
With this step I could reduce the size of the libkernelppp.a binary from >200K to 143K.

Now, I will go hunting bugs! :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4928 a95241bf-73f2-0310-859d-f6bbb57e9c96


# de2f76e1fee624debe0d0af54ae6c9b18e9c1994 22-Sep-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Moved libkernelppp.a to add-ons/kernel/network/ppp/shared.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4788 a95241bf-73f2-0310-859d-f6bbb57e9c96