From f9d25fa3faf66bcd4265fe01f23c5fd724e27601 Mon Sep 17 00:00:00 2001 From: Paul Durrant Date: Tue, 11 Aug 2020 09:01:55 +0100 Subject: [PATCH] public/io/netif: specify MTU override node There is currently no documentation to state what MTU a frontend should adertise to its network stack. It has however long been assumed that the default value of 1500 is correct. This patch specifies a mechanism to allow the tools to set the MTU via a xenstore node in the frontend area and states that the absence of that node means the frontend should assume an MTU of 1500 octets. NOTE: The Windows PV frontend has used an MTU sampled from the xenstore node specified in this patch. Signed-off-by: Paul Durrant Reviewed-by: Juergen Gross Reviewed-by: Ian Jackson Acked-by: Wei Liu --- docs/misc/xenstore-paths.pandoc | 3 +++ xen/include/public/io/netif.h | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/docs/misc/xenstore-paths.pandoc b/docs/misc/xenstore-paths.pandoc index 766e8008dc..5cd5c8a3b9 100644 --- a/docs/misc/xenstore-paths.pandoc +++ b/docs/misc/xenstore-paths.pandoc @@ -298,6 +298,9 @@ A virtual keyboard device frontend. Described by A virtual network device frontend. Described by [xen/include/public/io/netif.h][NETIF] +NOTE: ~/device/vif/$DEVID/mtu can be used to inform the frontend of an + increased MTU. (The default MTU is 1500 octets). + #### ~/device/vscsi/$DEVID/* [] A virtual scsi device frontend. Described by diff --git a/xen/include/public/io/netif.h b/xen/include/public/io/netif.h index 9fcf91a2fe..00dd258712 100644 --- a/xen/include/public/io/netif.h +++ b/xen/include/public/io/netif.h @@ -204,6 +204,18 @@ * present). */ +/* + * MTU + * === + * + * The toolstack may set a value of MTU for the frontend by setting the + * /local/domain//device/vif//mtu node with the MTU value in + * octets. If this node is absent the frontend should assume an MTU value + * of 1500 octets. A frontend is also at liberty to ignore this value so + * it is only suitable for informing the frontend that a packet payload + * >1500 octets is permitted. + */ + /* * Hash types * ========== -- 2.30.2