Home | History | Annotate | Download | only in net

Lines Matching defs:ipcp

121 #define SPPP_IPCPOPT_NAMELEN	5	/* buf size of ipcp option name */
144 * being one of "lcp", "ipcp", "cisco", "chap", "pap", etc.
508 static const struct cp ipcp = {
511 CP_NCP, /*don't run IPCP if there's no IPv4 support*/
515 "ipcp",
558 &ipcp, /* IDX_IPCP */
733 SPPP_LOG(sp, LOG_INFO, "reject IPCP packet "
734 "because IPCP is disabled\n");
739 sppp_cp_input(&ipcp, sp, m);
1134 sppp_cp_fini(&ipcp, sp);
3358 * The IPCP implementation. *
3369 sppp_cp_init(&ipcp, sp);
3371 sp->ipcp.opts = 0;
3372 sp->ipcp.flags = 0;
3386 sp->ipcp.flags &= ~(IPCP_HISADDR_SEEN|IPCP_MYADDR_SEEN|IPCP_MYADDR_DYN|IPCP_HISADDR_DYN);
3387 sp->ipcp.req_myaddr = 0;
3388 sp->ipcp.req_hisaddr = 0;
3400 * example.) Don't open IPCP in this case.
3413 sp->ipcp.flags |= IPCP_MYADDR_DYN;
3414 SET(sp->ipcp.opts, SPPP_IPCP_OPT_ADDRESS);
3421 sp->ipcp.flags |= IPCP_HISADDR_DYN;
3422 sp->ipcp.saved_hisaddr = htonl(hisaddr);
3426 SET(sp->ipcp.opts, SPPP_IPCP_OPT_PRIMDNS);
3428 CLR(sp->ipcp.opts, SPPP_IPCP_OPT_PRIMDNS);
3432 SET(sp->ipcp.opts, SPPP_IPCP_OPT_SECDNS);
3434 CLR(sp->ipcp.opts, SPPP_IPCP_OPT_SECDNS);
3449 if (sp->ipcp.flags & (IPCP_MYADDR_DYN|IPCP_HISADDR_DYN)) {
3500 SPPP_LOG(sp, LOG_DEBUG, "ipcp parse opts:");
3516 " malicious IPCP option received, dropping\n");
3569 if (sp->ipcp.flags & IPCP_HISADDR_SEEN)
3570 hisaddr = sp->ipcp.req_hisaddr; /* we already aggreed on that */
3578 SPPP_LOG(sp, LOG_DEBUG, "ipcp parse opt values:");
3600 ((sp->ipcp.flags & IPCP_HISADDR_DYN) && desiredaddr != 0)) {
3612 sp->ipcp.flags |= IPCP_HISADDR_SEEN;
3613 sp->ipcp.req_hisaddr = desiredaddr;
3654 if ((sp->ipcp.flags & IPCP_HISADDR_SEEN) == 0) {
3699 * Analyze the IPCP Configure-Reject option list, and adjust our
3717 SPPP_LOG(sp, LOG_DEBUG, "ipcp rej opts:");
3731 "malicious IPCP option received, dropping\n");
3747 "IPCP address option rejected\n");
3749 CLR(sp->ipcp.opts, SPPP_IPCP_OPT_ADDRESS);
3753 CLR(sp->ipcp.opts, SPPP_IPCP_OPT_COMPRESS);
3757 CLR(sp->ipcp.opts, SPPP_IPCP_OPT_PRIMDNS);
3761 CLR(sp->ipcp.opts, SPPP_IPCP_OPT_SECDNS);
3772 * Analyze the IPCP Configure-NAK option list, and adjust our
3790 SPPP_LOG(sp, LOG_DEBUG, "ipcp nak opts:");
3804 "malicious IPCP option received, dropping\n");
3822 SET(sp->ipcp.opts, SPPP_IPCP_OPT_ADDRESS);
3837 if (sp->ipcp.flags & IPCP_MYADDR_DYN) {
3841 sp->ipcp.flags |= IPCP_MYADDR_SEEN;
3842 sp->ipcp.req_myaddr = wantaddr;
3852 if (ISSET(sp->ipcp.opts, SPPP_IPCP_OPT_PRIMDNS) &&
3860 if (ISSET(sp->ipcp.opts, SPPP_IPCP_OPT_SECDNS) &&
3887 SPPP_LOG(sp, LOG_INFO, "IPCP layer up\n");
3889 if ((sp->ipcp.flags & IPCP_MYADDR_DYN) &&
3890 ((sp->ipcp.flags & IPCP_MYADDR_SEEN) == 0)) {
3892 "no IP address, closing IPCP\n");
3911 SPPP_LOG(sp, LOG_INFO, "IPCP layer down\n");
3929 if (ISSET(sp->ipcp.opts,SPPP_IPCP_OPT_COMPRESSION)) {
3940 if (ISSET(sp->ipcp.opts, SPPP_IPCP_OPT_ADDRESS)) {
3941 if (sp->ipcp.flags & IPCP_MYADDR_SEEN) {
3942 ouraddr = sp->ipcp.req_myaddr; /* not sure if this can ever happen */
3955 if (ISSET(sp->ipcp.opts, SPPP_IPCP_OPT_PRIMDNS)) {
3963 if (ISSET(sp->ipcp.opts, SPPP_IPCP_OPT_SECDNS)) {
5623 if ((sp->ipcp.flags & IPCP_MYADDR_DYN) && (sp->ipcp.flags & IPCP_MYADDR_SEEN))
5624 myaddr = sp->ipcp.req_myaddr;
5628 if ((sp->ipcp.flags & IPCP_HISADDR_DYN) && (sp->ipcp.flags & IPCP_HISADDR_SEEN))
5629 hisaddr = sp->ipcp.req_hisaddr;
5643 sp->ipcp.saved_hisaddr = dest->sin_addr.s_addr;
5707 if (sp->ipcp.flags & IPCP_MYADDR_DYN)
5709 if (sp->ipcp.flags & IPCP_HISADDR_DYN &&
5710 ntohl(sp->ipcp.saved_hisaddr) != 0)
5711 new_dst.sin_addr.s_addr = sp->ipcp.saved_hisaddr;
6198 status->opts = sp->ipcp.opts;
6402 case PPP_IPCP: return "ipcp";