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

Function sppp_close_event

freebsd/net/if_spppsubr.c:1982–2019  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1980}
1981
1982static void
1983sppp_close_event(const struct cp *cp, struct sppp *sp)
1984{
1985 STDDCL;
1986
1987 if (debug)
1988 log(LOG_DEBUG, SPP_FMT "%s close(%s)\n",
1989 SPP_ARGS(ifp), cp->name,
1990 sppp_state_name(sp->state[cp->protoidx]));
1991
1992 switch (sp->state[cp->protoidx]) {
1993 case STATE_INITIAL:
1994 case STATE_CLOSED:
1995 case STATE_CLOSING:
1996 break;
1997 case STATE_STARTING:
1998 sppp_cp_change_state(cp, sp, STATE_INITIAL);
1999 (cp->tlf)(sp);
2000 break;
2001 case STATE_STOPPED:
2002 sppp_cp_change_state(cp, sp, STATE_CLOSED);
2003 break;
2004 case STATE_STOPPING:
2005 sppp_cp_change_state(cp, sp, STATE_CLOSING);
2006 break;
2007 case STATE_OPENED:
2008 (cp->tld)(sp);
2009 /* FALLTHROUGH */
2010 case STATE_REQ_SENT:
2011 case STATE_ACK_RCVD:
2012 case STATE_ACK_SENT:
2013 sp->rst_counter[cp->protoidx] = sp->lcp.max_terminate;
2014 sppp_cp_send(sp, cp->proto, TERM_REQ,
2015 ++sp->pp_seq[cp->protoidx], 0, 0);
2016 sppp_cp_change_state(cp, sp, STATE_CLOSING);
2017 break;
2018 }
2019}
2020
2021static void
2022sppp_to_event(const struct cp *cp, struct sppp *sp)

Callers 3

sppp_lcp_closeFunction · 0.85
sppp_ipcp_closeFunction · 0.85
sppp_ipv6cp_closeFunction · 0.85

Calls 4

sppp_state_nameFunction · 0.85
sppp_cp_change_stateFunction · 0.85
sppp_cp_sendFunction · 0.85
logFunction · 0.50

Tested by

no test coverage detected