A new tmcd command, publicaddrinfo, just dumps the relevant bits of
virt_node_public_addr to any node in an experiment that has addrs
allocated (we don't want to restrict based on calling node_id or
Then the generic getfwconfig() function calls that, and sets some bits.
I also extended this function to add some dynamic clientside vars
(EMULAB_DOMAIN, EMULAB_EXPDOMAIN, EMULAB_PUBLICADDRS) so that user
firewall rule writers can use them to refer to the control net IPs of
nodes in their experiment (i.e., node-0.EMULAB_EXPDOMAIN); and so that
rules can be written over EMULAB_PUBLICADDRS -- a command-delineated
list of IP addrs).
Finally, I extended the Linux firewalling code to allow any experiment
node to answer ARPs for the public IP addresses; we can't know a priori
which node should answer -- and it could change.
This closes #353 .