(Illustration by Gaich Muramatsu)
On Wed, Dec 17, 2003 at 09:07:37AM -0500, Samir Patel wrote: > On Mon, 2003-12-15 at 16:11, Jan Harkes wrote: > > You are right. When a client asks about the location of a volume, it is > > given a single IPv4 address for each replica and assumes that there will > > be a Coda server that knows about the replica at that ip-address > > listening on the (hardcoded/reserved) port 2432/udp. > > How hard would it be to change this hardcoded port (is it possible > without totally destroying everything... is this hardcoded within > codasrv, rpc2 or a little everywhere)? From an ignorant persons point The problem isn't really the fixed port, you can change /etc/services on both the clients and the servers and it will happily use any other port. The problem is that when a client asks "where is this volume located", the server only responds, "oh, it's at 192.168.10.24". While it really should be saying "it's at testserver.coda.cmu.edu port 2432". The information we return in the client-server messages really doesn't say enough. First of all, when the server resolves it's own IP address, the resolver can (and in many cases will) return 127.0.0.1. That is typically the fastest interface to reach processes on the local machine. However this IP address is clearly useless on remote clients. The server could also have resolved the address that is only reachable through a private backbone network, and not the network the client is connected to. We also can't represent any IPv6 addresses, or multiple addresses for a single host. And because there is no port information we cannot have more than one server bound to a single IP address. JanReceived on 2003-12-17 09:49:42