code: func (a *allocator) RequestPool(addressSpace, pool, subPool string, options map[string]string, v6 bool) (string, *net.IPNet, map[string]string, error) {
  	logrus.Debugf("RequestPool(%s, %s, %s, %v, %t)", addressSpace, pool, subPool, options, v6)
  	if subPool != "" || v6 {
  		return "", nil, nil, types.InternalErrorf("This request is not supported by null ipam driver")
  	}
  
  	var ipNet *net.IPNet
  	var err error
  
  	if pool != "" {
  		_, ipNet, err = net.ParseCIDR(pool)
  		if err != nil {
  			return "", nil, nil, err
  		}
  	} else {
  		ipNet = defaultPool
  	}
  
  	return ipNet.String(), ipNet, nil, nil
  }
docs: // RequestPool returns an address pool along with its unique id. This is a null ipam driver. It allocates the
  // subnet user asked and does not validate anything. Doesn't support subpool allocation