net-ppp: return error when PPP link gets terminated by the peer.
This commit is contained in:
parent
a4d78a6552
commit
975f2f23c0
2 changed files with 6 additions and 1 deletions
|
@ -18,7 +18,7 @@ log = { version = "0.4.14", optional = true }
|
|||
embedded-io-async = { version = "0.5.0" }
|
||||
embassy-net-driver-channel = { version = "0.1.0", path = "../embassy-net-driver-channel" }
|
||||
embassy-futures = { version = "0.1.0", path = "../embassy-futures" }
|
||||
ppproto = { version = "0.1.1"}
|
||||
ppproto = { version = "0.1.2"}
|
||||
embassy-sync = { version = "0.2.0", path = "../embassy-sync" }
|
||||
|
||||
[package.metadata.embassy_docs]
|
||||
|
|
|
@ -53,6 +53,8 @@ pub enum RunError<E> {
|
|||
WriteZero,
|
||||
/// Writing to the serial got EOF.
|
||||
Eof,
|
||||
/// PPP protocol was terminated by the peer
|
||||
Terminated,
|
||||
}
|
||||
|
||||
impl<E> From<WriteAllError<E>> for RunError<E> {
|
||||
|
@ -128,6 +130,9 @@ impl<'d> Runner<'d> {
|
|||
|
||||
let status = ppp.status();
|
||||
match status.phase {
|
||||
ppproto::Phase::Dead => {
|
||||
return Err(RunError::Terminated);
|
||||
}
|
||||
ppproto::Phase::Open => {
|
||||
if !was_up {
|
||||
on_ipv4_up(status.ipv4.unwrap());
|
||||
|
|
Loading…
Reference in a new issue