code: func (p *PortAllocator) ReleasePort(ip net.IP, proto string, port int) error {
  	p.mutex.Lock()
  	defer p.mutex.Unlock()
  
  	if ip == nil {
  		ip = defaultIP
  	}
  	protomap, ok := p.ipMap[ip.String()]
  	if !ok {
  		return nil
  	}
  	delete(protomap[proto].p, port)
  	return nil
  }
docs: // ReleasePort releases port from global ports pool for specified ip and proto.