Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 37 for netns (0.02 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()
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri Jan 26 20:34:28 UTC 2024
    - 1.2K bytes
    - Viewed (0)
  2. cni/pkg/repair/netns.go

    }
    
    func runInHost[T any](f func() (T, error)) (T, error) {
    	var res T
    	ns := getPidNamespace(1)
    	err := netns.WithNetNSPath(ns, func(_ netns.NetNS) error {
    		var err error
    		res, err = f()
    		return err
    	})
    	if err != nil {
    		return res, fmt.Errorf("in network namespace %v: %v", ns, err)
    	}
    
    	return res, nil
    }
    
    func checkInterfacesForMatchingAddr(targetAddr net.IP) (match bool, err error) {
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri Jun 28 19:12:54 UTC 2024
    - 4.3K bytes
    - Viewed (0)
  3. 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)
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Wed Aug 14 19:36:19 UTC 2024
    - 4.2K bytes
    - Viewed (0)
  4. 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 {
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Wed Jan 31 10:05:36 UTC 2024
    - 2.7K bytes
    - Viewed (0)
  5. cni/pkg/nodeagent/net.go

    	// in that case, try finding the netns using procfs.
    	filter := map[types.UID]*corev1.Pod{
    		pod.UID: pod,
    	}
    	return s.scanProcForPodsAndCache(filter)
    }
    
    func (s *NetServer) getOrOpenNetns(pod *corev1.Pod, netNs string) (Netns, error) {
    	if netNs == "" {
    		return s.getNetns(pod)
    	}
    	return s.openNetns(pod, netNs)
    }
    
    func (s *NetServer) openNetns(pod *corev1.Pod, netNs string) (Netns, error) {
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Mon Oct 21 16:48:55 UTC 2024
    - 9.1K bytes
    - Viewed (0)
  6. cni/pkg/nodeagent/podcgroupns.go

    		return nil, nil
    	}
    
    	netns, err := proc.Open(netnsName)
    	if err != nil {
    		return nil, err
    	}
    	fd, err := GetFd(netns)
    	if err != nil {
    		netns.Close()
    		return nil, err
    	}
    	netnsObserved[inode] = struct{}{}
    	log.Debugf("found pod to netns: %s %d", uid, inode)
    
    	return &PodNetnsEntry{
    		uid:     uid,
    		netns:   netns,
    		netnsfd: fd,
    		inode:   inode,
    	}, nil
    }
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri Apr 12 21:47:31 UTC 2024
    - 11K bytes
    - Viewed (0)
  7. cni/pkg/nodeagent/cni-watcher_test.go

    	valid := CNIPluginAddEvent{
    		Netns:        "/var/netns/foo",
    		PodName:      "pod-bingo",
    		PodNamespace: "funkyns",
    	}
    
    	payload, _ := json.Marshal(valid)
    
    	addEvent, err := processAddEvent(payload)
    
    	assert.NoError(t, err)
    	assert.Equal(t, valid, addEvent)
    }
    
    func TestProcessAddEventBadPayload(t *testing.T) {
    	valid := CNIPluginAddEvent{
    		Netns:        "/var/netns/foo",
    		PodName:      "pod-bingo",
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Wed Oct 09 16:05:45 UTC 2024
    - 7.6K bytes
    - Viewed (0)
  8. cni/pkg/plugin/sidecar_iptables_linux.go

    	cfg.CaptureAllDNS = rdrct.dnsRedirect
    	cfg.DropInvalid = rdrct.invalidDrop
    	cfg.DualStack = rdrct.dualStack
    
    	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 {
    		// Important: run within the pod network namespace since some attributes are namespace specific
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Sat Jun 29 01:24:47 UTC 2024
    - 2.6K bytes
    - Viewed (0)
  9. cni/pkg/nodeagent/cni-watcher.go

    	return msg, nil
    }
    
    func (s *CniPluginServer) ReconcileCNIAddEvent(ctx context.Context, addCmd CNIPluginAddEvent) error {
    	log := log.WithLabels("cni-event", addCmd)
    
    	log.Debugf("netns: %s", addCmd.Netns)
    
    	// The CNI node plugin should have already checked the pod against the k8s API before forwarding us the event,
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Tue Jul 02 18:48:50 UTC 2024
    - 6.7K bytes
    - Viewed (0)
  10. 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")
    	}
    
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri May 31 17:18:11 UTC 2024
    - 4.3K bytes
    - Viewed (0)
Back to top