From 07a3723f20ce90c1d4f4fe81770c49fef231d174 Mon Sep 17 00:00:00 2001 From: Maysa Macedo Date: Tue, 30 Mar 2021 17:06:21 +0000 Subject: [PATCH] Allow Pods Network to have smaller MTU than Nodes We should allow Pods Network MTU to be smaller than the MTU of the Host VM to address scenarios like Nodes Network being a provider network, while Pods Network is a Tenant Network. This commit fixes the issue by allowing binding of VIFs with MTU smaller than the Nodes. Change-Id: Ibadcd07824702ff1160a4a1d6d10313c15910dea --- kuryr_kubernetes/cni/binding/nested.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/kuryr_kubernetes/cni/binding/nested.py b/kuryr_kubernetes/cni/binding/nested.py index 55b074ad4..ffb843993 100644 --- a/kuryr_kubernetes/cni/binding/nested.py +++ b/kuryr_kubernetes/cni/binding/nested.py @@ -109,15 +109,15 @@ class NestedDriver(health.HealthHandler, b_base.BaseBindingDriver, # driver for getting the link device. vm_iface_name = self._detect_iface_name(h_ipdb) mtu = h_ipdb.interfaces[vm_iface_name].mtu - if mtu != vif.network.mtu: + if mtu < vif.network.mtu: # NOTE(dulek): This might happen if Neutron and DHCP agent # have different MTU settings. See # https://bugs.launchpad.net/kuryr-kubernetes/+bug/1863212 raise exceptions.CNIBindingFailure( - f'MTU of interface {vm_iface_name} ({mtu}) does not ' - f'match MTU of pod network {vif.network.id} ' + f'MTU of interface {vm_iface_name} ({mtu}) is smaller ' + f'than MTU of pod network {vif.network.id} ' f'({vif.network.mtu}). Please make sure pod network ' - f'has the same MTU as node (VM) network.') + f'has the same or smaller MTU as node (VM) network.') args = self._get_iface_create_args(vif) with h_ipdb.create(ifname=temp_name,