Lines Matching defs:pcb
236 static void lcp_echo_lowerup(ppp_pcb *pcb);
237 static void lcp_echo_lowerdown(ppp_pcb *pcb);
267 static void lcp_init(ppp_pcb *pcb);
268 static void lcp_input(ppp_pcb *pcb, u_char *p, int len);
269 static void lcp_protrej(ppp_pcb *pcb);
363 static void lcp_init(ppp_pcb *pcb) {
364 fsm *f = &pcb->lcp_fsm;
365 lcp_options *wo = &pcb->lcp_wantoptions;
366 lcp_options *ao = &pcb->lcp_allowoptions;
368 f->pcb = pcb;
406 void lcp_open(ppp_pcb *pcb) {
407 fsm *f = &pcb->lcp_fsm;
408 lcp_options *wo = &pcb->lcp_wantoptions;
422 void lcp_close(ppp_pcb *pcb, const char *reason) {
423 fsm *f = &pcb->lcp_fsm;
426 if (pcb->phase != PPP_PHASE_DEAD
428 && pcb->phase != PPP_PHASE_MASTER
431 new_phase(pcb, PPP_PHASE_TERMINATE);
457 void lcp_lowerup(ppp_pcb *pcb) {
458 lcp_options *wo = &pcb->lcp_wantoptions;
459 fsm *f = &pcb->lcp_fsm;
465 if (ppp_send_config(pcb, PPP_MRU, 0xffffffff, 0, 0) < 0
466 || ppp_recv_config(pcb, PPP_MRU, (pcb->settings.lax_recv? 0: 0xffffffff),
469 pcb->peer_mru = PPP_MRU;
471 if (pcb->settings.listen_time != 0) {
473 TIMEOUTMS(lcp_delayed_up, f, pcb->settings.listen_time);
482 void lcp_lowerdown(ppp_pcb *pcb) {
483 fsm *f = &pcb->lcp_fsm;
509 static void lcp_input(ppp_pcb *pcb, u_char *p, int len) {
510 fsm *f = &pcb->lcp_fsm;
524 ppp_pcb *pcb = f->pcb;
525 lcp_options *go = &pcb->lcp_gotoptions;
602 (*protp->protrej)(f->pcb);
620 static void lcp_protrej(ppp_pcb *pcb) {
625 fsm_protreject(&pcb->lcp_fsm);
632 void lcp_sprotrej(ppp_pcb *pcb, u_char *p, int len) {
633 fsm *f = &pcb->lcp_fsm;
652 ppp_pcb *pcb = f->pcb;
653 lcp_options *wo = &pcb->lcp_wantoptions;
654 lcp_options *go = &pcb->lcp_gotoptions;
655 lcp_options *ao = &pcb->lcp_allowoptions;
660 if (pcb->settings.user && pcb->settings.passwd) {
662 if (pcb->settings.refuse_pap) {
667 if (pcb->settings.refuse_chap) {
671 if (pcb->settings.refuse_mschap) {
674 if (pcb->settings.refuse_mschap_v2) {
681 if (pcb->settings.refuse_eap) {
688 if (pcb->settings.auth_required) {
690 if (!pcb->settings.refuse_pap) {
695 if (!pcb->settings.refuse_chap) {
699 if (!pcb->settings.refuse_mschap) {
702 if (!pcb->settings.refuse_mschap_v2) {
709 if (!pcb->settings.refuse_eap) {
758 if (pcb->settings.noendpoint)
760 pcb->peer_mru = PPP_MRU;
762 auth_reset(pcb);
771 ppp_pcb *pcb = f->pcb;
772 lcp_options *go = &pcb->lcp_gotoptions;
835 ppp_pcb *pcb = f->pcb;
836 lcp_options *go = &pcb->lcp_gotoptions;
948 ppp_pcb *pcb = f->pcb;
949 lcp_options *go = &pcb->lcp_gotoptions;
1128 ppp_pcb *pcb = f->pcb;
1129 lcp_options *go = &pcb->lcp_gotoptions;
1130 lcp_options *wo = &pcb->lcp_wantoptions;
1562 if (++try_.numloops >= pcb->settings.lcp_loopbackfail) {
1564 pcb->err_code = PPPERR_LOOPBACK;
1565 lcp_close(f->pcb, "Loopback detected");
1590 ppp_pcb *pcb = f->pcb;
1591 lcp_options *go = &pcb->lcp_gotoptions;
1821 ppp_pcb *pcb = f->pcb;
1822 lcp_options *go = &pcb->lcp_gotoptions;
1823 lcp_options *ho = &pcb->lcp_hisoptions;
1824 lcp_options *ao = &pcb->lcp_allowoptions;
2291 ppp_pcb *pcb = f->pcb;
2292 lcp_options *wo = &pcb->lcp_wantoptions;
2293 lcp_options *ho = &pcb->lcp_hisoptions;
2294 lcp_options *go = &pcb->lcp_gotoptions;
2295 lcp_options *ao = &pcb->lcp_allowoptions;
2317 netif_set_mtu(pcb, LWIP_MIN(LWIP_MIN(mtu, mru), ao->mru));
2318 ppp_send_config(pcb, mtu,
2321 ppp_recv_config(pcb, mru,
2322 (pcb->settings.lax_recv? 0: go->neg_asyncmap? go->asyncmap: 0xffffffff),
2326 pcb->peer_mru = ho->mru;
2328 lcp_echo_lowerup(f->pcb); /* Enable echo messages */
2330 link_established(pcb);
2340 ppp_pcb *pcb = f->pcb;
2341 lcp_options *go = &pcb->lcp_gotoptions;
2343 lcp_echo_lowerdown(f->pcb);
2345 link_down(pcb);
2347 ppp_send_config(pcb, PPP_MRU, 0xffffffff, 0, 0);
2348 ppp_recv_config(pcb, PPP_MRU,
2351 pcb->peer_mru = PPP_MRU;
2359 ppp_pcb *pcb = f->pcb;
2360 link_required(pcb);
2368 ppp_pcb *pcb = f->pcb;
2369 link_terminated(pcb);
2640 ppp_pcb *pcb = f->pcb;
2642 ppp_info("No response to %d echo-requests", pcb->lcp_echos_pending);
2644 pcb->err_code = PPPERR_PEERDEAD;
2645 lcp_close(pcb, "Peer not responding");
2654 ppp_pcb *pcb = f->pcb;
2663 if (pcb->lcp_echo_timer_running)
2665 TIMEOUT (LcpEchoTimeout, f, pcb->settings.lcp_echo_interval);
2666 pcb->lcp_echo_timer_running = 1;
2675 ppp_pcb *pcb = f->pcb;
2676 if (pcb->lcp_echo_timer_running != 0) {
2677 pcb->lcp_echo_timer_running = 0;
2687 ppp_pcb *pcb = f->pcb;
2688 lcp_options *go = &pcb->lcp_gotoptions;
2705 pcb->lcp_echos_pending = 0;
2713 ppp_pcb *pcb = f->pcb;
2714 lcp_options *go = &pcb->lcp_gotoptions;
2721 if (pcb->settings.lcp_echo_fails != 0) {
2722 if (pcb->lcp_echos_pending >= pcb->settings.lcp_echo_fails) {
2724 pcb->lcp_echos_pending = 0;
2733 if (pcb->settings.lcp_echo_adaptive) {
2755 fsm_sdata(f, ECHOREQ, pcb->lcp_echo_number++, pkt, pktp - pkt);
2756 ++pcb->lcp_echos_pending;
2764 static void lcp_echo_lowerup(ppp_pcb *pcb) {
2765 fsm *f = &pcb->lcp_fsm;
2768 pcb->lcp_echos_pending = 0;
2769 pcb->lcp_echo_number = 0;
2770 pcb->lcp_echo_timer_running = 0;
2773 if (pcb->settings.lcp_echo_interval != 0)
2781 static void lcp_echo_lowerdown(ppp_pcb *pcb) {
2782 fsm *f = &pcb->lcp_fsm;
2784 if (pcb->lcp_echo_timer_running != 0) {
2786 pcb->lcp_echo_timer_running = 0;