On Fri, 26 Aug 2016 20:54:28 -0400 souvikdey33 <sodey at sonusnet.com> 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 <sodey at sonusnet.com> > > 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.