1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: IOC in Docker not responding to caget from another host |
From: | Florian Feldbauer via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Paduan Donadio, Marcio" <marcio at slac.stanford.edu>, EPICS tech-talk <tech-talk at aps.anl.gov> |
Date: | Thu, 28 Oct 2021 08:56:34 +0200 |
Hey Marcio,
one think that comes to my mind: If you run the IOCs in containers with network mode host there might be multiple caRepeaters now listening on the same IP address and ports as each IOC might start its own caRepeater within its container.
If you start multiple IOC on the same host without containers there will be only one instance of the caRepeater process.
I'm not sure if this might cause your problem.
Best regards,
Florian
This is the scenario:
In HostA I have one container running an IOC and another container with caget/caput installed. Both containers have these env variables defined:
EPICS_CA_ADDR_LIST=127.255.255.255
EPICS_CA_REPEATER_PORT=5065
EPICS_CA_SERVER_PORT=5064
I can caget in one container and receive data from the IOC. When both are in the same host it works well. With tcpdump I can see the traffic between the two containers, using localhost to communicate.
The containers are running with network host mode.
Now I want to run caget in HostB that is in a different network. In HostB I've defined:
EPICS_CA_ADDR_LIST=134.79.219.255
EPICS_CA_REPEATER_PORT=5065
EPICS_CA_SERVER_PORT=5064
With tcpdump in HostA, I can see that 5 caget requests arrive from HostB to HostA, but the IOC doesn't seem to be aware of the packages. I understand that the IOC responds to broadcast requests coming from any of the interfaces by default. Is that right?
I've tried Ralph Lange / Rodrigo Bongers script (https://wiki-ext.aps.anl.gov/epics/index.php?title=How_to_Make_Channel_Access_Reach_Multiple_Soft_IOCs_on_a_Linux_Host) but nothing has changed.
Any clues? If you need more data, I'm happy to add them to this thread.
Thank you,
Márcio Paduan Donadio | Control Systems Engineer
Advanced Control Systems Department
SLAC National Accelerator Laboratory | Menlo Park, CA
p: 650.926.5007 | w: slac.stanford.edu
-- Ruhr-Universität Bochum AG der Experimentalphysik I Dr. Florian Feldbauer NB 2/131 / Fach 125 Universitätsstr. 150 D-44801 Bochum Office: NB 2/134 Phone: (+49)234 / 32-23563 Fax: (+49)234 / 32-14170 https://paluma.ruhr-uni-bochum.de