code: func (s *PortManager) ReleasePort(networks []tcpip.NetworkProtocolNumber, transport tcpip.TransportProtocolNumber, addr tcpip.Address, port uint16) {
  	s.mu.Lock()
  	defer s.mu.Unlock()
  
  	for _, network := range networks {
  		desc := portDescriptor{network, transport, port}
  		if m, ok := s.allocatedPorts[desc]; ok {
  			n, ok := m[addr]
  			if !ok {
  				continue
  			}
  			n.refs--
  			if n.refs == 0 {
  				delete(m, addr)
  			} else {
  				m[addr] = n
  			}
  			if len(m) == 0 {
  				delete(s.allocatedPorts, desc)
  			}
  		}
  	}
  }
docs: // ReleasePort releases the reservation on a port/IP combination so that it can
  // be reserved by other endpoints.