discoverIgd

suspend fun discoverIgd(client: HttpClient, udp: UdpSocket, attempts: Int = 3): IgdControl?

Discover gateways via SSDP on udp and return the control handle of the first one that exposes a WAN(IP|PPP)Connection service. The engine typically calls this once, caches the IgdControl, then drives mapTcpAndUdp/removeMapping against it.