Lines Matching refs:lcp

95  * being one of "lcp", "ipcp", "cisco", "chap", "pap", etc.
395 static const struct cp lcp = {
396 PPP_LCP, IDX_LCP, CP_LCP, "lcp",
448 &lcp, /* IDX_LCP */
581 sppp_cp_input(&lcp, sp, m);
836 lcp.Open(sp);
1256 lcp.Close(sp);
1267 lcp.Close(sp);
1271 lcp.Open(sp);
1288 if (ifr->ifr_mtu < 128 || ifr->ifr_mtu > sp->lcp.their_mru)
1295 if (*(short*)data < 128 || *(short*)data > sp->lcp.their_mru)
1568 sp->rst_counter[cp->protoidx] = sp->lcp.max_configure;
1610 sp->rst_counter[cp->protoidx] = sp->lcp.max_configure;
1621 sp->rst_counter[cp->protoidx] = sp->lcp.max_configure;
1658 sp->rst_counter[cp->protoidx] = sp->lcp.max_configure;
1847 log(-1, SPP_FMT "lcp echo req but lcp closed\n",
1854 log(-1, SPP_FMT "invalid lcp echo request "
1859 if ((sp->lcp.opts & (1 << LCP_OPT_MAGIC)) &&
1860 ntohl (*(long*)(h+1)) == sp->lcp.magic) {
1869 lcp.Down(sp);
1870 lcp.Up(sp);
1873 *(long*)(h+1) = htonl (sp->lcp.magic);
1875 log(-1, SPP_FMT "got lcp echo req, sending echo rep\n",
1882 if (h->ident != sp->lcp.echoid) {
1888 log(-1, SPP_FMT "lcp invalid echo reply "
1894 log(-1, SPP_FMT "lcp got echo rep\n",
1896 if (!(sp->lcp.opts & (1 << LCP_OPT_MAGIC)) ||
1897 ntohl (*(long*)(h+1)) != sp->lcp.magic)
1932 sp->rst_counter[cp->protoidx] = sp->lcp.max_configure;
1998 sp->rst_counter[cp->protoidx] = sp->lcp.max_configure;
2061 sp->rst_counter[cp->protoidx] = sp->lcp.max_terminate;
2108 callout_reset(&sp->ch[cp->protoidx], sp->lcp.timeout,
2119 callout_reset(&sp->ch[cp->protoidx], sp->lcp.timeout,
2151 callout_reset(&sp->ch[cp->protoidx], sp->lcp.timeout,
2168 lcp.Up(sp);
2176 lcp.Down(sp);
2183 sp->lcp.opts = (1 << LCP_OPT_MAGIC);
2184 sp->lcp.magic = 0;
2189 sp->lcp.protos = 0;
2190 sp->lcp.mru = sp->lcp.their_mru = PP_MTU;
2193 sp->lcp.timeout = 3 * hz;
2194 sp->lcp.max_terminate = 2;
2195 sp->lcp.max_configure = 10;
2196 sp->lcp.max_failure = 10;
2206 sp->lcp.opts = (1 << LCP_OPT_MAGIC);
2207 sp->lcp.magic = 0;
2208 sp->lcp.protos = 0;
2209 sp->lcp.mru = sp->lcp.their_mru = PP_MTU;
2214 sp->lcp.opts |= (1 << LCP_OPT_AUTH_PROTO);
2216 sp->lcp.opts &= ~(1 << LCP_OPT_AUTH_PROTO);
2232 lcp.Open(sp);
2238 lcp.Open(sp);
2241 sppp_up_event(&lcp, sp);
2249 sppp_down_event(&lcp, sp);
2270 lcp.Close(sp);
2278 sppp_open_event(&lcp, sp);
2284 sppp_close_event(&lcp, sp);
2290 sppp_to_event(&lcp, (struct sppp *)cookie);
2315 log(LOG_DEBUG, SPP_FMT "lcp parse opts: ",
2395 log(LOG_DEBUG, SPP_FMT "lcp parse opt values: ",
2409 if (nmagic != sp->lcp.magic) {
2423 nmagic = ~sp->lcp.magic;
2453 sp->lcp.their_mru = p[2] * 256 + p[3];
2455 log(-1, "%lu ", sp->lcp.their_mru);
2495 lcp.Down(sp);
2496 lcp.Up(sp);
2499 ++sp->fail_counter[IDX_LCP] >= sp->lcp.max_failure) {
2503 sp->lcp.max_failure);
2539 log(LOG_DEBUG, SPP_FMT "lcp rej opts: ",
2550 sp->lcp.opts &= ~(1 << LCP_OPT_MAGIC);
2551 sp->lcp.magic = 0;
2559 sp->lcp.opts &= ~(1 << LCP_OPT_MRU);
2572 sp->lcp.opts &= ~(1 << LCP_OPT_AUTH_PROTO);
2577 lcp.Close(sp);
2604 log(LOG_DEBUG, SPP_FMT "lcp nak opts: ",
2615 if ((sp->lcp.opts & (1 << LCP_OPT_MAGIC)) &&
2624 if (magic == ~sp->lcp.magic) {
2627 sp->lcp.magic = random();
2629 sp->lcp.magic = magic;
2647 sp->lcp.mru = mru;
2648 sp->lcp.opts |= (1 << LCP_OPT_MRU);
2658 lcp.Close(sp);
2687 if ((sp->lcp.opts & (1 << LCP_OPT_AUTH_PROTO)) != 0 ||
2726 if ((sp->lcp.protos & mask) && ((cps[i])->flags & CP_LCP) == 0)
2758 if ((sp->lcp.protos & mask) && ((cps[i])->flags & CP_LCP) == 0) {
2806 if (sp->lcp.opts & (1 << LCP_OPT_MAGIC)) {
2807 if (! sp->lcp.magic)
2808 sp->lcp.magic = random();
2811 opt[i++] = sp->lcp.magic >> 24;
2812 opt[i++] = sp->lcp.magic >> 16;
2813 opt[i++] = sp->lcp.magic >> 8;
2814 opt[i++] = sp->lcp.magic;
2817 if (sp->lcp.opts & (1 << LCP_OPT_MRU)) {
2820 opt[i++] = sp->lcp.mru >> 8;
2821 opt[i++] = sp->lcp.mru;
2824 if (sp->lcp.opts & (1 << LCP_OPT_AUTH_PROTO)) {
2847 if ((sp->lcp.protos & mask) && (cps[i])->flags & CP_NCP)
2867 lcp.Close(sp);
3317 sp->lcp.protos |= (1 << IDX_IPCP);
3324 sp->lcp.protos &= ~(1 << IDX_IPCP);
3833 sp->lcp.protos |= (1 << IDX_IPV6CP);
3842 sp->lcp.protos &= ~(1 << IDX_IPV6CP);
4109 (sp->lcp.opts & (1 << LCP_OPT_AUTH_PROTO)) &&
4110 (sp->lcp.protos & (1 << IDX_CHAP)) == 0) {
4262 (sp->lcp.opts & (1 << LCP_OPT_AUTH_PROTO)) != 0) {
4265 sp->rst_counter[IDX_CHAP] = sp->lcp.max_configure;
4306 sp->rst_counter[IDX_CHAP] = sp->lcp.max_configure;
4326 sp->rst_counter[IDX_CHAP] = sp->lcp.max_configure;
4357 sp->lcp.protos |= (1 << IDX_CHAP);
4388 sp->lcp.protos &= ~(1 << IDX_CHAP);
4390 lcp.Close(sp);
4530 (sp->lcp.opts & (1 << LCP_OPT_AUTH_PROTO)) &&
4531 (sp->lcp.protos & (1 << IDX_PAP)) == 0) {
4594 (sp->lcp.opts & (1 << LCP_OPT_AUTH_PROTO)) != 0) {
4596 sp->rst_counter[IDX_PAP] = sp->lcp.max_configure;
4602 callout_reset(&sp->pap_my_to_ch, sp->lcp.timeout,
4680 sp->rst_counter[IDX_PAP] = sp->lcp.max_configure;
4689 sp->lcp.protos |= (1 << IDX_PAP);
4715 sp->lcp.protos &= ~(1 << IDX_PAP);
4717 lcp.Close(sp);
4867 lcp.Down(sp);
4869 lcp.Up(sp);
4878 long nmagic = htonl (sp->lcp.magic);
4879 sp->lcp.echoid = ++sp->pp_seq[IDX_LCP];
4881 sp->lcp.echoid, 4, &nmagic);
5160 spr->defs.lcp = sp->lcp;
5175 spr->defs.lcp.timeout = sp->lcp.timeout * 1000 / hz;
5247 if (spr->defs.lcp.timeout != 0)
5248 sp->lcp.timeout = spr->defs.lcp.timeout * hz / 1000;
5294 if ((sp->lcp.protos & mask) && ((cps[i])->flags & CP_NCP))
5359 snprintf (buf, sizeof(buf), "lcp/0x%x", opt);
5428 case PPP_LCP: return "lcp";