Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 6 of 6 for openNetns (0.17 sec)

  1. cni/pkg/nodeagent/net.go

    	if netNs == "" {
    		return s.getNetns(pod)
    	}
    	return s.openNetns(pod, netNs)
    }
    
    func (s *NetServer) openNetns(pod *corev1.Pod, netNs string) (Netns, error) {
    	return s.currentPodSnapshot.UpsertPodCache(pod, netNs)
    }
    
    func (s *NetServer) getNetns(pod *corev1.Pod) (Netns, error) {
    	openNetns := s.currentPodSnapshot.Get(string(pod.UID))
    	if openNetns != nil {
    		return openNetns, nil
    	}
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Mon Oct 21 16:48:55 UTC 2024
    - 9.1K bytes
    - Viewed (0)
  2. cni/pkg/nodeagent/pod_cache.go

    		openNetns:       openNetns,
    		currentPodCache: map[string]WorkloadInfo{},
    	}
    }
    
    func (p *podNetnsCache) UpsertPodCache(pod *corev1.Pod, nspath string) (Netns, error) {
    	newnetns, err := p.openNetns(nspath)
    	if err != nil {
    		return nil, err
    	}
    	wl := WorkloadInfo{
    		Workload: podToWorkload(pod),
    		Netns:    newnetns,
    	}
    	return p.UpsertPodCacheWithNetns(string(pod.UID), wl), nil
    }
    
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri May 31 17:18:11 UTC 2024
    - 4.3K bytes
    - Viewed (0)
  3. cni/pkg/nodeagent/netns_other.go

    package nodeagent
    
    import "errors"
    
    func inodeForFd(n NetnsFd) (uint64, error) {
    	return 0, errors.New("not implemented")
    }
    
    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 {
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Thu Mar 14 09:32:25 UTC 2024
    - 1K bytes
    - Viewed (0)
  4. cni/pkg/nodeagent/pod_cache_test.go

    	}
    
    	if !reflect.DeepEqual(netns1, netns2) {
    		t.Fatalf("Expected the same Netns for the same uid, got %v and %v", netns1, netns2)
    	}
    
    	if counter.Load() != 2 {
    		t.Fatalf("Expected openNetns to be called twice, got %d", counter.Load())
    	}
    }
    
    func TestUpsertPodCacheWithNewInode(t *testing.T) {
    	counter.Store(0)
    
    	p := newPodNetnsCache(openNsTestOverrideWithInodes(1, 2))
    
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Wed Aug 14 19:36:19 UTC 2024
    - 4.2K bytes
    - Viewed (0)
  5. cni/pkg/nodeagent/netns_linux_test.go

    // See the License for the specific language governing permissions and
    // limitations under the License.
    
    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
    
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Fri Jan 26 20:34:28 UTC 2024
    - 976 bytes
    - Viewed (0)
  6. cni/pkg/nodeagent/netns_linux.go

    func (n *NetnsWrapper) Fd() uintptr {
    	return n.innerNetns.Fd()
    }
    
    func inodeForFd(n NetnsFd) (uint64, error) {
    	stats := &unix.Stat_t{}
    	err := unix.Fstat(int(n.Fd()), stats)
    	return stats.Ino, err
    }
    
    func OpenNetns(nspath string) (NetnsCloser, error) {
    	n, err := netns.GetNS(nspath)
    	if err != nil {
    		return nil, err
    	}
    	i, err := inodeForFd(n)
    	if err != nil {
    		n.Close()
    		return nil, err
    	}
    Registered: Wed Nov 06 22:53:10 UTC 2024
    - Last Modified: Wed Jan 31 10:05:36 UTC 2024
    - 2.7K bytes
    - Viewed (0)
Back to top