Lines Matching defs:ipcp
92 * being one of "lcp", "ipcp", "chap", "pap", etc.
359 static const struct cp ipcp = {
362 "ipcp",
401 &ipcp, /* IDX_IPCP */
529 sppp_cp_input(&ipcp, sp, m);
2294 sp->ipcp.opts = 0;
2295 sp->ipcp.flags = 0;
2298 task_set(&sp->ipcp.set_addr_task, sppp_set_ip_addrs, sp);
2299 task_set(&sp->ipcp.clear_addr_task, sppp_clear_ip_addrs, sp);
2305 task_del(systq, &sp->ipcp.set_addr_task);
2306 task_del(systq, &sp->ipcp.clear_addr_task);
2312 sppp_up_event(&ipcp, sp);
2318 sppp_down_event(&ipcp, sp);
2324 sppp_open_event(&ipcp, sp);
2330 sppp_close_event(&ipcp, sp);
2336 sppp_to_event(&ipcp, (struct sppp *)cookie);
2366 log(LOG_DEBUG, SPP_FMT "ipcp parse opts: ",
2415 if (sp->ipcp.flags & IPCP_HISADDR_SEEN)
2416 hisaddr = sp->ipcp.req_hisaddr; /* we already agreed on that */
2420 log(LOG_DEBUG, SPP_FMT "ipcp parse opt values: ",
2436 ((sp->ipcp.flags & IPCP_HISADDR_DYN) &&
2449 sp->ipcp.flags |= IPCP_HISADDR_SEEN;
2450 sp->ipcp.req_hisaddr = desiredaddr;
2491 if (rlen == 0 && !(sp->ipcp.flags & IPCP_HISADDR_SEEN)) {
2533 log(LOG_DEBUG, SPP_FMT "ipcp rej opts: ",
2548 sp->ipcp.opts &= ~(1 << SPPP_IPCP_OPT_ADDRESS);
2552 sp->ipcp.opts &= ~(1 << SPPP_IPCP_OPT_COMPRESS);
2556 sp->ipcp.opts &= ~(1 << SPPP_IPCP_OPT_PRIMDNS);
2559 sp->ipcp.opts &= ~(1 << SPPP_IPCP_OPT_SECDNS);
2582 log(LOG_DEBUG, SPP_FMT "ipcp nak opts: ",
2601 sp->ipcp.opts |= (1 << SPPP_IPCP_OPT_ADDRESS);
2611 if (sp->ipcp.flags & IPCP_MYADDR_DYN) {
2614 sp->ipcp.flags |= IPCP_MYADDR_SEEN;
2615 sp->ipcp.req_myaddr = wantaddr;
2628 memcpy(&sp->ipcp.dns[0].s_addr, p + 2,
2629 sizeof(sp->ipcp.dns[0]));
2633 memcpy(&sp->ipcp.dns[1].s_addr, p + 2,
2634 sizeof(sp->ipcp.dns[1]));
2645 if (sp->ipcp.req_myaddr != 0 || sp->ipcp.req_hisaddr != 0)
2646 task_add(systq, &sp->ipcp.set_addr_task);
2660 sp->ipcp.flags &= ~(IPCP_HISADDR_SEEN|IPCP_MYADDR_SEEN|
2662 sp->ipcp.req_myaddr = 0;
2663 sp->ipcp.req_hisaddr = 0;
2664 memset(&sp->ipcp.dns, 0, sizeof(sp->ipcp.dns));
2686 sp->ipcp.flags |= IPCP_MYADDR_DYN;
2687 sp->ipcp.opts |= (1 << SPPP_IPCP_OPT_ADDRESS);
2694 sp->ipcp.flags |= IPCP_HISADDR_DYN;
2698 sp->ipcp.opts |= (1 << SPPP_IPCP_OPT_PRIMDNS);
2699 sp->ipcp.opts |= (1 << SPPP_IPCP_OPT_SECDNS);
2708 if (sp->ipcp.flags & (IPCP_MYADDR_DYN|IPCP_HISADDR_DYN))
2710 task_add(systq, &sp->ipcp.clear_addr_task);
2725 if (sp->ipcp.opts & (1 << SPPP_IPCP_OPT_COMPRESSION)) {
2735 if (sp->ipcp.opts & (1 << SPPP_IPCP_OPT_ADDRESS)) {
2736 if (sp->ipcp.flags & IPCP_MYADDR_SEEN)
2738 ouraddr = sp->ipcp.req_myaddr;
2749 if (sp->ipcp.opts & (1 << SPPP_IPCP_OPT_PRIMDNS)) {
2752 memcpy(&opt[i], &sp->ipcp.dns[0].s_addr,
2753 sizeof(sp->ipcp.dns[0]));
2754 i += sizeof(sp->ipcp.dns[0]);
2757 if (sp->ipcp.opts & (1 << SPPP_IPCP_OPT_SECDNS)) {
2760 memcpy(&opt[i], &sp->ipcp.dns[1].s_addr,
2761 sizeof(sp->ipcp.dns[1]));
2762 i += sizeof(sp->ipcp.dns[1]);
4265 if ((sp->ipcp.flags & IPCP_MYADDR_DYN) &&
4266 (sp->ipcp.flags & IPCP_MYADDR_SEEN))
4267 myaddr = sp->ipcp.req_myaddr;
4268 if ((sp->ipcp.flags & IPCP_HISADDR_DYN) &&
4269 (sp->ipcp.flags & IPCP_HISADDR_SEEN))
4270 hisaddr = sp->ipcp.req_hisaddr;
4303 sp->ipcp.saved_hisaddr = dest->sin_addr.s_addr;
4338 if (sp->ipcp.flags & IPCP_HISADDR_DYN)
4339 remote = sp->ipcp.saved_hisaddr;
4363 if (sp->ipcp.flags & IPCP_MYADDR_DYN)
4365 if (sp->ipcp.flags & IPCP_HISADDR_DYN)
4367 dest->sin_addr.s_addr = sp->ipcp.saved_hisaddr;
4377 memset(sp->ipcp.dns, 0, sizeof(sp->ipcp.dns));
4592 memcpy(spd->dns, sp->ipcp.dns, sizeof(spd->dns));
4873 case PPP_IPCP: return "ipcp";
4961 if (sp->ipcp.dns[i].s_addr == INADDR_ANY)
4963 sz = sizeof(sp->ipcp.dns[i]);
4964 memcpy(rtdns.sr_dns + i * sz, &sp->ipcp.dns[i].s_addr, sz);