Skip to content

Commit

Permalink
Remove getDefaultIfAddr and use getNetworkInterfaceIPAddresses
Browse files Browse the repository at this point in the history
Signed-off-by: Alexander Constantinescu <aconstan@redhat.com>
  • Loading branch information
alexanderConstantinescu committed Feb 4, 2021
1 parent 479ec02 commit bcc5af6
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 28 deletions.
15 changes: 10 additions & 5 deletions go-controller/pkg/node/gateway_init.go
Expand Up @@ -167,12 +167,17 @@ func (n *OvnNode) initGateway(subnets []*net.IPNet, nodeAnnotator kube.Annotator
return err
}

v4IfAddr, v6IfAddr, err := getDefaultIfAddr(gatewayIntf)
if err == nil {
if err := util.SetNodePrimaryIfAddr(nodeAnnotator, v4IfAddr, v6IfAddr); err != nil {
klog.Errorf("Unable to set primary IP net label on node, err: %v", err)
}
ifAddrs, err := getNetworkInterfaceIPAddresses(gatewayIntf)
if err != nil {
return err
}

v4IfAddr, _ := util.MatchIPNetFamily(false, ifAddrs)
v6IfAddr, _ := util.MatchIPNetFamily(true, ifAddrs)
if err := util.SetNodePrimaryIfAddr(nodeAnnotator, v4IfAddr, v6IfAddr); err != nil {
klog.Errorf("Unable to set primary IP net label on node, err: %v", err)
}

var loadBalancerHealthChecker *loadBalancerHealthChecker
var portClaimWatcher *portClaimWatcher

Expand Down
24 changes: 1 addition & 23 deletions go-controller/pkg/node/helper_linux.go
Expand Up @@ -12,7 +12,6 @@ import (
"github.com/vishvananda/netlink"
kapi "k8s.io/api/core/v1"
"k8s.io/klog/v2"
utilnet "k8s.io/utils/net"
)

// getDefaultGatewayInterfaceDetails returns the interface name on
Expand Down Expand Up @@ -71,6 +70,7 @@ func getDefaultGatewayInterfaceByFamily(family int) (string, net.IP, error) {
klog.Warningf("Failed to get gateway for route %v : %v", r, err)
continue
}
netlink.AddrList(intfLink, family)
klog.Infof("Found default gateway interface %s %s", intfLink.Attrs().Name, r.Gw.String())
return intfLink.Attrs().Name, r.Gw, nil
}
Expand All @@ -95,28 +95,6 @@ func getDefaultGatewayInterfaceByFamily(family int) (string, net.IP, error) {
return "", net.IP{}, fmt.Errorf("failed to get default gateway interface")
}

func getDefaultIfAddr(defaultGatewayIntf string) (*net.IPNet, *net.IPNet, error) {
var v4IfAddr, v6IfAddr *net.IPNet
primaryLink, err := netlink.LinkByName(defaultGatewayIntf)
if err != nil {
return nil, nil, fmt.Errorf("error: unable to get link for default interface: %s, err: %v", defaultGatewayIntf, err)
}
addrs, err := netlink.AddrList(primaryLink, netlink.FAMILY_ALL)
if err != nil {
return nil, nil, fmt.Errorf("error: unable to list addresses for default interface, err: %v", err)
}
for _, addr := range addrs {
if addr.IP.IsGlobalUnicast() {
if utilnet.IsIPv6(addr.IP) {
v6IfAddr = addr.IPNet
} else {
v4IfAddr = addr.IPNet
}
}
}
return v4IfAddr, v6IfAddr, nil
}

func getIntfName(gatewayIntf string) (string, error) {
// The given (or autodetected) interface is an OVS bridge and this could be
// created by us using util.NicToBridge() or it was pre-created by the user.
Expand Down

0 comments on commit bcc5af6

Please sign in to comment.