zephyr/subsys/net/l2/ppp
Marcin Niestroj 4c8d1496ea net: l2: ppp: don't move back to NETWORK state when link goes down
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>
2020-08-21 11:53:59 +03:00
..
CMakeLists.txt net: l2: ppp: add initial support for PAP authentication 2020-08-18 20:03:05 +03:00
fsm.c net: l2: ppp: add initial support for PAP authentication 2020-08-18 20:03:05 +03:00
ipcp.c net: l2: ppp: support returning Conf-Nak on unsupported option values 2020-08-18 20:03:05 +03:00
ipv6cp.c net: l2: ppp: support returning Conf-Nak on unsupported option values 2020-08-18 20:03:05 +03:00
Kconfig net: l2: ppp: add initial support for PAP authentication 2020-08-18 20:03:05 +03:00
lcp.c net: l2: ppp: lcp: do not force STOPPED state after Adminitrative Close 2020-08-21 11:53:38 +03:00
link.c net: l2: ppp: don't move back to NETWORK state when link goes down 2020-08-21 11:53:59 +03:00
misc.c net: l2: ppp: add enums and strings for authentication protocols 2020-08-18 20:03:05 +03:00
network.c net: Use section foreach macros 2020-07-20 08:32:46 -07:00
options.c net: l2: ppp: support returning Conf-Nak on unsupported option values 2020-08-18 20:03:05 +03:00
pap.c net: l2: ppp: add initial support for PAP authentication 2020-08-18 20:03:05 +03:00
ppp_internal.h net: l2: ppp: add initial support for PAP authentication 2020-08-18 20:03:05 +03:00
ppp_l2.c device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
ppp_mgmt.c net: ppp: Implement missing ppp mgmt functions 2020-03-24 14:29:49 -05:00
ppp_stats.c device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00
ppp_stats.h device: Apply driver_api/data attributes rename everywhere 2020-08-11 19:30:53 +02:00