From 0c83f50c4cdc1b88dcfc96ae77b6123ea9530c1a Mon Sep 17 00:00:00 2001 From: Roberto Bonafiglia Date: Tue, 8 Mar 2022 09:34:25 +0100 Subject: [PATCH] Added switch case to check netMode Signed-off-by: Roberto Bonafiglia --- pkg/agent/flannel/flannel.go | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/pkg/agent/flannel/flannel.go b/pkg/agent/flannel/flannel.go index a394f241f3..142a42b731 100644 --- a/pkg/agent/flannel/flannel.go +++ b/pkg/agent/flannel/flannel.go @@ -103,26 +103,37 @@ func LookupExtInterface(iface *net.Interface, netMode int) (*backend.ExternalInt } logrus.Debugf("The interface %s will be used by flannel", iface.Name) - if netMode == (ipv4+ipv6) || netMode == ipv4 { + switch netMode { + case ipv4: ifaceAddr, err = ip.GetInterfaceIP4Addrs(iface) if err != nil { return nil, fmt.Errorf("failed to find IPv4 address for interface %s", iface.Name) } logrus.Infof("The interface %s with ipv4 address %s will be used by flannel", iface.Name, ifaceAddr[0]) - } else { + ifacev6Addr = append(ifacev6Addr, nil) + case ipv6: + ifacev6Addr, err = ip.GetInterfaceIP6Addrs(iface) + if err != nil { + return nil, fmt.Errorf("failed to find IPv6 address for interface %s", iface.Name) + } + logrus.Infof("Using dual-stack mode. The ipv6 address %s will be used by flannel", ifacev6Addr[0]) ifaceAddr = append(ifaceAddr, nil) - } - - if netMode == (ipv4 + ipv6) { + case (ipv4 + ipv6): + ifaceAddr, err = ip.GetInterfaceIP4Addrs(iface) + if err != nil { + return nil, fmt.Errorf("failed to find IPv4 address for interface %s", iface.Name) + } + logrus.Infof("The interface %s with ipv4 address %s will be used by flannel", iface.Name, ifaceAddr[0]) ifacev6Addr, err = ip.GetInterfaceIP6Addrs(iface) if err != nil { return nil, fmt.Errorf("failed to find IPv6 address for interface %s", iface.Name) } - logrus.Infof("Using dual-stack mode. The ipv6 address %s will be used by flannel", ifacev6Addr[0]) - } else { + default: + ifaceAddr = append(ifaceAddr, nil) ifacev6Addr = append(ifacev6Addr, nil) } + if iface.MTU == 0 { return nil, fmt.Errorf("failed to determine MTU for %s interface", iface.Name) }