github.com/zhuohuang-hust/src-cbuild@v0.0.0-20230105071821-c7aab3e7c840/mergeCode/runc/libcontainer/cgroups/fs/net_cls.go (about)

     1  // +build linux
     2  
     3  package fs
     4  
     5  import (
     6  	"strconv"
     7  
     8  	"github.com/opencontainers/runc/libcontainer/cgroups"
     9  	"github.com/opencontainers/runc/libcontainer/configs"
    10  )
    11  
    12  type NetClsGroup struct {
    13  }
    14  
    15  func (s *NetClsGroup) Name() string {
    16  	return "net_cls"
    17  }
    18  
    19  func (s *NetClsGroup) Apply(d *cgroupData) error {
    20  	_, err := d.join("net_cls")
    21  	if err != nil && !cgroups.IsNotFound(err) {
    22  		return err
    23  	}
    24  	return nil
    25  }
    26  
    27  func (s *NetClsGroup) Set(path string, cgroup *configs.Cgroup) error {
    28  	if cgroup.Resources.NetClsClassid != 0 {
    29  		if err := writeFile(path, "net_cls.classid", strconv.FormatUint(uint64(cgroup.Resources.NetClsClassid), 10)); err != nil {
    30  			return err
    31  		}
    32  	}
    33  
    34  	return nil
    35  }
    36  
    37  func (s *NetClsGroup) Remove(d *cgroupData) error {
    38  	return removePath(d.path("net_cls"))
    39  }
    40  
    41  func (s *NetClsGroup) GetStats(path string, stats *cgroups.Stats) error {
    42  	return nil
    43  }