Skip to content

Commit

Permalink
net binding plugin, instancetype: iface with plugin binding is not unset
Browse files Browse the repository at this point in the history
PreferredInterfaceMasquerade shouldn't be applied on an interface with
binding plugin.


Signed-off-by: Alona Paz <alkaplan@redhat.com>
  • Loading branch information
AlonaKaplan committed Aug 15, 2023
1 parent bd88d34 commit cb7ff78
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions pkg/instancetype/instancetype.go
Expand Up @@ -1222,8 +1222,8 @@ func applyDiskPreferences(preferenceSpec *instancetypev1beta1.VirtualMachinePref
}
}

func isInterfaceBindingUnset(interfaceBindingMethod virtv1.InterfaceBindingMethod) bool {
return reflect.ValueOf(interfaceBindingMethod).IsZero()
func isInterfaceBindingUnset(iface *virtv1.Interface) bool {
return reflect.ValueOf(iface.InterfaceBindingMethod).IsZero() && iface.Binding == nil
}

func isInterfaceOnPodNetwork(interfaceName string, vmiSpec *virtv1.VirtualMachineInstanceSpec) bool {
Expand All @@ -1241,7 +1241,7 @@ func applyInterfacePreferences(preferenceSpec *instancetypev1beta1.VirtualMachin
if preferenceSpec.Devices.PreferredInterfaceModel != "" && vmiIface.Model == "" {
vmiIface.Model = preferenceSpec.Devices.PreferredInterfaceModel
}
if preferenceSpec.Devices.PreferredInterfaceMasquerade != nil && isInterfaceBindingUnset(vmiIface.InterfaceBindingMethod) && isInterfaceOnPodNetwork(vmiIface.Name, vmiSpec) {
if preferenceSpec.Devices.PreferredInterfaceMasquerade != nil && isInterfaceBindingUnset(vmiIface) && isInterfaceOnPodNetwork(vmiIface.Name, vmiSpec) {
vmiIface.Masquerade = preferenceSpec.Devices.PreferredInterfaceMasquerade.DeepCopy()
}
}
Expand Down

0 comments on commit cb7ff78

Please sign in to comment.