Lines Matching defs:pcb
259 static void ipcp_init(ppp_pcb *pcb);
260 static void ipcp_open(ppp_pcb *pcb);
261 static void ipcp_close(ppp_pcb *pcb, const char *reason);
262 static void ipcp_lowerup(ppp_pcb *pcb);
263 static void ipcp_lowerdown(ppp_pcb *pcb);
264 static void ipcp_input(ppp_pcb *pcb, u_char *p, int len);
265 static void ipcp_protrej(ppp_pcb *pcb);
310 static void ipcp_clear_addrs(ppp_pcb *pcb, u32_t ouraddr, u32_t hisaddr, u8_t replacedefaultroute);
592 static void ipcp_init(ppp_pcb *pcb) {
593 fsm *f = &pcb->ipcp_fsm;
595 ipcp_options *wo = &pcb->ipcp_wantoptions;
596 ipcp_options *ao = &pcb->ipcp_allowoptions;
598 f->pcb = pcb;
654 static void ipcp_open(ppp_pcb *pcb) {
655 fsm *f = &pcb->ipcp_fsm;
657 pcb->ipcp_is_open = 1;
664 static void ipcp_close(ppp_pcb *pcb, const char *reason) {
665 fsm *f = &pcb->ipcp_fsm;
673 static void ipcp_lowerup(ppp_pcb *pcb) {
674 fsm *f = &pcb->ipcp_fsm;
682 static void ipcp_lowerdown(ppp_pcb *pcb) {
683 fsm *f = &pcb->ipcp_fsm;
691 static void ipcp_input(ppp_pcb *pcb, u_char *p, int len) {
692 fsm *f = &pcb->ipcp_fsm;
702 static void ipcp_protrej(ppp_pcb *pcb) {
703 fsm *f = &pcb->ipcp_fsm;
713 ppp_pcb *pcb = f->pcb;
714 ipcp_options *wo = &pcb->ipcp_wantoptions;
715 ipcp_options *go = &pcb->ipcp_gotoptions;
716 ipcp_options *ao = &pcb->ipcp_allowoptions;
725 wo->req_dns1 = wo->req_dns2 = pcb->settings.usepeerdns; /* Request DNS addresses from the peer */
728 if (!pcb->ask_for_local)
738 BZERO(&pcb->ipcp_hisoptions, sizeof(ipcp_options));
747 ppp_pcb *pcb = f->pcb;
748 ipcp_options *go = &pcb->ipcp_gotoptions;
750 ipcp_options *wo = &pcb->ipcp_wantoptions;
752 ipcp_options *ho = &pcb->ipcp_hisoptions;
807 ppp_pcb *pcb = f->pcb;
808 ipcp_options *go = &pcb->ipcp_gotoptions;
922 ppp_pcb *pcb = f->pcb;
923 ipcp_options *go = &pcb->ipcp_gotoptions;
1077 ppp_pcb *pcb = f->pcb;
1078 ipcp_options *go = &pcb->ipcp_gotoptions;
1342 ppp_pcb *pcb = f->pcb;
1343 ipcp_options *go = &pcb->ipcp_gotoptions;
1507 ppp_pcb *pcb = f->pcb;
1508 ipcp_options *wo = &pcb->ipcp_wantoptions;
1509 ipcp_options *ho = &pcb->ipcp_hisoptions;
1510 ipcp_options *ao = &pcb->ipcp_allowoptions;
1780 wo->req_addr && !reject_if_disagree && !pcb->settings.noremoteip) {
1840 ppp_pcb *pcb = &ppp_pcb_list[u];
1843 if (wo->hisaddr == 0 && !pcb->settings.noremoteip) {
1854 if (!sifaddr(pcb, wo->ouraddr, wo->hisaddr, get_mask(wo->ouraddr)))
1856 if (!sifup(pcb))
1858 if (!sifnpmode(pcb, PPP_IP, NPMODE_QUEUE))
1862 if (sifdefaultroute(pcb, wo->ouraddr, wo->hisaddr,
1868 if (sifproxyarp(pcb, wo->hisaddr))
1886 ppp_pcb *pcb = f->pcb;
1888 ipcp_options *ho = &pcb->ipcp_hisoptions;
1889 ipcp_options *go = &pcb->ipcp_gotoptions;
1890 ipcp_options *wo = &pcb->ipcp_wantoptions;
1903 ipcp_close(f->pcb, "Refused our IP address");
1908 ipcp_close(f->pcb, "Could not determine local IP address");
1911 if (ho->hisaddr == 0 && !pcb->settings.noremoteip) {
1933 if (pcb->settings.usepeerdns && (go->dnsaddr[0] || go->dnsaddr[1])) {
1934 sdns(pcb, go->dnsaddr[0], go->dnsaddr[1]);
1955 || (pcb->settings.auth_required && wo->hisaddr != ho->hisaddr)
1959 ipcp_close(pcb, "Unauthorized remote IP address");
1974 sifvjcomp(pcb, ho->neg_vj, ho->cflag, ho->maxslotindex);
2002 if (!sifaddr(pcb, go->ouraddr, ho->hisaddr, mask)) {
2012 if (sifdefaultroute(pcb, go->ouraddr, ho->hisaddr,
2019 if (sifproxyarp(pcb, ho->hisaddr))
2025 sifnpmode(pcb, PPP_IP, NPMODE_PASS);
2036 if (!sifaddr(pcb, go->ouraddr, ho->hisaddr, mask)) {
2040 ipcp_close(f->pcb, "Interface configuration failed");
2046 if (!sifup(pcb)) {
2050 ipcp_close(f->pcb, "Interface configuration failed");
2055 if (!sifaddr(pcb, go->ouraddr, ho->hisaddr, mask)) {
2064 sifnpmode(pcb, PPP_IP, NPMODE_PASS);
2070 if (sifdefaultroute(pcb, go->ouraddr, ho->hisaddr,
2072 pcb->default_route_set = 1;
2078 if (sifproxyarp(pcb, ho->hisaddr))
2079 pcb->proxy_arp_set = 1;
2099 np_up(pcb, PPP_IP);
2100 pcb->ipcp_is_up = 1;
2119 ppp_pcb *pcb = f->pcb;
2120 ipcp_options *ho = &pcb->ipcp_hisoptions;
2121 ipcp_options *go = &pcb->ipcp_gotoptions;
2138 if (pcb->ipcp_is_up) {
2139 pcb->ipcp_is_up = 0;
2140 np_down(pcb, PPP_IP);
2143 sifvjcomp(pcb, 0, 0, 0);
2158 sifnpmode(pcb, PPP_IP, NPMODE_QUEUE);
2163 sifnpmode(pcb, PPP_IP, NPMODE_DROP);
2165 sifdown(pcb);
2166 ipcp_clear_addrs(pcb, go->ouraddr,
2169 cdns(pcb, go->dnsaddr[0], go->dnsaddr[1]);
2179 static void ipcp_clear_addrs(ppp_pcb *pcb, u32_t ouraddr, u32_t hisaddr, u8_t replacedefaultroute) {
2183 if (pcb->proxy_arp_set) {
2184 cifproxyarp(pcb, hisaddr);
2185 pcb->proxy_arp_set = 0;
2197 if (!replacedefaultroute && pcb->default_route_set) {
2198 cifdefaultroute(pcb, ouraddr, hisaddr);
2199 pcb->default_route_set = 0;
2202 cifaddr(pcb, ouraddr, hisaddr);
2210 ppp_pcb *pcb = f->pcb;
2211 if (pcb->ipcp_is_open) {
2212 pcb->ipcp_is_open = 0;
2213 np_finished(pcb, PPP_IP);