187 Commits

Author SHA1 Message Date
Sylvain Rochet
a467d21eba ppp_close() PPPoL2TP support added 2012-07-22 18:05:19 +02:00
Sylvain Rochet
bc724ea206 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.
2012-07-22 17:20:40 +02:00
Sylvain Rochet
4ea5c1d973 improved persist mode, we now clear everything we can in the PPP control block structure, ensuring we start a new session from a clean state 2012-07-21 00:26:23 +02:00
Sylvain Rochet
9e021cd1a8 improved PPP default interface management, added ppp_set_default() API call 2012-07-14 17:25:24 +02:00
Sylvain Rochet
78565026ac 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 2012-07-12 01:11:08 +02:00
Sylvain Rochet
de6be743c6 added holdoff support for PPPoE and PPPoL2TP when persist mode is used 2012-07-11 23:50:33 +02:00
Sylvain Rochet
f534e80c71 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
2012-07-09 23:25:32 +02:00
Sylvain Rochet
b4df26a75d some buggy compiler get confused with duplicated labels used in enum tcp_state and fsm.h, prepending PPP's ones 2012-07-09 22:04:09 +02:00
Sylvain Rochet
d92c462466 added PPP Sequential API module, based from the Network Interface Sequential API module 2012-07-07 19:50:56 +02:00
Sylvain Rochet
572e457e77 improved PPP API header documentation 2012-07-07 15:05:15 +02:00
Sylvain Rochet
90faecd86e replaced u_int{8,16,32}_t to lwIP u{8,16,32}_t types
added padding to compiler generated bitfield, this is seen as best practice,
maybe it helps buggy compilers
2012-07-03 22:59:50 +02:00
Sylvain Rochet
2e069429c2 removed bool type, replaced by u8_t 2012-07-03 22:03:51 +02:00
Erik Ekman
11a3057e8e PPP: Add option to skip FCS table
Option PPP_FCS_TABLE is created which controls if PPPoS FCS calculation
should be done against precalculated table or by using a short algorithm.

Default value is 1, keeps old behaviour.
Setting it to 0 saves around 0.5 kB flash.
2012-06-23 15:11:49 +02:00
Sylvain Rochet
a83fb30836 fixed PPPoS multithread support 2012-06-23 13:07:43 +02:00
Sylvain Rochet
dc092653f4 now displaying sent packet before PPPoS add its escaping, trailing flags, ... 2012-06-23 12:04:27 +02:00
Sylvain Rochet
25c6278000 fixed some endianess issues with PPPoS 2012-06-23 02:27:03 +02:00
Sylvain Rochet
5033e0e752 display IPV6CP packets 2012-06-23 01:44:52 +02:00
Sylvain Rochet
295eeef9b6 "ISO C forbids conversion of function pointer to object pointer type" - removed callback function pointer display in debug messages. Anyway, this is quite a meaningless information. 2012-06-22 21:48:21 +02:00
Sylvain Rochet
f63b87e28b setting tot_len before using it, oops 2012-06-22 21:43:22 +02:00
Sylvain Rochet
408a56ffaf phase must be set to initalize each time we try to reconnect 2012-06-22 20:48:08 +02:00
Sylvain Rochet
a84f5d52ff added ppp_pcb to ppp callback 2012-06-22 19:59:46 +02:00
Sylvain Rochet
dc242a01b4 don't build ppp_netif_output_ip6() if PPP IPV6 support is disabled 2012-06-22 19:29:55 +02:00
Sylvain Rochet
dd288f70ec fixed sent PPPoE dump packet and copy everything we need after pppoe_xmit() free'd the pbuf 2012-06-22 18:07:59 +02:00
Sylvain Rochet
9b60b55f03 SNMP prefers tot_len 2012-06-22 17:48:31 +02:00
Sylvain Rochet
77aa06df64 improved ppp_write_over_ethernet(), don't MEMCPY the entire packet into a new pbuf 2012-06-22 17:03:59 +02:00
Sylvain Rochet
9b7860d6ec merged ppp_write and ppp_write_pbuf 2012-06-22 14:17:35 +02:00
Sylvain Rochet
8576ee0981 randomized seed when using MD5 random support and PPPoE 2012-06-21 23:08:20 +02:00
Sylvain Rochet
8093b55e86 don't destroy and create the PPP interface each time sifup() is called (it is actually called twice with IPv4 + IPv6 enabled) 2012-06-21 22:28:52 +02:00
Sylvain Rochet
b6db4a0e2e PPP IPv6 local link support added 2012-06-21 18:05:17 +02:00
Sylvain Rochet
b7be03801c improved much more ppp_pcb entry size 2012-06-19 22:53:38 +02:00
Sylvain Rochet
b21cb8a396 removed pcb->num if PPP debug is not compiled 2012-06-19 22:08:14 +02:00
Sylvain Rochet
eadd56a376 replaced exit code (pcb->status) with ppp_ioctl() 2012-06-19 22:00:12 +02:00
Sylvain Rochet
2aa9a66c57 don't duplicate user and password anymore, anyway, the PPP user will have them already allocated as static strings or from configuration flash/file 2012-06-19 21:26:52 +02:00
Sylvain Rochet
8e9c07df39 more idle time limit macros 2012-06-19 18:02:23 +02:00
Sylvain Rochet
4a7f2ffc5e pcb->outpacket_buf replaced by pbuf everywhere it was used 2012-06-18 02:21:18 +02:00
Sylvain Rochet
22fad86453 PAP is now using pbuf instead of pcb->outpacket_buf 2012-06-18 01:10:21 +02:00
Sylvain Rochet
8641b8a36e PPP_PCB are now allocated using memp_alloc() 2012-06-17 23:48:55 +02:00
Sylvain Rochet
be2d3b5886 moved back temporarily moved structure definitions from various headers to ppp.h during unit to ppp_pcb transition 2012-06-17 02:33:47 +02:00
Sylvain Rochet
3065b9f968 no more pcb->unit, new user selectable pcb->num for debugging purpose (like netif does) 2012-06-16 04:12:10 +02:00
Sylvain Rochet
82a4d4ec65 LCP global variables moved to ppp_pcb as well as input/output buffers 2012-06-16 03:53:05 +02:00
Sylvain Rochet
4a8ff6d824 protent prototype switched from unit to ppp_pcb 2012-06-16 02:43:13 +02:00
Sylvain Rochet
4b7e3af77c IPCP and LCP structures moved to ppp_pcb 2012-06-16 02:13:50 +02:00
Sylvain Rochet
19238a910c global variables removed from chap support 2012-06-15 01:22:01 +02:00
Sylvain Rochet
51bfac71b0 auth.c functions now use ppp_pcb* as first argument 2012-06-14 00:08:56 +02:00
Sylvain Rochet
81a0fd782f removed unit from ppp_ioctl() 2012-06-13 00:12:55 +02:00
Sylvain Rochet
3a30e5bf78 removed ppp_input_header, replaced using 2 chained pbuf the only area we need it 2012-06-12 23:28:09 +02:00
Sylvain Rochet
a87096cdc9 fixed PPPoS support, improved ppp_input() 2012-06-12 00:59:02 +02:00
Sylvain Rochet
527d99fd39 removed all PPP unit in ppp.c except pih->unit and unit used in debugging output 2012-06-12 00:55:53 +02:00
Sylvain Rochet
6e2722a6d3 started the unit to ppp_pcb replacement 2012-06-11 01:39:03 +02:00
Sylvain Rochet
8694deaabb don't add ppp_pcb_rx to ppp_pcb struct if PPPOS support is disabled 2012-06-10 21:06:02 +02:00