PPP Phase Diagram [1] allows only one way phase change. In current implementation there is an additional RUNNING phase, which is entered just after NETWORK phase. Prevent going back from RUNNING to NETWORK phase when Term-Req was received, as this is meaningless for overall PPP operation and violates PPP Phase Diagram property of having one way direction change. This change also improves Adminitrative Close handling (calling lcp_close()). This request results in moving into TERMINATE phase. Then LCP is put down (by calling lcp_down()) and then ppp_link_down() is called, which so far (before this patch) resulted in moving back to NETWORK and then to DEAD. Right now (after this patch) we move directly from TERMINATE to DEAD phase, which is exactly how [1] specifies it. [1] https://tools.ietf.org/html/rfc1661#section-3.2 Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com> |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| fsm.c | ||
| ipcp.c | ||
| ipv6cp.c | ||
| Kconfig | ||
| lcp.c | ||
| link.c | ||
| misc.c | ||
| network.c | ||
| options.c | ||
| pap.c | ||
| ppp_internal.h | ||
| ppp_l2.c | ||
| ppp_mgmt.c | ||
| ppp_stats.c | ||
| ppp_stats.h | ||