MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sppp_attach

Function sppp_attach

freebsd/net/if_spppsubr.c:1002–1053  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1000}
1001
1002void
1003sppp_attach(struct ifnet *ifp)
1004{
1005 struct sppp *sp = IFP2SP(ifp);
1006
1007 /* Initialize mtx lock */
1008 mtx_init(&sp->mtx, "sppp", MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE);
1009
1010 /* Initialize keepalive handler. */
1011 callout_init(&sp->keepalive_callout, 1);
1012 callout_reset(&sp->keepalive_callout, hz * 10, sppp_keepalive,
1013 (void *)sp);
1014
1015 ifp->if_mtu = PP_MTU;
1016 ifp->if_flags = IFF_POINTOPOINT | IFF_MULTICAST;
1017 ifp->if_output = sppp_output;
1018#if 0
1019 sp->pp_flags = PP_KEEPALIVE;
1020#endif
1021 ifp->if_snd.ifq_maxlen = 32;
1022 sp->pp_fastq.ifq_maxlen = 32;
1023 sp->pp_cpq.ifq_maxlen = 20;
1024 sp->pp_loopcnt = 0;
1025 sp->pp_alivecnt = 0;
1026 bzero(&sp->pp_seq[0], sizeof(sp->pp_seq));
1027 bzero(&sp->pp_rseq[0], sizeof(sp->pp_rseq));
1028 sp->pp_phase = PHASE_DEAD;
1029 sp->pp_up = sppp_pp_up;
1030 sp->pp_down = sppp_pp_down;
1031 if(!mtx_initialized(&sp->pp_cpq.ifq_mtx))
1032 mtx_init(&sp->pp_cpq.ifq_mtx, "sppp_cpq", NULL, MTX_DEF);
1033 if(!mtx_initialized(&sp->pp_fastq.ifq_mtx))
1034 mtx_init(&sp->pp_fastq.ifq_mtx, "sppp_fastq", NULL, MTX_DEF);
1035 sp->pp_last_recv = sp->pp_last_sent = time_uptime;
1036 sp->confflags = 0;
1037#ifdef INET
1038 sp->confflags |= CONF_ENABLE_VJ;
1039#endif
1040#ifdef INET6
1041 sp->confflags |= CONF_ENABLE_IPV6;
1042#endif
1043 callout_init(&sp->ifstart_callout, 1);
1044 sp->if_start = ifp->if_start;
1045 ifp->if_start = sppp_ifstart;
1046 sp->pp_comp = malloc(sizeof(struct slcompress), M_TEMP, M_WAITOK);
1047 sl_compress_init(sp->pp_comp, -1);
1048 sppp_lcp_init(sp);
1049 sppp_ipcp_init(sp);
1050 sppp_ipv6cp_init(sp);
1051 sppp_pap_init(sp);
1052 sppp_chap_init(sp);
1053}
1054
1055void
1056sppp_detach(struct ifnet *ifp)

Callers 1

ng_sppp_constructorFunction · 0.85

Calls 10

mtx_initFunction · 0.85
bzeroFunction · 0.85
mallocFunction · 0.85
sl_compress_initFunction · 0.85
sppp_lcp_initFunction · 0.85
sppp_ipcp_initFunction · 0.85
sppp_ipv6cp_initFunction · 0.85
sppp_pap_initFunction · 0.85
sppp_chap_initFunction · 0.85
callout_initFunction · 0.50

Tested by

no test coverage detected