Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
<== Date ==> <== Thread ==>

Subject: Re: multiple servers on the same (loopback) interface
From: Jameson Graef Rollins <jrollins@ligo.caltech.edu>
To: tech-talk@aps.anl.gov
Date: Tue, 09 Jul 2013 18:06:41 -0700
On Tue, Jul 09 2013, Jameson Graef Rollins <jrollins@ligo.caltech.edu> wrote:
> Hey, folks.  I'm trying to run multiple IOCs on the same host and
> network interface and I'm looking for tips to help get it working
> cleanly.  I'm aware of some of the issues of servers sharing the same
> interface [0].  However, I assume there must be a way to support this
> situation, since I imagine it must be common.  But I'm having a lot of
> trouble getting it to work.

Someone offline has pointed me to an undocumented solution that seems to
work fine, and I wanted to share it here for others that may be
interested.

Apparently addresses specified in EPICS_CA_ADDR_LIST can include
colon-separated port specifiers, i.e. N.N.N.N:PORT.  This means one can
instantiate the servers on different ports:

EPICS_CAS_INTF_ADDR_LIST=localhost EPICS_CAS_SERVER_PORT=58900 ./test/testioc.py TEST0:
EPICS_CAS_INTF_ADDR_LIST=localhost EPICS_CAS_SERVER_PORT=58901 ./test/testioc.py TEST1:

and specify both to the client:

0$ EPICS_CA_ADDR_LIST='localhost:58900 localhost:58901' caget -t TEST0:FOO
0
0$ EPICS_CA_ADDR_LIST='localhost:58900 localhost:58901' caget -t TEST1:FOO
0
0$ 

The client therefore doesn't need to know which channels are at which
port.  This also works for localhost, so dummy network interfaces aren't
required.  This is a nice simple solution to the problem.
Unfortunately, it appears that this behavior (that ports can be
specified in the CA_ADDR_LIST list) is undocumented.  At least I can't
find reference to it in any of the CA documentation that I've found so
far.  If anyone sees a problem with this method please let me know.

Thanks so much for everyone's suggestions.

jamie.

Attachment: pgpeTBsndsuhs.pgp
Description: PGP signature


Replies:
RE: multiple servers on the same (loopback) interface Hu, Yong
References:
multiple servers on the same (loopback) interface Jameson Graef Rollins

Navigate by Date:
Prev: Re: registerRecordDevice... crashes IOC during startup Bruce Hill
Next: Another strange CA observation Benjamin Franksen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
Navigate by Thread:
Prev: RE: multiple servers on the same (loopback) interface Hill, Jeff
Next: RE: multiple servers on the same (loopback) interface Hu, Yong
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·