X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/5e65215ed4758c8fcd26ecaadc4b6121b93dab1c..d547c00f76be21289a5ba403b3d94818d8696360:/ppp.c diff --git a/ppp.c b/ppp.c index fb74ba9..5ed8563 100644 --- a/ppp.c +++ b/ppp.c @@ -15,6 +15,7 @@ #ifdef LAC #include "l2tplac.h" #endif +#include "pppoe.h" extern tunnelt *tunnel; extern bundlet *bundle; @@ -425,7 +426,7 @@ void lcp_open(sessionidt s, tunnelidt t) } } -static void lcp_restart(sessionidt s) +void lcp_restart(sessionidt s) { session[s].ppp.phase = Establish; // This-Layer-Down @@ -558,7 +559,7 @@ void processlcp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l) if (session[s].die) // going down... return; - LOG((*p == EchoReq || *p == EchoReply) ? 4 : 3, s, t, + LOG(((*p == EchoReq || *p == EchoReply) ? 4 : 3), s, t, "LCP: recv %s\n", ppp_code(*p)); if (config->debug > 3) dumplcp(p, l); @@ -2521,6 +2522,11 @@ uint8_t *makeppp(uint8_t *b, int size, uint8_t *p, int l, sessionidt s, tunnelid uint16_t type = mtype; uint8_t *start = b; + if (t == TUNNEL_ID_PPPOE) + { + return pppoe_makeppp(b, size, p, l, s, t, mtype, prio, bid, mp_bits); + } + if (size < 16) // Need more space than this!! { LOG(0, s, t, "makeppp buffer too small for L2TP header (size=%d)\n", size);