Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 45 for netns (0.15 sec)

  1. cni/pkg/nodeagent/netns.go

    import "io"
    
    type NetnsFd interface {
    	Fd() uintptr
    }
    
    type Netns interface {
    	NetnsFd
    	Inode() uint64
    }
    type NetnsCloser interface {
    	io.Closer
    	Netns
    }
    
    type NetnsWithFd struct {
    	netns io.Closer
    	fd    uintptr
    	inode uint64
    }
    
    func (n *NetnsWithFd) Close() error {
    	if n.netns == nil {
    		return nil
    	}
    
    	ret := n.netns.Close()
    Go
    - Registered: Wed Apr 24 22:53:08 GMT 2024
    - Last Modified: Fri Jan 26 20:34:28 GMT 2024
    - 1.2K bytes
    - Viewed (0)
  2. cni/pkg/repair/netns.go

    	return "/host/proc/" + strconv.Itoa(pid) + "/ns/net"
    }
    
    func runInHost[T any](f func() (T, error)) (T, error) {
    	var res T
    	ns, err := netns.GetNS(getPidNamespace(1))
    	if err != nil {
    		return res, fmt.Errorf("failed to get host network: %v", err)
    	}
    	err = ns.Do(func(ns netns.NetNS) error {
    		var err error
    		res, err = f()
    		return err
    	})
    	if err != nil {
    		return res, fmt.Errorf("in host network: %v", err)
    	}
    Go
    - Registered: Wed Apr 24 22:53:08 GMT 2024
    - Last Modified: Wed Dec 20 22:14:13 GMT 2023
    - 4.8K bytes
    - Viewed (0)
  3. cni/pkg/nodeagent/netns_linux.go

    // limitations under the License.
    
    package nodeagent
    
    import (
    	"fmt"
    	"runtime"
    	"sync"
    
    	netns "github.com/containernetworking/plugins/pkg/ns"
    	"golang.org/x/sys/unix"
    )
    
    type NetnsWrapper struct {
    	innerNetns netns.NetNS
    	inode      uint64
    }
    
    func (n *NetnsWrapper) Inode() uint64 {
    	return n.inode
    }
    
    func (n *NetnsWrapper) Close() error {
    Go
    - Registered: Wed Apr 24 22:53:08 GMT 2024
    - Last Modified: Wed Jan 31 10:05:36 GMT 2024
    - 2.7K bytes
    - Viewed (0)
  4. cni/pkg/nodeagent/netns_other.go

    }
    
    func NetnsSet(n NetnsFd) error {
    	return errors.New("not implemented")
    }
    
    func OpenNetns(nspath string) (NetnsCloser, error) {
    	return nil, errors.New("not implemented")
    }
    
    // inspired by netns.Do() but with an existing fd.
    func NetnsDo(fdable NetnsFd, toRun func() error) error {
    	return errors.New("not implemented")
    Go
    - Registered: Wed Apr 24 22:53:08 GMT 2024
    - Last Modified: Thu Mar 14 09:32:25 GMT 2024
    - 1K bytes
    - Viewed (0)
  5. cni/pkg/nodeagent/netns_linux_test.go

    package nodeagent
    
    import "testing"
    
    func TestOpenNetns(t *testing.T) {
    	ns, err := OpenNetns("/proc/self/ns/net")
    	if err != nil {
    		t.Fatalf("unexpected error: %v", err)
    	}
    	// the inode for netns is proc dynamic, so it needs to be higher than
    	// #define PROC_DYNAMIC_FIRST 0xF0000000U
    
    	if ns.Inode() < 0xF0000000 {
    		t.Fatalf("unexpected inode: %v", ns.Inode())
    	}
    	defer ns.Close()
    Go
    - Registered: Wed Apr 24 22:53:08 GMT 2024
    - Last Modified: Fri Jan 26 20:34:28 GMT 2024
    - 976 bytes
    - Viewed (0)
  6. cni/pkg/nodeagent/pod_cache_test.go

    	nspath1 := "/path/to/netns/1"
    	nspath2 := "/path/to/netns/2"
    
    	netns1, err := p.UpsertPodCache(pod, nspath1)
    	if err != nil {
    		t.Fatalf("unexpected error: %v", err)
    	}
    
    	netns2, err := p.UpsertPodCache(pod, nspath2)
    	if err != nil {
    		t.Fatalf("unexpected error: %v", err)
    	}
    
    	if !reflect.DeepEqual(netns1, netns2) {
    		t.Fatalf("Expected the same Netns for the same uid, got %v and %v", netns1, netns2)
    Go
    - Registered: Wed Apr 24 22:53:08 GMT 2024
    - Last Modified: Fri Apr 12 21:47:31 GMT 2024
    - 4.2K bytes
    - Viewed (0)
  7. cni/pkg/plugin/sidecar_iptables_linux.go

    	cfg.DualStack = rdrct.dualStack
    	if err := cfg.FillConfigFromEnvironment(); err != nil {
    		return err
    	}
    
    	netNs, err := getNs(netns)
    	if err != nil {
    		err = fmt.Errorf("failed to open netns %q: %s", netns, err)
    		return err
    	}
    	defer netNs.Close()
    
    	return netNs.Do(func(_ ns.NetNS) error {
    		log.Infof("============= Start iptables configuration for %v =============", podName)
    Go
    - Registered: Wed Apr 24 22:53:08 GMT 2024
    - Last Modified: Thu Apr 18 17:36:41 GMT 2024
    - 2.5K bytes
    - Viewed (0)
  8. cni/pkg/nodeagent/pod_cache.go

    	if existing := p.currentPodCache[uid]; existing.Netns != nil {
    		if existing.Netns.Inode() == workload.Netns.Inode() {
    			workload.Netns.Close()
    			// Replace the workload, but keep the old Netns
    			p.currentPodCache[uid] = WorkloadInfo{
    				Workload: workload.Workload,
    				Netns:    existing.Netns,
    			}
    			// already in cache
    			return existing.Netns
    		}
    		log.Debug("netns inode mismatch, using the new one")
    	}
    
    Go
    - Registered: Wed Apr 24 22:53:08 GMT 2024
    - Last Modified: Fri Apr 12 21:47:31 GMT 2024
    - 4.5K bytes
    - Viewed (0)
  9. cni/pkg/nodeagent/net_test.go

    	assert.Equal(t, nlDeps.DelLoopbackRoutesCnt.Load(), 1)
    	// make sure the uid was taken from cache and netns closed
    	netns := fixture.podNsMap.Take(string(pod.UID))
    	assert.Equal(t, nil, netns)
    
    	// run gc to clean up ns:
    
    	//revive:disable-next-line:call-to-gc Just a test that we are cleaning up the netns
    	runtime.GC()
    	assertNSClosed(t, closed)
    }
    
    func TestServerDeletePod(t *testing.T) {
    Go
    - Registered: Wed Apr 24 22:53:08 GMT 2024
    - Last Modified: Fri Apr 12 21:47:31 GMT 2024
    - 14.3K bytes
    - Viewed (0)
  10. cni/pkg/repair/repaircontroller.go

    	netns, err := runInHost(func() (string, error) { return getPodNetNs(pod) })
    	if err != nil {
    		m.With(resultLabel.Value(resultFail)).Increment()
    		return fmt.Errorf("get netns: %v", err)
    	}
    	log = log.WithLabels("netns", netns)
    
    	if err := redirectRunningPod(pod, netns); err != nil {
    		log.Errorf("failed to setup redirection: %v", err)
    Go
    - Registered: Wed Apr 24 22:53:08 GMT 2024
    - Last Modified: Sat Feb 10 00:31:55 GMT 2024
    - 10.4K bytes
    - Viewed (0)
Back to top