Index: fedd/fedd_create.py
===================================================================
--- fedd/fedd_create.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/fedd_create.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -84,5 +84,5 @@
 
 
-cert, fid = wrangle_standard_options(opts)
+cert, fid, url = wrangle_standard_options(opts)
 
 if opts.file:
@@ -127,5 +127,5 @@
 try:
     resp_dict = do_rpc(msg, 
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile,
@@ -166,5 +166,5 @@
 try:
     resp_dict = do_rpc(msg, 
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile,
Index: fedd/fedd_ftopo.py
===================================================================
--- fedd/fedd_ftopo.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/fedd_ftopo.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -19,5 +19,5 @@
 (opts, args) = parser.parse_args()
 try:
-    cert, fid = wrangle_standard_options(opts)
+    cert, fid, url = wrangle_standard_options(opts)
 except RuntimeError, e:
     sys.exit("%s" % e)
@@ -36,5 +36,5 @@
 try:
     resp_dict = do_rpc(req,
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile,
Index: fedd/fedd_image.py
===================================================================
--- fedd/fedd_image.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/fedd_image.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -181,5 +181,5 @@
 	raise RuntimeError("Bad response. %s" % e.message)
 
-def get_experiment_topo(opts, cert):
+def get_experiment_topo(opts, cert, url):
     """
     Get the topology of an existing experiment from a running fedd.  That is,
@@ -204,5 +204,5 @@
     req = { 'experiment': exp_id }
     resp_dict = do_rpc(req,
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile,
@@ -211,5 +211,5 @@
     return extract_topo_from_message(resp_dict, opts.serialize_only)
 
-def get_file_topo(opts, cert):
+def get_file_topo(opts, cert, url):
     """
     Parse a topology file or convert an ns2 file into a topdl.Topology.  XML
@@ -238,5 +238,5 @@
     if opts.debug > 1: print >>sys.stderr, msg
     resp_dict = do_rpc(msg, 
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile,
@@ -252,5 +252,5 @@
 # not be a big deal.  It's checked if needed below
 try:
-    cert, fid = wrangle_standard_options(opts)
+    cert, fid, url = wrangle_standard_options(opts)
 except RuntimeError, e:
     cert = None
@@ -285,5 +285,5 @@
 	sys.exit("Couldn't find an identity certificate, RPC (Info) needed.")
     try:
-	top = get_experiment_topo(opts, cert)
+	top = get_experiment_topo(opts, cert, url)
     except RPCException, e:
 	exit_with_fault(e)
@@ -296,5 +296,5 @@
 		% opts.file
     try:
-	top = get_file_topo(opts, cert)
+	top = get_file_topo(opts, cert, url)
     except RPCException, e:
 	print >>sys.stderr, "Cannot extract a topology from %s" % opts.file
Index: fedd/fedd_info.py
===================================================================
--- fedd/fedd_info.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/fedd_info.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -22,5 +22,5 @@
 parser = exp_data_opts()
 (opts, args) = parser.parse_args()
-cert, fid = wrangle_standard_options(opts)
+cert, fid, url = wrangle_standard_options(opts)
 
 if opts.exp_name and opts.exp_certfile:
@@ -37,5 +37,5 @@
 try:
     resp_dict = do_rpc(req,
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile,
Index: fedd/fedd_multiinfo.py
===================================================================
--- fedd/fedd_multiinfo.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/fedd_multiinfo.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -25,9 +25,9 @@
 parser = exp_data_opts()
 (opts, args) = parser.parse_args()
-cert, fid = wrangle_standard_options(opts)
+cert, fid, url = wrangle_standard_options(opts)
 
 try:
     resp_dict = do_rpc({ },
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile,
Index: fedd/fedd_multistatus.py
===================================================================
--- fedd/fedd_multistatus.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/fedd_multistatus.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -9,9 +9,9 @@
 parser = client_opts()
 (opts, args) = parser.parse_args()
-cert, fid = wrangle_standard_options(opts)
+cert, fid, url = wrangle_standard_options(opts)
 
 try:
     resp_dict = do_rpc({ },
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile,
Index: fedd/fedd_new.py
===================================================================
--- fedd/fedd_new.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/fedd_new.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -19,5 +19,5 @@
 (opts, args) = parser.parse_args()
 
-cert, fid = wrangle_standard_options(opts)
+cert, fid, url = wrangle_standard_options(opts)
 
 out_certfile = opts.out_certfile
@@ -32,5 +32,5 @@
 try:
     resp_dict = do_rpc(msg, 
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile, 
Index: fedd/fedd_ns2topdl.py
===================================================================
--- fedd/fedd_ns2topdl.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/fedd_ns2topdl.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -19,5 +19,5 @@
 (opts, args) = parser.parse_args()
 
-cert, fid = wrangle_standard_options(opts)
+cert, fid, url = wrangle_standard_options(opts)
 
 if opts.file:
@@ -35,5 +35,5 @@
 try:
     resp_dict = do_rpc(msg, 
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile,
Index: fedd/fedd_spewlog.py
===================================================================
--- fedd/fedd_spewlog.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/fedd_spewlog.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -25,5 +25,5 @@
 (opts, args) = parser.parse_args()
 
-cert, fid = wrangle_standard_options(opts)
+cert, fid, url = wrangle_standard_options(opts)
 
 if opts.exp_name and opts.exp_certfile:
@@ -53,5 +53,5 @@
     try:
 	resp_dict = do_rpc(req,
-		opts.url, opts.transport, cert, opts.trusted, 
+		url, opts.transport, cert, opts.trusted, 
 		serialize_only=opts.serialize_only,
 		tracefile=opts.tracefile,
Index: fedd/fedd_terminate.py
===================================================================
--- fedd/fedd_terminate.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/fedd_terminate.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -27,5 +27,5 @@
 parser = terminate_opts()
 (opts, args) = parser.parse_args()
-cert, fid = wrangle_standard_options(opts)
+cert, fid, url = wrangle_standard_options(opts)
 
 if opts.exp_name and opts.exp_certfile:
@@ -54,5 +54,5 @@
 try:
     resp_dict = do_rpc(req,
-	    opts.url, opts.transport, cert, opts.trusted, 
+	    url, opts.transport, cert, opts.trusted, 
 	    serialize_only=opts.serialize_only,
 	    tracefile=opts.tracefile,
Index: fedd/federation/client_lib.py
===================================================================
--- fedd/federation/client_lib.py	(revision 87807f428463fbb11fe1c89939a8c9edf39dd0aa)
+++ fedd/federation/client_lib.py	(revision 5d854e1f283afaf6dc1ca7a8674188cc3c0e09b7)
@@ -33,6 +33,5 @@
                 type="string", help="Trusted certificates (required)")
         self.add_option("--url", action="store", dest="url",
-                type="string",default="https://localhost:23235",  
-                help="URL to connect to (default %default)")
+                type="string",default=None, help="URL to connect to")
         self.add_option("--transport", action="store", type="choice",
                 choices=("xmlrpc", "soap"), default="soap",
@@ -90,6 +89,8 @@
     and if the debug level is set, set the tracefile attribute as well.  If any
     of these tests fail, raise a RuntimeError.  Otherwise return the
-    certificate file and the dedid.
-    """
+    certificate file, the fedid, and the fedd url.
+    """
+    default_url="https://localhost:23235"
+
     if opts.debug > 0: opts.tracefile=sys.stderr
 
@@ -110,5 +111,10 @@
 	raise RuntimeError("Cannot read certificate (%s)" % cert)
 
-    return (cert, fid)
+    if opts.url: url = opts.url
+    elif 'FEDD_URL' in os.environ: url = os.environ['FEDD_URL']
+    else: url = default_url
+
+
+    return (cert, fid, url)
 
 def save_certfile(out_certfile, ea):
