Fix stuff
This commit is contained in:
parent
58180364b4
commit
d3c5f153fe
2
go.mod
2
go.mod
@ -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
15
main.go
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user