added holdoff support for PPPoE and PPPoL2TP when persist mode is used

This commit is contained in:
Sylvain Rochet
2012-07-11 23:50:33 +02:00
parent f534e80c71
commit de6be743c6
6 changed files with 64 additions and 15 deletions

View File

@@ -106,10 +106,11 @@ PACK_STRUCT_END
#define PPPOE_STATE_INITIAL 0
#define PPPOE_STATE_PADI_SENT 1
#define PPPOE_STATE_PADR_SENT 2
#define PPPOE_STATE_SESSION 3
#define PPPOE_STATE_CLOSING 4
#define PPPOE_STATE_HOLDOFF 1
#define PPPOE_STATE_PADI_SENT 2
#define PPPOE_STATE_PADR_SENT 3
#define PPPOE_STATE_SESSION 4
#define PPPOE_STATE_CLOSING 5
/* passive */
#define PPPOE_STATE_PADO_SENT 1
@@ -172,6 +173,7 @@ err_t pppoe_create(struct netif *ethif, ppp_pcb *pcb, void (*link_status_cb)(ppp
err_t pppoe_destroy(struct netif *ifp);
int pppoe_connect(struct pppoe_softc *sc);
void pppoe_reconnect(struct pppoe_softc *sc);
void pppoe_disconnect(struct pppoe_softc *sc);
void pppoe_disc_input(struct netif *netif, struct pbuf *p);

View File

@@ -150,11 +150,12 @@
/* L2TP Session state */
#define PPPOL2TP_STATE_INITIAL 0
#define PPPOL2TP_STATE_SCCRQ_SENT 1
#define PPPOL2TP_STATE_ICRQ_SENT 2
#define PPPOL2TP_STATE_ICCN_SENT 3
#define PPPOL2TP_STATE_DATA 4
#define PPPOL2TP_STATE_CLOSING 5
#define PPPOL2TP_STATE_HOLDOFF 1
#define PPPOL2TP_STATE_SCCRQ_SENT 2
#define PPPOL2TP_STATE_ICRQ_SENT 3
#define PPPOL2TP_STATE_ICCN_SENT 4
#define PPPOL2TP_STATE_DATA 5
#define PPPOL2TP_STATE_CLOSING 6
#define PPPOL2TP_CB_STATE_UP 0 /* PPPoL2TP link is UP */
#define PPPOL2TP_CB_STATE_DOWN 1 /* PPPo2TP link is DOWN - normal condition */
@@ -210,7 +211,7 @@ err_t pppol2tp_connect(pppol2tp_pcb *l2tp, ip_addr_t *ipaddr, u16_t port);
void pppol2tp_disconnect(pppol2tp_pcb *l2tp);
/* Reconnect to a LNS, using previously set L2TP server IP address and port. */
err_t pppol2tp_reconnect(pppol2tp_pcb *l2tp);
void pppol2tp_reconnect(pppol2tp_pcb *l2tp);
/* Data packet from PPP to L2TP */
err_t pppol2tp_xmit(pppol2tp_pcb *l2tp, struct pbuf *pb);