EPICS Controls 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  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Multiple IOCs on one Linux host
From: Andrew Johnson <[email protected]>
To: Ralph Lange <[email protected]>
Cc: EPICS tech-talk <[email protected]>
Date: Mon, 31 Mar 2014 11:17:18 -0500
Hi Ralph,

This looks very interesting, probably worthy of a HowTo in the Wiki if
you can find time.

Note though that the /etc/network/if-{up,down}.d/ directories appear to
be Debian-specific; on RHEL and Fedora systems running NetworkManager
the equivalent script would go in /etc/NetworkManager/dispatcher.d/ and
gets given 2 arguments, the interface name ("eth0", "eth1" etc.)
followed by either "up" or "down".

- Andrew

On 03/31/2014 10:15 AM, Ralph Lange wrote:
> All,
> 
> As probably many of you know, running multiple IOCs on one host has an
> annoying side effect: Clients that are using that host's IP address in
> their EPICS_CA_ADDR_LIST with EPICS_CA_AUTO_ADDR_LIST=NO will only reach
> one of the IOCs - usually the one that was started last. All clients
> have to use broadcasts to reach all IOCs.
> The same is true for CA Gateway machines that are set up in a way that
> makes multiple Gateway processes serve channels into the same network.
> 
> Here's a little helper (for Linux hosts) that I recently was playing
> around with - based on an idea by Rodrigo Bongers (CNPEM, Brazil).
> 
> If you drop the attached script into /etc/network/if-up.d *and*
> /etc/network/if-down.d, it will automatically create/delete an iptables
> rule that replaces the destination address of all incoming CA UDP
> traffic on each interface with the broadcast address of that interface.
> Simple and effective: the kernel will see all incoming name resolution
> requests as broadcasts, and delivers them to all IOCs instead of one.
> 
> Note: This will not work for clients on the same host. (Adding that
> feature makes things a lot more complicated, and I like things to be
> simple.)
> If you need connections between IOCs on one host, I would suggest adding
> the broadcast address of the loopback interface (usually
> 127.255.255.255) to each IOC's EPICS_CA_ADDR_LIST setting.
> 
> Enjoy!
> ~Ralph
> 

-- 
Advertising may be described as the science of arresting the human
intelligence long enough to get money from it. -- Stephen Leacock

Replies:
Re: Multiple IOCs on one Linux host Ralph Lange
References:
Multiple IOCs on one Linux host Ralph Lange

Navigate by Date:
Prev: Multiple IOCs on one Linux host Ralph Lange
Next: gdd application function table read functions Patrick Thomas
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Multiple IOCs on one Linux host Ralph Lange
Next: Re: Multiple IOCs on one Linux host Ralph Lange
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·