Fix stuff

This commit is contained in:
Scott Yeager 2025-06-19 22:46:12 -07:00
parent 58180364b4
commit d3c5f153fe
2 changed files with 13 additions and 4 deletions

2
go.mod
View File

@ -7,3 +7,5 @@ require (
github.com/vishvananda/netlink v1.1.0 github.com/vishvananda/netlink v1.1.0
github.com/vishvananda/netns v0.0.4 github.com/vishvananda/netns v0.0.4
) )
require golang.org/x/sys v0.2.0 // indirect

15
main.go
View File

@ -4,8 +4,6 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"net" "net"
"os"
"path/filepath"
"github.com/containernetworking/cni/pkg/skel" "github.com/containernetworking/cni/pkg/skel"
"github.com/containernetworking/cni/pkg/types" "github.com/containernetworking/cni/pkg/types"
@ -185,7 +183,17 @@ func createVethPair(hostName, containerName string) (netlink.Link, netlink.Link,
} }
func configureContainerInterface(containerNS netns.NsHandle, ifName string, containerIP net.IP, hostVethName string) error { func configureContainerInterface(containerNS netns.NsHandle, ifName string, containerIP net.IP, hostVethName string) error {
return netns.Set(containerNS, func(ns netns.NsHandle) error { // Switch to container namespace
originalNS, err := netns.Get()
if err != nil {
return err
}
defer originalNS.Close()
defer netns.Set(originalNS)
if err := netns.Set(containerNS); err != nil {
return err
}
// Get the interface // Get the interface
link, err := netlink.LinkByName(ifName) link, err := netlink.LinkByName(ifName)
if err != nil { if err != nil {
@ -232,7 +240,6 @@ func configureContainerInterface(containerNS netns.NsHandle, ifName string, cont
} }
return nil return nil
})
} }
func configureHostInterface(hostVeth netlink.Link, containerIP net.IP) error { func configureHostInterface(hostVeth netlink.Link, containerIP net.IP) error {