UPnP (Universal Plug and Play) is a controversial protocol which allows fully dynamic (automatic) port mapping from LAN IPs onto the Internet. UPnP has been heavily criticized for its poor security. With this protocol, each application program that uses the network maps its own ports automatically. In the screenshot below, you can see that the WhatsApp application has mapped certain ports on FreshTomato's WAN IP/Interface.
UPnP is the original implementation of this dynamic port-mapping protocol. NAT-PMP (NAT Port Mapping Protocol) is a newer, enhanced version of UPnP, designed for better compatbility with Network Address Translation routing. NAT-PMP is part of Apple's Bonjour protocol, and is often used for streaming iTunes and other media.
If you use dynamic port forwarding, you'll probably want to enable both protocols to maintain backward compatibility.
Enable UPnP: Enable and Disable UPnP.
Enable NAT-PMP: Enable/Disable NAT-PMP.
Inactive Rule Cleaning: The timeout period to remove rules counted from the last time traffic was seen flowing.
Cleaning Interval: This specifies how often the cleaning sub-process is executed.
Cleaning Threshold: The maximum number of rules to be removed by an Interval.
Secure Mode: Allows only the “owner LAN IP” to trigger its own mapping/unmapping. In other words, the client could only map an incoming port to its own IP address, not to another IP address.
Enable on: allows you to eanble UPnp/NATPMP only on certain VLANs, if needed.
Show in My Network Places: If enabled, makes FreshTomato appear as a gateway in Windows' browsable LAN network (WORKGROUP or HOMEGROUP).
Miniupnpd custom config: allows you to specify custom configuration options not available in the web interface. In the image below, UPnP requests/mappings are denied for a specific IP address only.