code: func (n *NetNs) SymlinkCreate(name string) error {
  	if n.netNS == nil {
  		return errors.New("no netns set up")
  	}
  	b := make([]byte, 4)
  	_, randErr := rand.Reader.Read(b)
  	if randErr != nil {
  		return randErr
  	}
  
  	nsName := fmt.Sprintf("%s-%x", name, b)
  	symlinkPath := filepath.Join(NsRunDir, nsName)
  
  	if err := os.Symlink(n.Path(), symlinkPath); err != nil {
  		return err
  	}
  
  	fd, err := os.Open(symlinkPath)
  	if err != nil {
  		if removeErr := os.RemoveAll(symlinkPath); removeErr != nil {
  			return removeErr
  		}
  
  		return err
  	}
  
  	n.symlink = fd
  
  	return nil
  }
docs: // SymlinkCreate creates the necessary symlinks for the NetNs