Module Name: src Committed By: yamaguchi Date: Wed Nov 25 09:59:52 UTC 2020
Modified Files: src/sys/net: if_spppsubr.c Log Message: Add a function to initialize parameters To generate a diff of this commit: cvs rdiff -u -r1.203 -r1.204 src/sys/net/if_spppsubr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/if_spppsubr.c diff -u src/sys/net/if_spppsubr.c:1.203 src/sys/net/if_spppsubr.c:1.204 --- src/sys/net/if_spppsubr.c:1.203 Wed Nov 25 09:57:26 2020 +++ src/sys/net/if_spppsubr.c Wed Nov 25 09:59:52 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: if_spppsubr.c,v 1.203 2020/11/25 09:57:26 yamaguchi Exp $ */ +/* $NetBSD: if_spppsubr.c,v 1.204 2020/11/25 09:59:52 yamaguchi Exp $ */ /* * Synchronous PPP/Cisco link level subroutines. @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.203 2020/11/25 09:57:26 yamaguchi Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_spppsubr.c,v 1.204 2020/11/25 09:59:52 yamaguchi Exp $"); #if defined(_KERNEL_OPT) #include "opt_inet.h" @@ -1541,6 +1541,10 @@ sppp_cp_init(const struct cp *cp, struct }; scp = &sp->scp[cp->protoidx]; + scp->state = STATE_INITIAL; + scp->fail_counter = 0; + scp->seq = 0; + scp->rseq = 0; SPPP_WQ_SET(&scp->work_up, cp->Up, cp); SPPP_WQ_SET(&scp->work_down, cp->Down, cp); @@ -2375,13 +2379,14 @@ sppp_lcp_init(struct sppp *sp) KASSERT(SPPP_WLOCKED(sp)); + sppp_cp_init(&lcp, sp); + sp->lcp.opts = (1 << LCP_OPT_MAGIC); sp->lcp.magic = 0; - sp->scp[IDX_LCP].state = STATE_INITIAL; - sp->scp[IDX_LCP].fail_counter = 0; - sp->scp[IDX_LCP].seq = 0; - sp->scp[IDX_LCP].rseq = 0; sp->lcp.protos = 0; + sp->lcp.max_terminate = 2; + sp->lcp.max_configure = 10; + sp->lcp.max_failure = 10; /* * Initialize counters and timeout values. Note that we don't @@ -2391,10 +2396,6 @@ sppp_lcp_init(struct sppp *sp) * relevant for all control protocols, not just LCP only. */ sp->lcp.timeout = 1 * hz; - sp->lcp.max_terminate = 2; - sp->lcp.max_configure = 10; - sp->lcp.max_failure = 10; - sppp_cp_init(&lcp, sp); } static void @@ -3230,13 +3231,10 @@ sppp_ipcp_init(struct sppp *sp) KASSERT(SPPP_WLOCKED(sp)); + sppp_cp_init(&ipcp, sp); + sp->ipcp.opts = 0; sp->ipcp.flags = 0; - sp->scp[IDX_IPCP].state = STATE_INITIAL; - sp->scp[IDX_IPCP].fail_counter = 0; - sp->scp[IDX_IPCP].seq = 0; - sp->scp[IDX_IPCP].rseq = 0; - sppp_cp_init(&ipcp, sp); error = workqueue_create(&sp->ipcp.update_addrs_wq, "ipcp_addr", sppp_update_ip_addrs_work, sp, PRI_SOFTNET, IPL_NET, 0); @@ -3778,13 +3776,10 @@ sppp_ipv6cp_init(struct sppp *sp) KASSERT(SPPP_WLOCKED(sp)); + sppp_cp_init(&ipv6cp, sp); + sp->ipv6cp.opts = 0; sp->ipv6cp.flags = 0; - sp->scp[IDX_IPV6CP].state = STATE_INITIAL; - sp->scp[IDX_IPV6CP].fail_counter = 0; - sp->scp[IDX_IPV6CP].seq = 0; - sp->scp[IDX_IPV6CP].rseq = 0; - sppp_cp_init(&ipv6cp, sp); } static void @@ -4628,13 +4623,10 @@ sppp_chap_init(struct sppp *sp) KASSERT(SPPP_WLOCKED(sp)); - sp->scp[IDX_CHAP].state = STATE_INITIAL; - sp->scp[IDX_CHAP].fail_counter = 0; - sp->scp[IDX_CHAP].seq = 0; - sp->scp[IDX_CHAP].rseq = 0; + sppp_cp_init(&chap, sp); + SPPP_WQ_SET(&sp->chap.work_challenge_rcvd, sppp_chap_rcv_challenge_event, &chap); - sppp_cp_init(&chap, sp); } static void @@ -4958,11 +4950,6 @@ sppp_pap_init(struct sppp *sp) { KASSERT(SPPP_WLOCKED(sp)); - - sp->scp[IDX_PAP].state = STATE_INITIAL; - sp->scp[IDX_PAP].fail_counter = 0; - sp->scp[IDX_PAP].seq = 0; - sp->scp[IDX_PAP].rseq = 0; sppp_cp_init(&pap, sp); }