Re: [PATCH v1] add mtu set in virtio
From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2016-08-28 00:15:29
On Fri, 26 Aug 2016 20:54:28 -0400 souvikdey33 [off-list ref] wrote:
This functionality is required mostly in the cloud infrastructure. For example, if we use gre or vxlan network between compute and controller, then we should not use 1500 mtu in the guest as with encapsulation the sixe of the packet will be more and will get dropped in the infrastructure. So, in that case we should honor the mtu size sent by the dhcp server and configure the same on the virtual interfaces in the guest. This will also keep a consistent mtu through out the infrastructure. souvikdey33 (1): Signed-off-by: Souvik Dey [off-list ref] drivers/net/virtio/virtio_ethdev.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
Thanks for the patch, it is a good step forward but it looks like more code is needed to do this safely. At a minimum, need to check that MTU is not greater than VIRTIO_MAX_RX_PKTLEN. And error return should be negative errno not -1. Something like: if (mtu < VIRTIO_MIN_MTU || mtu > VIRTIO_MAX_RX_PKTLEN) return -EINVAL; Looking at Linux driver, it allows MTU of up to 64K, yet DPDK only allows 9728. That should probably be fixed.