70#include "netif/ppp/ppp_opts.h"
71#if PPP_SUPPORT && PPPOE_SUPPORT
83#ifdef PACK_STRUCT_USE_INCLUDES
94#ifdef PACK_STRUCT_USE_INCLUDES
98#ifdef PACK_STRUCT_USE_INCLUDES
107#ifdef PACK_STRUCT_USE_INCLUDES
112#define PPPOE_STATE_INITIAL 0
113#define PPPOE_STATE_PADI_SENT 1
114#define PPPOE_STATE_PADR_SENT 2
115#define PPPOE_STATE_SESSION 3
117#define PPPOE_STATE_PADO_SENT 1
119#define PPPOE_HEADERLEN sizeof(struct pppoehdr)
120#define PPPOE_VERTYPE 0x11
122#define PPPOE_TAG_EOL 0x0000
123#define PPPOE_TAG_SNAME 0x0101
124#define PPPOE_TAG_ACNAME 0x0102
125#define PPPOE_TAG_HUNIQUE 0x0103
126#define PPPOE_TAG_ACCOOKIE 0x0104
127#define PPPOE_TAG_VENDOR 0x0105
128#define PPPOE_TAG_RELAYSID 0x0110
129#define PPPOE_TAG_SNAME_ERR 0x0201
130#define PPPOE_TAG_ACSYS_ERR 0x0202
131#define PPPOE_TAG_GENERIC_ERR 0x0203
133#define PPPOE_CODE_PADI 0x09
134#define PPPOE_CODE_PADO 0x07
135#define PPPOE_CODE_PADR 0x19
136#define PPPOE_CODE_PADS 0x65
137#define PPPOE_CODE_PADT 0xA7
139#ifndef PPPOE_MAX_AC_COOKIE_LEN
140#define PPPOE_MAX_AC_COOKIE_LEN 64
144 struct pppoe_softc *next;
145 struct netif *sc_ethif;
153 u8_t *sc_service_name;
154 u8_t *sc_concentrator_name;
156 u8_t sc_ac_cookie[PPPOE_MAX_AC_COOKIE_LEN];
157 u8_t sc_ac_cookie_len;
162 u8_t sc_padi_retried;
163 u8_t sc_padr_retried;
169ppp_pcb *pppoe_create(
struct netif *pppif,
171 const char *service_name,
const char *concentrator_name,
172 ppp_link_status_cb_fn link_status_cb,
void *ctx_cb);
#define PACK_STRUCT_END
Definition: arch.h:318
#define PACK_STRUCT_BEGIN
Definition: arch.h:309
#define PACK_STRUCT_STRUCT
Definition: arch.h:330
#define PACK_STRUCT_FLD_8(x)
Definition: arch.h:349
#define PACK_STRUCT_FIELD(x)
Definition: arch.h:340
Definition: ethernet.h:60