code: func NewCIDRSet(clusterCIDR *net.IPNet, subNetMaskSize int) (*CidrSet, error) {
  	clusterMask := clusterCIDR.Mask
  	clusterMaskSize, _ := clusterMask.Size()
  
  	var maxCIDRs int
  	if (clusterCIDR.IP.To4() == nil) && (subNetMaskSize-clusterMaskSize > clusterSubnetMaxDiff) {
  		return nil, ErrCIDRSetSubNetTooBig
  	}
  	maxCIDRs = 1 << uint32(subNetMaskSize-clusterMaskSize)
  	return &CidrSet{
  		clusterCIDR:     clusterCIDR,
  		clusterIP:       clusterCIDR.IP,
  		clusterMaskSize: clusterMaskSize,
  		maxCIDRs:        maxCIDRs,
  		subNetMaskSize:  subNetMaskSize,
  	}, nil
  }
docs: // NewCIDRSet creates a new CidrSet.