A new config parameter, broadcast_address
In a cluster setup where one or more nodes is behind a firewall and has a private ip address, listen_address does not allow the hosts behind the firewalls to be discovered by other nodes.
Attached is a patch that introduces a new config parameter broadcast_address which allows Cassandra nodes to explicitly specify their external ip address.
In addition, this allows listen_address to be set to 0.0.0.0 on the already firewalled node.
broadcast_address fallsback to listen_address when it is not stated.