#
f31160a6 |
|
15-Jun-2018 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP: properly ack receipt of duplicate packets Managed to find the spirit behind the RFC. Looks like we need to send a ZLB packet with counters as is to the packet (ZLB or not) we previously sent to ack the message. Luckily we don't need more than received NS/NR counters to forge the resent ack. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
738a2fe8 |
|
15-Jun-2018 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP: stop ICCN timeout when receiving ICCN ack Remove spurious and hitless timeout function call once L2TP reach "data" state. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
98008cb1 |
|
15-Jun-2018 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP: use expected peer NS instead of current peer NS We never use the current peer NS value but always the next expected peer NS value (current value plus one). Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
a5651903 |
|
15-Jun-2018 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP: drop unexpected packets from peer Conform a little bit more to the RFC by dropping duplicate received packets. It might help discover Ns sequence issues. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
047c3c65 |
|
14-Jun-2018 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP: take care of Ns/Nr wraparounds It can't be an issue since we only send and receive a few L2TP control packets and we don't care about anything received next other than sending Ack packet. For the sake of correctness properly handle Ns/Nr counters wraparounds, it doesn't add more code anyway. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
5b876060 |
|
14-Jun-2018 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP: wait for ICCN ack before starting PPP L2TP tunnel is really UP only once we received the ICCN Ack packet, generally with a ZLB packet. We actually drop all data packets until we reach the "data" L2TP state, which is a sane thing to do, therefore it makes no sense at all to start the PPP session a bit earlier. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
b9fe13c1 |
|
14-Jun-2018 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP: fix ZLB packets Ns value Our Ns counter is the current slot rather than the next to ease packet retransmission. Therefore we increment the Ns counter before using the next slot instead of after. The RFC is written with post-increment in mind rather than pre-increment, thus when the RFC says that Ns in not incremented for ZLB packets it actually means that ZLB packets are sent with the next Ns without post-incrementing the Ns value, meaning the ZLB packet does not take a slot. Since we are using a pre-incremented value for real slots we need to send ZLB packets with our current Ns value plus one. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
991f7513 |
|
08-Aug-2017 |
goldsimon <goldsimon@gmx.de> |
Even more pbuf_header -> pbuf_add/remove_header replacements (also in strings)
|
#
07434aa7 |
|
08-Aug-2017 |
goldsimon <goldsimon@gmx.de> |
More pbuf_header -> pbuf_add/remove_header replacements
|
#
4171f39a |
|
05-May-2017 |
Sylvain Rochet <gradator@gradator.net> |
PPP: remove ppp_singlebuf We don't have to keep a helper function just for the sake of a PBUF_RAW constant. Inline ppp_singlebuf function. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
f00d7db4 |
|
03-May-2017 |
goldsimon <goldsimon@gmx.de> |
backport of "variable assigned but not used" warnings from STM (why don't people report such things?)
|
#
e16d10ad |
|
08-Mar-2017 |
Sylvain Rochet <gradator@gradator.net> |
PPP: remove unused and confusing return values other than ERR_OK for ppp_connect and ppp_listen User should not use ppp_connect or ppp_listen return value to retry later, it must wait for the callback to be called. This is primarily done this way to have a consistent behavior with and without the holdoff feature. Remove returned error value from PPP link level API connect and listen callbacks because we are not using them anymore, then make ppp_connect or ppp_listen to always return ERR_OK, thus we are not breaking the PPP user API. We don't need the return code here, all PPP link level drivers can't fail at all (e.g. PPPoS) or retry if necessary (PPPoE and PPPoL2TP).
|
#
16877216 |
|
05-Dec-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Fix compile when IPv4 is disabled
|
#
8c3c96ba |
|
22-Nov-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, L2TP: fix PPPOL2TP_AUTH_SUPPORT == 0 support Fix compiler warnings on unused parameters and a function signature mismatch in PPPAPI.
|
#
633696c1 |
|
27-Sep-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Implement consistent IPx_ADDR_ANYx macro naming between IPv4 and IPv6 - rename IP4_ADDR_ANY to IP4_ADDR_ANY4 - IP4_ADDR_ANY (= IP_ADDR_ANY) is now IPv4 any address in ip_addr_t format
|
#
455a4182 |
|
07-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP: cleanup connection state reset Remove unnecessary cleanup at the end of session, cleanup as much as possible in the connect callback instead. It follows what PPPoE is currently doing and it makes everything simpler to read.
|
#
c2a5480a |
|
04-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: remove useless ppp_link_start function This function only set PPP to initialize phase, and it is only called at the very beginning of functions where it is called. It means we could as well set the initialize phase before calling those functions in the PPP core.
|
#
e8d8c5dc |
|
04-Aug-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, L2TP: remove useless L2TP state conditions L2TP state can't be anything else than initial state in pppol2tp_connect, this function is called from PPP core only when PPP is in the dead phase, if PPP is in the dead phase it means the link protocol is dead as well. L2TP can't be anything else than data phase in pppol2tp_xmit, this function is only called by pppol2tp_write and pppol2tp_netif_output which are both called by PPP core only when PPP session is up, if PPP session is UP it means the link protocol is UP as well. L2TP can't be anything else than data phase in pppol2tp_disconnect, this function is only called by PPP core only when PPP session is up, if PPP session is UP it means the link protocol is UP as well.
|
#
f0dbba64 |
|
02-Jul-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoE, PPPoL2TP: enforce disabling of silent and passive modes PPP is just the upper protocol for PPPoE and PPPoL2TP, meaning it is only started once "E" or L2TP is established. Therefore waiting indefinitely for LCP packets on the PPP side does not make sense at all, if the lower level protocol is UP, PPP *MUST* comes up as well or we should restart from the beginning.
|
#
b77fcef1 |
|
26-Jun-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, L2TP: remove unnecessary l2tp->udp null check l2tp->udp can't be null here, pppol2tp_create returns a NULL L2TP PCB if UDP PCB failed to be created. Remove useless null check.
|
#
7b4bd334 |
|
19-Jun-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, rename ppp_clear function to ppp_link_start This function does not clear anything anymore. What it is now is an optional way to notify PPP that link layer is started, changing the PPP state from "dead" to "initialize". Rename it accordingly to what the function really is.
|
#
33fc20cc |
|
08-May-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: use mbed TLS sanitize functions if available mbed TLS offers sanitize functions to zero-ise memory containing cryptographic keys, use them if built with external mbed TLS library.
|
#
3417a02b |
|
08-May-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP: add a function map for hashes and ciphers to prepare for mbed TLS support Unfortunately, all functions were renamed when PolarSSL was renamed to mbed TLS, breaking the API. In order to continue supporting our embedded PolarSSL copy while allowing our users to use mbed TLS, we need a function map to deal with the API break. This commit add a function map for all hashes and ciphers we are currently using.
|
#
2b5250dd |
|
25-Apr-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Fix bug #47507: PPP API does not support LWIP_MPU_COMPATIBLE I'd be glad if someone would test it :-) Sylvain, if you don't like this patch feel free to revert it
|
#
ffa340a6 |
|
25-Apr-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
task #13907: PPP cleanups: Move PPP mempools out of lwIP core to PPP code
|
#
76d25bef |
|
21-Apr-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Work on task #13907 PPP cleanups: Move PPP options from opt.h to dedicated ppp_opts.h file
|
#
2b3db52c |
|
11-Mar-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
pppol2tp.c: Avoid an #ifdef - there is a new UDP API function that can be used here
|
#
953b7bdd |
|
24-Feb-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Implement UDP dual-stack PCB support Create special IP address type "IPADDR_TYPE_ANY" for it. SNMP uses new feature in non-netconn mode. TODO: Same for TCP & RAW, adapt NETCONN to use this feature
|
#
17fad79f |
|
22-Feb-2016 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Two compile fixes after eliminating isipv6 member in PCBs
|
#
c4d78e64 |
|
20-Jan-2016 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP, fix double free of L2TP pcb in pppol2tp_create error path ppp_free() calls the low level protocol destroy function, pppol2tp_destroy() here, which freed the l2tp pcb, followed by pppol2tp_create which also freed the pcb. Fixing it by reordering the L2TP init so we don't have to call ppp_free() anymore. Signed-off-by: Sylvain Rochet <gradator@gradator.net>
|
#
62037370 |
|
12-Nov-2015 |
Dirk Ziegelmeier <dirk@ziegelmeier.net> |
Rename snmp_mib2.h to snmp.h so source compatibility for user netif implementations is preserved
|
#
83cddd89 |
|
18-Sep-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: more const and mixed u_char/char types fixes
|
#
c15b3578 |
|
13-Sep-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, merged ppp_link_set_callbacks() into ppp_new()
|
#
46204a9f |
|
13-Sep-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, reorder initialisation of low level protocols to call ppp_link_set_callbacks() just after PPP control block allocation
|
#
5b07569e |
|
13-Sep-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, remove now unused ioctl callback from link_callbacks structure
|
#
8a0fb03e |
|
08-Sep-2015 |
goldsimon <goldsimon@gmx.de> |
Separate mib2 counter/table callbacks from snmp agent. This both cleans up the code and should allow integration of a 3rd party agent/mib2.
|
#
e8399416 |
|
30-Aug-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, magic, renamed random_bytes() to magic_random_bytes() for API coherency
|
#
fa44cef2 |
|
30-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, L2TP, added configurable L2TP MRU using opt.h
|
#
0a8b1c19 |
|
26-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, added missing cast on pbuf_header()
|
#
0de0942f |
|
22-Apr-2015 |
goldsimon <goldsimon@gmx.de> |
fixed pppol2tp (IP_IS_V6_L -> IP_IS_V6_VAL)
|
#
5e43e2d3 |
|
21-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, L2TP, minor fixes Check tot_len for ZLB instead of len, it might happens we are just between 2 pbuf, although almost impossible. Check buffer is at least 2 byte long before checking address & flags header.
|
#
b302cad4 |
|
19-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, VJ, CCP: rework to fix protocol order We need to do VJ compression before CCP/MPPE compression and VJ decompression after CCP/MPPE decompression. This leads to a massive rewrite of how we currently handled VJ only in the PPPoS lower protocol handler. Moved VJ structures from pppos to ppp_pcb because we need them back in PPP core. This is a bit unfortunate because that's not necessary for PPPoE or PPPoL2TP, but, hey!. Fixed CCP+MPPE+VJ order.
|
#
bc99f75b |
|
12-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP, removed unnecessary single pbuf Removed ppp_singlebuf() in pppol2tp_input(), chained pbuf are perfectly acceptable for IP data and we are currently supporting them perfectly for PPPoS. The PPP stack itself (LCP, IPCP et al.) does not support chained pbuf and is already calling ppp_singlebuf() just before passing packet to the protocol handler. Added ppp_singlebuf() in pppol2tp_dispatch_control_packet() because we do not support chained pbuf in L2TP control packet.
|
#
8a73990f |
|
11-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP, improved pppol2tp_create() error path
|
#
efe229a5 |
|
11-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP, merged pppol2tp_input_ip() to pppol2tp_input() We don't need anymore an input function for ip4 and an input function for ip6, work to achieve that was partially done by ce7e31cd. pppol2tp_input() is now only called by pppol2tp_input_ip(), finishing dual stack support by merging pppol2tp_input_ip() into pppol2tp_input().
|
#
d6fdf7d4 |
|
11-Apr-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP, switched to dual stack IPv4/IPv6 Replaced ip4_addr_t to ip_addr_t in pppapi_pppol2tp_create() prototype, now binding to UDPv6 or UDPv4 depending on the passed ip_addr_t type. Removed pppol2tp_create_ip6() and pppapi_pppol2tp_create_ip6().
|
#
ce7e31cd |
|
09-Apr-2015 |
sg <goldsimon@gmx.de> |
task #12722 (improve IPv4/v6 address handling): renamed ip_addr_t to ip4_addr_t, renamed ipX_addr_t to ip_addr_t and added IP version; ip_addr_t is used for all generic IP addresses for the API, ip(4/6)_addr_t are only used internally or when initializing netifs or when calling version-related functions
|
#
93fa268d |
|
24-Mar-2015 |
sg <goldsimon@gmx.de> |
used ip6_addr_t instead of struct ip6_addr, fix const'ness in ip6_route parameters
|
#
4e62a888 |
|
20-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP, fixed build with IPv6 enabled
|
#
4ed34d2c |
|
19-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP, fixed build without IPv6 enabled
|
#
5097ac05 |
|
14-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, fixed warnings if LWIP_SNMP is disabled
|
#
f666e772 |
|
13-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP, warning fix if PPP IPv6 is enabled lwip/src/netif/ppp/pppol2tp.c: In function ‘pppol2tp_udp_send’: lwip/src/netif/ppp/pppol2tp.c:1229:3: warning: ‘err’ may be used uninitialized in this function [-Wmaybe-uninitialized] return err; ^
|
#
50336aae |
|
13-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, ppp->last_xmit is only used in PPPoS, moved to PPPoS Only PPPoS need to keep track of last transmitted packet for HDLC flag, removed from PPPoE and PPPoL2TP and moved to PPPoS.
|
#
a60f2588 |
|
10-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoE and PPPoL2TP, removed ppp->pcomp usage We refuse protocol compression in both PPPoE and PPPoL2TP, therefore ppp->pcomp can't be true, removed.
|
#
dbacfe0a |
|
08-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, IPCP, fully removed VJ support from IPCP if VJ_SUPPORT is disabled
|
#
3ce6dd16 |
|
01-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, L2TP, added link-level IPv6 support
|
#
684bef06 |
|
01-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, L2TP, merged common output code New function: pppol2tp_udp_send(), common output code.
|
#
52f2221b |
|
01-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, L2TP, check source ip address and port Improve L2TP defensiveness by checking source ip address and port of input packets.
|
#
1bee131d |
|
01-Mar-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, L2TP, using LNS chosen destination port L2TP LNS might chose its own local port, we actually stored the port the LNS wanted to use but we never used it.
|
#
371bc91d |
|
28-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, SERVER: added PPPoS server support New function: ppp_listen(), listen for an incoming PPP connection.
|
#
89771de6 |
|
28-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, remove VJ callback from link_callbacks if VJ support is not enabled
|
#
65095253 |
|
22-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, fixed warnings introduced by const pointers on ip_addr_t
|
#
00e8988b |
|
21-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, IPv4 support is now optional New compile time option: PPP_IPV4_SUPPORT PPP IPv4 support can now be compiled out.
|
#
2c70c128 |
|
20-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoL2TP, removed PPPERR_ usage Low level protocol callbacks are using err_t returns type, don't use PPPERR_ on them.
|
#
29f3f2e1 |
|
19-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, moved VJ protocol handler to PPPoS New callback, netif input, allow low level drivers to extend ppp_input call, moved PPPoS VJ support to pppos.c.
|
#
729e24da |
|
19-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, added sub-ioctl commands Allow low level drivers to extend ioctl call, moved PPPoS ioctl commands to pppos.c.
|
#
ec362536 |
|
19-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, uniformised callbacks naming
|
#
b92fe3ee |
|
19-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, new callbacks, send_config, recv_config, vj_config Removed some calls from PPP core to PPPoS low level protocols, the const struct allows us to have more and more callbacks without using more RAM.
|
#
985de035 |
|
19-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, now using const callbacks struct from lower level protocols Saving some RAM by using callbacks struct in rodata for required callbacks called by PPP core to PPP low level protocols.
|
#
8a8cba75 |
|
17-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, lower protocols, chained returns from local functions to callback caller PPPoS,PPPoE,PPPoL2TP functions using non-void returns are now propagated to callback caller (PPP core).
|
#
1ae3808e |
|
17-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, CORE, prepared for lower protocols callbacks returning state Until now, callbacks used void return, preparing callbacks to return PPPERR_ status.
|
#
ee2936ff |
|
17-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, all protocols, uniformised naming Uniformised fonction naming between and inside PPPoS, PPPoE, PPPoL2TP.
|
#
e6465a6f |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, PPPoS, moved VJ from PPP core to PPPoS VJ is only available for PPPoS, moved VJ from PPP CORE to PPPoS.
|
#
09b44858 |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, generalized callbacks calls from PPP core, removed all PPPoE and PPPoL2TP references Almost there, removed all PPPoE and PPPoL2TP references from PPP core, using the generic callbacks interface everywhere.
|
#
19282d6d |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, moved low level protocol connect init to low level protocol files Low level protocol init machine state does not belong to PPP core, moved those init to respective low level protocol files.
|
#
ee85aacc |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, removed low level create functions from PPP core ppp_over_ethernet_create() moved from ppp.c to pppoe.c ppp_over_l2tp_create() moved from ppp.c to pppol2tp.c
|
#
0afc34f6 |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, moved ppp_write and ppp_netif_output low level protocols functions to respective low level protocol files Moved ppp_write_over_ethernet() and ppp_netif_output_over_ethernet() to pppoe.c Moved ppp_write_over_l2tp() and ppp_netif_output_over_l2tp() to pppol2tp.c
|
#
45bfccfd |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP, prepare new callbacks for low level protocols New callbacks: write and netif_output
|
#
f8501478 |
|
15-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: prepared callbacks from PPP core to low level protocols New PPP callback from PPP core to low level protocols, first step about removing named calls to low level protocols from PPP core.
|
#
80809841 |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: removed PPPoE and PPPoL2TP callback status notifier Added necessary PPP core functions for PPPoE and PPPoL2TP status notificaton (ppp_link_failed and ppp_link_end), removed callback, low level protocol are now calling PPP core "link" functions.
|
#
74fd2dc9 |
|
14-Feb-2015 |
Sylvain Rochet <gradator@gradator.net> |
PPP: moved ppp_new() to low level protocol init for PPPoE and PPPoL2TP First step of a rework of how low level protocols are using the PPP core. Low level protocols are now going to use the core instead of core using the low level protocols. Final goal: separate PPP core code from low level protocols.
|
#
2b3e0201 |
|
24-Dec-2014 |
Sylvain Rochet <gradator@gradator.net> |
PPP, fixed some compiler warnings Using -Wall -pedantic -Wparentheses -Wsequence-point -Wswitch-default -Wextra -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wc++-compat -Wwrite-strings -Wold-style-definition -Wmissing-prototypes -Wredundant-decls -Wnested-externs -Wno-address
|
#
da19974e |
|
12-Oct-2014 |
Sylvain Rochet <gradator@gradator.net> |
fixed bug #43235, cleared compiler warnings when using gcc with -Wextra option
|
#
44b52741 |
|
22-Apr-2013 |
Sylvain Rochet <gradator@gradator.net> |
PPP, slight API change, great code factorisation Created new ppp_over_X_create() functions which only prepare the PPP session without starting it Removed ppp_reopen() and all of its sub ppp_over_X_reopen() Removed PPPoL2TP reconnect() function, merged to connect() Added ppp_open() able to start or restart any session
|
#
19864a4a |
|
25-Aug-2012 |
Sylvain Rochet <gradator@gradator.net> |
PPP L2TP, only skip HDLC header if necessary RFC 2661 does not specify whether the PPP frame in the L2TP payload should have a HDLC header or not. We handle both cases for compatibility.
|
#
1ddebcc8 |
|
18-Aug-2012 |
Sylvain Rochet <gradator@gradator.net> |
Moved PPP headers into include/netif/ppp/, fixing bug #37040.
|
#
c58c27ed |
|
24-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
removed time-based PPP phase state machine hacks from PPPoE dans PPPoL2TP Our PPP phase state machine is now clean, we can safely remove time based hacks in PPPoE dans PPPoL2TP.
|
#
3c122117 |
|
22-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
improved PPP API, added ppp_reopen() This is now the user choice to re-establish the session in the link status callback by either calling the ppp_reopen() to re-establish or ppp_delete() to free the PPP control block. Without user intervention, the PPP control block now stay in the dead phase, allowing the user to re-establish or delete the control block later.
|
#
bc724ea2 |
|
22-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
Do not destroy the PPP control block automatically anymore, added ppp_delete() API function. Without that, PPP user don't know when and how the PPP control block is free()ed, which can lead to hard fault.
|
#
c65883a7 |
|
16-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
UCHAR_MAX is defined in limits.h, I do not want to add any system include, replaced to 0xff
|
#
94c35184 |
|
14-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
replaced PPPoL2TP printf() used to debug to PPPDEBUG a/o deletion
|
#
78565026 |
|
11-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
L2TP output netif is now selectable, making it useful to select a default route for the L2TP tunnel, in case the default interface is set to the L2TP PPP interface
|
#
de6be743 |
|
11-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
added holdoff support for PPPoE and PPPoL2TP when persist mode is used
|
#
f534e80c |
|
09-Jul-2012 |
Sylvain Rochet <gradator@gradator.net> |
added L2TPv2 (PPP over L2TP, a.k.a. UDP tunnels) support Supported: - L2TPv2 (PPP over L2TP, a.k.a. UDP tunnels) - LAC Not supported: - LNS (require PPP server support) - L2TPv3 ethernet pseudowires - L2TPv3 VLAN pseudowire - L2TPv3 PPP pseudowires - L2TPv3 IP encapsulation - L2TPv3 IP pseudowire - L2TP tunnel switching - http://tools.ietf.org/html/draft-ietf-l2tpext-tunnel-switching-08 - Multiple tunnels per UDP socket, as well as multiple sessions per tunnel - Hidden AVPs
|