Skip to content

Commit

Permalink
prepare windows support for cni server
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangzujian committed Apr 15, 2022
1 parent 88b0749 commit 0c0a030
Show file tree
Hide file tree
Showing 17 changed files with 2,701 additions and 2,566 deletions.
29 changes: 0 additions & 29 deletions pkg/daemon/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import (

"github.com/sirupsen/logrus"
"github.com/spf13/pflag"
"github.com/vishvananda/netlink"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
Expand Down Expand Up @@ -151,7 +150,6 @@ func (config *Configuration) initNicConfig(nicBridgeMappings map[string]string)
}

isDPDKNode := node.GetLabels()[util.OvsDpTypeLabel] == "userspace"

if isDPDKNode {
config.Iface = config.DPDKTunnelIface
}
Expand Down Expand Up @@ -265,33 +263,6 @@ func (config *Configuration) initKubeClient() error {
return nil
}

func getIfaceOwnPodIP(podIP string) (*net.Interface, error) {
links, err := netlink.LinkList()
if err != nil {
return nil, err
}

for _, link := range links {
addrs, err := netlink.AddrList(link, netlink.FAMILY_ALL)
if err != nil {
return nil, fmt.Errorf("failed to get a list of IP addresses %v", err)
}
for _, addr := range addrs {
if addr.IPNet.Contains(net.ParseIP(podIP)) && addr.IP.String() == podIP {
return &net.Interface{
Index: link.Attrs().Index,
MTU: link.Attrs().MTU,
Name: link.Attrs().Name,
HardwareAddr: link.Attrs().HardwareAddr,
Flags: link.Attrs().Flags,
}, nil
}
}
}

return nil, errors.New("unable to find podIP interface")
}

func setEncapIP(ip string) error {
raw, err := exec.Command(
"ovs-vsctl", "set", "open", ".", fmt.Sprintf("external-ids:ovn-encap-ip=%s", ip)).CombinedOutput()
Expand Down
36 changes: 36 additions & 0 deletions pkg/daemon/config_linux.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package daemon

import (
"errors"
"fmt"
"net"

"github.com/vishvananda/netlink"
)

func getIfaceOwnPodIP(podIP string) (*net.Interface, error) {
links, err := netlink.LinkList()
if err != nil {
return nil, err
}

for _, link := range links {
addrs, err := netlink.AddrList(link, netlink.FAMILY_ALL)
if err != nil {
return nil, fmt.Errorf("failed to get a list of IP addresses %v", err)
}
for _, addr := range addrs {
if addr.IPNet.Contains(net.ParseIP(podIP)) && addr.IP.String() == podIP {
return &net.Interface{
Index: link.Attrs().Index,
MTU: link.Attrs().MTU,
Name: link.Attrs().Name,
HardwareAddr: link.Attrs().HardwareAddr,
Flags: link.Attrs().Flags,
}, nil
}
}
}

return nil, errors.New("unable to find podIP interface")
}

0 comments on commit 0c0a030

Please sign in to comment.