chiark / gitweb /
check mtu
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 15 Aug 2021 23:19:44 +0000 (00:19 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 15 Aug 2021 23:19:44 +0000 (00:19 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
PROTOCOL
docs/settings.rst
src/bin/client.rs
src/bin/server.rs

index 4c813b9dac9c072d8020e1ea78061c6ef97b05de..eea9c5b805e7bc9133edf1a861005e13fe99a292 100644 (file)
--- a/PROTOCOL
+++ b/PROTOCOL
@@ -22,8 +22,9 @@ Client form parameters (multipart/form-data):
                        token
                        target_requests_outstanding
                        http_timeout
-                       max_batch_down          } not supplied
-                       max_batch_up            }  by older clients
+                        mtu                     } not supplied
+                       max_batch_down          }  by older
+                       max_batch_up            }  clients
  d              data (SLIP format, with SLIP_ESC and `-' swapped)
 
 
index f900673389eaeff4b429f1341cf723418bc17419..7b44350dc52828b441d5fc2107fe4f644e491f7e 100644 (file)
@@ -149,7 +149,7 @@ sections.
 
 ``mtu``
   Of virtual interface.
-  Must match exactly at each end - *this is not checked*.
+  Must match exactly at each end (checked).
   [``1500`` (bytes)]
 
   
index d73eceb221277819c858df45c602171d7d6b12aa..e89eeade2c8f67a0a73753be4f9084f639c61855 100644 (file)
@@ -65,11 +65,13 @@ fn submit_request<'r, 'c:'r, C:HCC>(
        {}
        {}
        {}
+       {}
        {}"#),
                        &c.ic.link.client,
                        token,
                        c.ic.target_requests_outstanding,
                        show_timeout,
+                       c.ic.mtu,
                        c.ic.max_batch_down,
                        c.ic.max_batch_up,
   );
index cf0eec1d34425d054a6ea298db5facd97b202836..4900e9778559d546035082cad82a1de1798786e2 100644 (file)
@@ -319,6 +319,11 @@ async fn run_client(ic: Arc<InstanceConfig>,
             let server, client = Duration::from_secs(meta.need_parse()?);
           }
 
+          meta!{
+            mtu, ( != ), client,
+            let server, client: u32 = meta.parse()?.unwrap_or(server);
+          }
+
           meta!{
             max_batch_down, (), min(client, server),
             let server, client: u32 = meta.parse()?.unwrap_or(server);