Home | History | Annotate | Download | only in src

Lines Matching full:lcp

51 #include "lcp.h"
75 SendEchoReq(struct lcp *lcp)
77 struct hdlc *hdlc = &link2physical(lcp->fsm.link)->hdlc;
80 echo.magic = htonl(lcp->want_magic);
83 fsm_Output(&lcp->fsm, CODE_ECHOREQ, hdlc->lqm.echo.seq_sent++,
91 struct lcp *lcp = fsm2lcp(fp);
102 if (lqr.magic != 0 && lqr.magic != lcp->his_magic &&
103 lqr.magic != lcp->want_magic) {
105 " got 0x%08x\n", fp->link->name, lcp->his_magic, lqr.magic);
139 SendLqrData(struct lcp *lcp)
144 extra = proto_WrapperOctets(lcp, PROTO_LQR) +
145 acf_WrapperOctets(lcp, PROTO_LQR);
157 link_PushPacket(lcp->fsm.link, bp, lcp->fsm.bundle,
158 LINK_QUEUES(lcp->fsm.link) - 1, PROTO_LQR);
164 struct lcp *lcp = (struct lcp *)v;
165 struct physical *p = link2physical(lcp->fsm.link);
173 lcp->fsm.link->name);
175 lcp->fsm.link->name);
179 SendLqrData(lcp);
187 log_Printf(LogPHASE, "%s: ** Too many LCP ECHO packets lost **\n",
188 lcp->fsm.link->name);
189 log_Printf(LogLQM, "%s: Too many LCP ECHO packets lost\n",
190 lcp->fsm.link->name);
194 SendEchoReq(lcp);
204 struct lcp *lcp = p->hdlc.lqm.owner;
217 else if (!IsAccepted(l->lcp.cfg.lqr) && !(p->hdlc.lqm.method & LQM_LQR)) {
219 lcp_SendProtoRej(lcp, MBUF_CTOP(bp), bp->m_len);
225 if (ntohl(lqr->MagicNumber) != lcp->his_magic)
228 (u_long)ntohl(lqr->MagicNumber), (u_long)lcp->his_magic);
256 SendLqrData(lcp);
264 * When LCP is reached to opened state, We'll start LQM activity.
267 lqr_Setup(struct lcp *lcp)
269 struct physical *physical = link2physical(lcp->fsm.link);
278 physical->hdlc.lqm.method = lcp->cfg.echo ? LQM_ECHO : 0;
279 if (IsEnabled(lcp->cfg.lqr) && !REJECTED(lcp, TY_QUALPROTO))
283 physical->hdlc.lqm.lqr.peer_timeout = lcp->his_lqrperiod;
284 if (lcp->his_lqrperiod)
286 physical->link.name, lcp->his_lqrperiod / 100,
287 lcp->his_lqrperiod % 100);
289 period = lcp->want_lqrperiod ?
290 lcp->want_lqrperiod : lcp->cfg.lqrperiod * 100;
293 physical->hdlc.lqm.timer.arg = lcp;
295 if (lcp->want_lqrperiod || physical->hdlc.lqm.method & LQM_ECHO) {
297 physical->link.name, lcp->want_lqrperiod ? "LQR" : "LCP ECHO",
302 if (!lcp->his_lqrperiod)
303 log_Printf(LogLQM, "%s: LQR/LCP ECHO not negotiated\n",
309 lqr_Start(struct lcp *lcp)
311 struct physical *p = link2physical(lcp->fsm.link);
313 lqr_Setup(lcp);
315 SendLqrReport(lcp);
319 lqr_reStart(struct lcp *lcp)
321 struct physical *p = link2physical(lcp->fsm.link);
323 lqr_Setup(lcp);
338 log_Printf(LogLQM, "%s: Stop sending LQR, Use LCP ECHO instead.\n",
341 log_Printf(LogLQM, "%s: Stop sending LCP ECHO.\n",
454 p->hdlc.lqm.ifOutOctets += acf_WrapperOctets(&l->lcp, *proto);
466 p->hdlc.lqm.ifOutOctets += proto_WrapperOctets(&l->lcp, *proto);
492 lqr.MagicNumber = p->link.lcp.want_magic;