My modem supports having more that one ip address as I can put a switch in between the modem and router and pull upto 8 ip address. However that are dynamic. Is there a way to have tomato pull more that one dynamic address so that I may setup 1:1 nat? I can use dyndns or similar services to update the ip's as necessary.

I just can't seem to find the correct command line for dynamic. There are static ip tutorials every where. I am stumped.

I don't even know if you need the hostname...
I was expecting you would call udhcpc with vlan2:0 for example, the use the script to bring up the port with ifconfig, and then do some other fancy routing or iptables to make use of the new Ip received.

Thanks again. ran into another snag. udhcpc goes by mac address. So vlan2 and vlan2:0 have the same mac. Therefore udhcpc will only renew vlan2 and will not touch vlan2:0..... I have tried to change the mac of vlan2:0 with a new one. I get the error "ifconfig: SIOCSIFHWADDR: Device or resource busy" if I change vlan2 mac address the vlan2:0 changes simultaneously. Any ideas?

I tried to create vlan2:0 with this: ifconfig vlan2:0 10.10.10.10 hw ether 08:00:69:02:01:FC but the mac address is overrided to match vlan2

Sorry I don't think there is any standard way to have multiple MAC addresses on a physical Ethernet connection, so the Broadcom Linux drivers probably don't support it. But since you could use a second port as its own vlan then use a switch to combine the outputs there may well be a way. I wonder how the MLPPP project did something similar to enable channel bonding on a single wan connection, I think they defined a secondary bridge br1 for the second connection?

I am still looking into this. I think there might be a way. If with the new virtual wireless you can create wl0.1 with it's own mac then we could create something for wlan0.1 or vlan0.1 with its own mac address. Then the udhcpc could request a second ip for the new mac address. My problem is that I don't know how wl0.1 was created..... or how to script this. I think that the wlan2up.sh is in the correct direction but first vlan2.0 needs to be created ie ifconfig vlan2:0 192.168.254.254 hw ether 00:00:00:00:00:01 but change the hw as per how the wl0.1 was done.

down at the very bottom it says that you may be able to request a new dhcp based on clientid. I cannot use udhcp -i vlan2:0 --clientid-none -c ED:ED:99:88:64:EE as the -c does not work. however is there a place where udhcpc reads the udhcpc clientid or mac address from?

Results:
That's it, you now have 1:1 NAT. Enjoy!
Summary:
You can repeat the procedure if you want to forward (i.e. NAT) more PublicIPs to your LANIPs.
Please post your feedback/experience for others to improve/ponder upon.