The miniupnpd UPnP daemon (used e.g. by OpenWRT) includes code[0] to handle IPv6 "pinhole" requests—not port forwarding, which isn't required for IPv6, but rather just opening a port in the firewall to permit incoming connections to a certain host.
[0] https://github.com/miniupnp/miniupnp/blob/b734f94bdf6ff555a2...
I wish I could upvote you multiple times. This interaction with you has been most enlightening. Thank you.
The miniupnpd UPnP daemon (used e.g. by OpenWRT) includes code[0] to handle IPv6 "pinhole" requests—not port forwarding, which isn't required for IPv6, but rather just opening a port in the firewall to permit incoming connections to a certain host.
[0] https://github.com/miniupnp/miniupnp/blob/b734f94bdf6ff555a2...