diff options
| -rw-r--r-- | embassy-net-ppp/Cargo.toml | 2 | ||||
| -rw-r--r-- | embassy-net-ppp/src/lib.rs | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/embassy-net-ppp/Cargo.toml b/embassy-net-ppp/Cargo.toml index b2874c683..191577b5c 100644 --- a/embassy-net-ppp/Cargo.toml +++ b/embassy-net-ppp/Cargo.toml | |||
| @@ -18,7 +18,7 @@ log = { version = "0.4.14", optional = true } | |||
| 18 | embedded-io-async = { version = "0.5.0" } | 18 | embedded-io-async = { version = "0.5.0" } |
| 19 | embassy-net-driver-channel = { version = "0.1.0", path = "../embassy-net-driver-channel" } | 19 | embassy-net-driver-channel = { version = "0.1.0", path = "../embassy-net-driver-channel" } |
| 20 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } | 20 | embassy-futures = { version = "0.1.0", path = "../embassy-futures" } |
| 21 | ppproto = { version = "0.1.1"} | 21 | ppproto = { version = "0.1.2"} |
| 22 | embassy-sync = { version = "0.2.0", path = "../embassy-sync" } | 22 | embassy-sync = { version = "0.2.0", path = "../embassy-sync" } |
| 23 | 23 | ||
| 24 | [package.metadata.embassy_docs] | 24 | [package.metadata.embassy_docs] |
diff --git a/embassy-net-ppp/src/lib.rs b/embassy-net-ppp/src/lib.rs index ca87fbaea..66496ee0a 100644 --- a/embassy-net-ppp/src/lib.rs +++ b/embassy-net-ppp/src/lib.rs | |||
| @@ -53,6 +53,8 @@ pub enum RunError<E> { | |||
| 53 | WriteZero, | 53 | WriteZero, |
| 54 | /// Writing to the serial got EOF. | 54 | /// Writing to the serial got EOF. |
| 55 | Eof, | 55 | Eof, |
| 56 | /// PPP protocol was terminated by the peer | ||
| 57 | Terminated, | ||
| 56 | } | 58 | } |
| 57 | 59 | ||
| 58 | impl<E> From<WriteAllError<E>> for RunError<E> { | 60 | impl<E> From<WriteAllError<E>> for RunError<E> { |
| @@ -128,6 +130,9 @@ impl<'d> Runner<'d> { | |||
| 128 | 130 | ||
| 129 | let status = ppp.status(); | 131 | let status = ppp.status(); |
| 130 | match status.phase { | 132 | match status.phase { |
| 133 | ppproto::Phase::Dead => { | ||
| 134 | return Err(RunError::Terminated); | ||
| 135 | } | ||
| 131 | ppproto::Phase::Open => { | 136 | ppproto::Phase::Open => { |
| 132 | if !was_up { | 137 | if !was_up { |
| 133 | on_ipv4_up(status.ipv4.unwrap()); | 138 | on_ipv4_up(status.ipv4.unwrap()); |
