Documentation
Includes
netif/ppp/ppp_opts.h
#include "netif/ppp/ppp_opts.h"
ppp.h
#include "ppp.h"
Macros
Marco PPPOL2TP_H
#define PPPOL2TP_H
Marco PPPOL2TP_CONTROL_TIMEOUT
#define PPPOL2TP_CONTROL_TIMEOUT (5*1000) /* base for quick timeout calculation */
Marco PPPOL2TP_SLOW_RETRY
#define PPPOL2TP_SLOW_RETRY (60*1000) /* persistent retry interval */
Marco PPPOL2TP_MAXSCCRQ
#define PPPOL2TP_MAXSCCRQ 4 /* retry SCCRQ four times (quickly) */
Marco PPPOL2TP_MAXICRQ
#define PPPOL2TP_MAXICRQ 4 /* retry IRCQ four times */
Marco PPPOL2TP_MAXICCN
#define PPPOL2TP_MAXICCN 4 /* retry ICCN four times */
#define PPPOL2TP_HEADERFLAG_CONTROL 32768
#define PPPOL2TP_HEADERFLAG_LENGTH 16384
#define PPPOL2TP_HEADERFLAG_SEQUENCE 2048
#define PPPOL2TP_HEADERFLAG_OFFSET 512
#define PPPOL2TP_HEADERFLAG_PRIORITY 256
#define PPPOL2TP_HEADERFLAG_VERSION 2
Marco PPPOL2TP_HEADERFLAG_CONTROL_MANDATORY
#define PPPOL2TP_HEADERFLAG_CONTROL_MANDATORY (PPPOL2TP_HEADERFLAG_CONTROL|PPPOL2TP_HEADERFLAG_LENGTH|PPPOL2TP_HEADERFLAG_SEQUENCE|PPPOL2TP_HEADERFLAG_VERSION)
#define PPPOL2TP_HEADERFLAG_CONTROL_FORBIDDEN (PPPOL2TP_HEADERFLAG_OFFSET|PPPOL2TP_HEADERFLAG_PRIORITY)
Marco PPPOL2TP_HEADERFLAG_DATA_MANDATORY
#define PPPOL2TP_HEADERFLAG_DATA_MANDATORY (PPPOL2TP_HEADERFLAG_VERSION)
Marco PPPOL2TP_AVPHEADERFLAG_MANDATORY
#define PPPOL2TP_AVPHEADERFLAG_MANDATORY 32768
#define PPPOL2TP_AVPHEADERFLAG_HIDDEN 16384
#define PPPOL2TP_AVPHEADERFLAG_LENGTHMASK 1023
Marco PPPOL2TP_AVPTYPE_MESSAGE
#define PPPOL2TP_AVPTYPE_MESSAGE 0 /* Message type */
Marco PPPOL2TP_MESSAGETYPE_SCCRQ
#define PPPOL2TP_MESSAGETYPE_SCCRQ 1 /* Start Control Connection Request */
Marco PPPOL2TP_MESSAGETYPE_SCCRP
#define PPPOL2TP_MESSAGETYPE_SCCRP 2 /* Start Control Connection Reply */
Marco PPPOL2TP_MESSAGETYPE_SCCCN
#define PPPOL2TP_MESSAGETYPE_SCCCN 3 /* Start Control Connection Connected */
Marco PPPOL2TP_MESSAGETYPE_STOPCCN
#define PPPOL2TP_MESSAGETYPE_STOPCCN 4 /* Stop Control Connection Notification */
Marco PPPOL2TP_MESSAGETYPE_HELLO
#define PPPOL2TP_MESSAGETYPE_HELLO 6 /* Hello */
Marco PPPOL2TP_MESSAGETYPE_OCRQ
#define PPPOL2TP_MESSAGETYPE_OCRQ 7 /* Outgoing Call Request */
Marco PPPOL2TP_MESSAGETYPE_OCRP
#define PPPOL2TP_MESSAGETYPE_OCRP 8 /* Outgoing Call Reply */
Marco PPPOL2TP_MESSAGETYPE_OCCN
#define PPPOL2TP_MESSAGETYPE_OCCN 9 /* Outgoing Call Connected */
Marco PPPOL2TP_MESSAGETYPE_ICRQ
#define PPPOL2TP_MESSAGETYPE_ICRQ 10 /* Incoming Call Request */
Marco PPPOL2TP_MESSAGETYPE_ICRP
#define PPPOL2TP_MESSAGETYPE_ICRP 11 /* Incoming Call Reply */
Marco PPPOL2TP_MESSAGETYPE_ICCN
#define PPPOL2TP_MESSAGETYPE_ICCN 12 /* Incoming Call Connected */
Marco PPPOL2TP_MESSAGETYPE_CDN
#define PPPOL2TP_MESSAGETYPE_CDN 14 /* Call Disconnect Notify */
Marco PPPOL2TP_MESSAGETYPE_WEN
#define PPPOL2TP_MESSAGETYPE_WEN 15 /* WAN Error Notify */
Marco PPPOL2TP_MESSAGETYPE_SLI
#define PPPOL2TP_MESSAGETYPE_SLI 16 /* Set Link Info */
Marco PPPOL2TP_AVPTYPE_RESULTCODE
#define PPPOL2TP_AVPTYPE_RESULTCODE 1 /* Result code */
Marco PPPOL2TP_RESULTCODE
#define PPPOL2TP_RESULTCODE 1 /* General request to clear control connection */
Marco PPPOL2TP_AVPTYPE_VERSION
#define PPPOL2TP_AVPTYPE_VERSION 2
Marco PPPOL2TP_VERSION
#define PPPOL2TP_VERSION 256 /* L2TP Protocol version 1, revision 0 */
Marco PPPOL2TP_AVPTYPE_FRAMINGCAPABILITIES
#define PPPOL2TP_AVPTYPE_FRAMINGCAPABILITIES 3 /* Bearer capabilities */
Marco PPPOL2TP_FRAMINGCAPABILITIES
#define PPPOL2TP_FRAMINGCAPABILITIES 3 /* Async + Sync framing */
Marco PPPOL2TP_AVPTYPE_BEARERCAPABILITIES
#define PPPOL2TP_AVPTYPE_BEARERCAPABILITIES 4 /* Bearer capabilities */
Marco PPPOL2TP_BEARERCAPABILITIES
#define PPPOL2TP_BEARERCAPABILITIES 3 /* Analog + Digital Access */
Marco PPPOL2TP_AVPTYPE_TIEBREAKER
#define PPPOL2TP_AVPTYPE_TIEBREAKER 5
Marco PPPOL2TP_AVPTYPE_HOSTNAME
#define PPPOL2TP_AVPTYPE_HOSTNAME 7 /* Host name */
Marco PPPOL2TP_HOSTNAME
#define PPPOL2TP_HOSTNAME "lwIP" /* FIXME: make it configurable */
Marco PPPOL2TP_AVPTYPE_VENDORNAME
#define PPPOL2TP_AVPTYPE_VENDORNAME 8 /* Vendor name */
Marco PPPOL2TP_VENDORNAME
#define PPPOL2TP_VENDORNAME "lwIP" /* FIXME: make it configurable */
Marco PPPOL2TP_AVPTYPE_TUNNELID
#define PPPOL2TP_AVPTYPE_TUNNELID 9 /* Assign Tunnel ID */
Marco PPPOL2TP_AVPTYPE_RECEIVEWINDOWSIZE
#define PPPOL2TP_AVPTYPE_RECEIVEWINDOWSIZE 10 /* Receive window size */
Marco PPPOL2TP_RECEIVEWINDOWSIZE
#define PPPOL2TP_RECEIVEWINDOWSIZE 8 /* FIXME: make it configurable */
Marco PPPOL2TP_AVPTYPE_CHALLENGE
#define PPPOL2TP_AVPTYPE_CHALLENGE 11 /* Challenge */
Marco PPPOL2TP_AVPTYPE_CAUSECODE
#define PPPOL2TP_AVPTYPE_CAUSECODE 12 /* Cause code*/
Marco PPPOL2TP_AVPTYPE_CHALLENGERESPONSE
#define PPPOL2TP_AVPTYPE_CHALLENGERESPONSE 13 /* Challenge response */
Marco PPPOL2TP_AVPTYPE_CHALLENGERESPONSE_SIZE
#define PPPOL2TP_AVPTYPE_CHALLENGERESPONSE_SIZE 16
Marco PPPOL2TP_AVPTYPE_SESSIONID
#define PPPOL2TP_AVPTYPE_SESSIONID 14 /* Assign Session ID */
Marco PPPOL2TP_AVPTYPE_CALLSERIALNUMBER
#define PPPOL2TP_AVPTYPE_CALLSERIALNUMBER 15 /* Call Serial Number */
Marco PPPOL2TP_AVPTYPE_FRAMINGTYPE
#define PPPOL2TP_AVPTYPE_FRAMINGTYPE 19 /* Framing Type */
Marco PPPOL2TP_FRAMINGTYPE
#define PPPOL2TP_FRAMINGTYPE 1 /* Sync framing */
Marco PPPOL2TP_AVPTYPE_TXCONNECTSPEED
#define PPPOL2TP_AVPTYPE_TXCONNECTSPEED 24 /* TX Connect Speed */
Marco PPPOL2TP_TXCONNECTSPEED
#define PPPOL2TP_TXCONNECTSPEED 100000000 /* Connect speed: 100 Mbits/s */
Marco PPPOL2TP_STATE_INITIAL
#define PPPOL2TP_STATE_INITIAL 0
Marco PPPOL2TP_STATE_SCCRQ_SENT
#define PPPOL2TP_STATE_SCCRQ_SENT 1
Marco PPPOL2TP_STATE_ICRQ_SENT
#define PPPOL2TP_STATE_ICRQ_SENT 2
Marco PPPOL2TP_STATE_ICCN_SENT
#define PPPOL2TP_STATE_ICCN_SENT 3
Marco PPPOL2TP_STATE_DATA
#define PPPOL2TP_STATE_DATA 4
#define PPPOL2TP_OUTPUT_DATA_HEADER_LEN 6 /* Our data header len */
Functions
Func pppol2tp_create
ppp_pcb *pppol2tp_create(struct netif *pppif,
struct netif *netif, const ip_addr_t *ipaddr, u16_t port,
const u8_t *secret, u8_t secret_len,
ppp_link_status_cb_fn link_status_cb, void *ctx_cb);
Vars
Consts
Types
Typedefs
Typedef pppol2tp_pcb
typedef struct pppol2tp_pcb_s pppol2tp_pcb;