Ok, so I checked the source code of the "Virtual Server" page.
There's one tiny difference between using or not using the "<<" button:
This is the outcome if you enter everything manually:
<input type="hidden" name="config.virtual_servers[2].alg_assoc" id="vs_alg_2" value="" />
And this is stored if you just use the "<<" button:
<input type="hidden" name="config.virtual_servers[2].alg_assoc" id="vs_alg_2" value="Wake-On-LAN" />
It seems to me these predefined settings do more than just filling up the fields. The menu setting "Wake-On-LAN" is stored separately in "alg_assoc" (whatever that might be...) and changes the behavoir of the routing somehow.
Edit:
"But wait, there's more"
These are the predefined profiles you can choose from:{ name: "Application Name", private_port: "", protocol: "", public_port: "", alg_assoc: "" },
{ name: "TELNET", private_port: "23", protocol: "6", public_port: "23", alg_assoc: "" }, //1
{ name: "HTTP", private_port: "80", protocol: "6", public_port: "80", alg_assoc: "" },
{ name: "HTTPS", private_port: "443", protocol: "6", public_port: "443", alg_assoc: "" }, //3
{ name: "FTP", private_port: "21", protocol: "6", public_port: "21", alg_assoc: "FTP" },
{ name: "DNS", private_port: "53", protocol: "17", public_port: "53", alg_assoc: "" }, //5
{ name: "SMTP", private_port: "25", protocol: "6", public_port: "25", alg_assoc: "" },
{ name: "POP3", private_port: "110", protocol: "6", public_port: "110", alg_assoc: "" }, //7
{ name: "H.323", private_port: "1720", protocol: "6", public_port: "1720", alg_assoc: "H.323" },
{ name: "REMOTE DESKTOP", private_port: "3389", protocol: "6", public_port: "3389", alg_assoc: "" }, //9
{ name: "PPTP", private_port: "1723", protocol: "6", public_port: "1723", alg_assoc: "PPTP Control" },
{ name: "L2TP", private_port: "1701", protocol: "17", public_port: "1701", alg_assoc: "" }, //11
{ name: "Wake-On-LAN", private_port: "9", protocol: "17", public_port: "9", alg_assoc: "Wake-On-LAN" }
Only FTP, H.323, PPTP and WOL set alg_assoc. Every other profile resets it to "".
What does alg_assoc do?
And now something funny: If you change an entry, the alg_assoc setting will stick to the last one used! For example: You use WOL (with "<<" button) on the third entry so alg_assoc is set to "Wake-On-Lan". Later you overwrite the third entry with an ICQ port forwarding (not using the "<<" button!). The alg_assoc setting is still set to WOL. I call that a bug.Would be really cool if we could get a statement from D-Link to this. What's the purpose of alg_assoc?
Are they even reading this forum? I highly doubt that.