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  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024  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  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS_CA_MCAST_TTL equivalent for pvAccess
From: "Johnson, Andrew N. via Tech-talk" <[email protected]>
To: "[email protected]" <[email protected]>
Date: Thu, 23 Jan 2020 16:18:57 +0000
Great idea, both fixing the caRepeater and maybe even adding support to the pvAccess code.

Thanks!

- Andrew


On 1/22/20 5:48 PM, Pierrick M Hanlet via Tech-talk wrote:
Perhaps, with help, I could work on this at the code-a-thon.
Pierrick


On 1/22/20 5:01 PM, Michael Davidsaver via Tech-talk wrote:
Thanks for the details.

On 1/22/20 12:52 PM, James G Smedinghoff wrote:
caRepeater did not join the beacon IGMP multicast group,
Ah, yes.  This is an oversight.  (there had to be something)

so I used a multicast address for the
beacons which the client node was already listening to.
 From my, likely incomplete, understanding of mcast this seems like it shouldn't work.
Routing packets to a host is certainly necessary, however the IP stack shouldn't pass
them along to a particular socket unless that socket has joined the appropriate group.

Still the path forward is clear.  caRepeater needs to process EPICS_CAS_BEACON_ADDR_LIST
and join any mcast groups listed.  addAddrToChannelAccessAddressList() from addrList.h can
do most of this.

If you, or someone at FNAL is interested in having a go,
I think the change would be made to 'sock' just above:

https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_epics-2Dbase_epics-2Dbase_blob_468f965dc2753e7a381dcc09dd9b5656e3149ac2_modules_ca_src_client_repeater.cpp-23L520&d=DwICaQ&c=gRgGjJ3BkIsb5y6s49QqsA&r=lWgMUJ9IIDH_eCcPLDGLwQ&m=WZqbF9QfLagwsy3viHZphbrj0nKr-Pp1AgsGSSQtnbA&s=TDS-qdOEPBAbboWMYbPcCsqcmvMSpiLbDCXmqeuB4xo&e=



On 1/22/20 12:52 PM, James G Smedinghoff wrote:
On 1/22/2020 1:24 PM, Michael Davidsaver wrote:
On 1/22/20 8:18 AM, Denise Finstrom via Tech-talk wrote:
Hello,

Is there an equivalent to EPICS_CA_MCAST_TTL for the pvAccess protocol?
There isn't one.  PVA doesn't (yet) support search by mcast.

Were you able to make this work with CA?  What does your network topology look
like?  (how many hops)  Did you encounter any problems?
Yes, I was able to use multicasts for CA search and beacons by defining environment variables.
On the client:

EPICS_CA_ADDR_LIST=<multicast address1>
EPICS_CA_AUTO_ADDR_LIST=NO
EPICS_CA_MCAST_TTL=20


On the IOC:

EPICS_CAS_INTF_ADDR_LIST=<multicast address1>
EPICS_CAS_BEACON_ADDR_LIST=<multicast address2>
EPICS_CAS_AUTO_BEACON_ADDR_LIST=NO
EPICS_CA_MCAST_TTL=20

caRepeater did not join the beacon IGMP multicast group, so I used a multicast address for the
beacons which the client node was already listening to.

The control system has a large central router which is connected to about a dozen 256 address subnets.
Each subnet is only 1 hop from the others. More hops would be needed to get to non-controls subnets
or the internet.

Jim
Adding this was a project of mine a few years ago.  I've actually never been
certain that it would work at scale since I don't have access to a large
network with mcast routing enabled for testing.  Nor have I had any feedback
from users until now.  So adding this feature to the PVA protocol code hasn't
been a priority for me.


We are attempting to use multicast for PV search and haven't found a way to change TTL values when using pvAccess. When we set EPICS_PVA_ADDR_LIST to a multicast address, the multicast goes out with a TTL of one and doesn't get routed to other subnets. We are successfully using multicast for PV search with the CA protocol and EPICS_CA_MCAST_TTL. We are looking to do the same with pvAccess, but the EPICS_PVA_MCAST_TTL environment variable doesn't seem to exist. We are using base-7.0.3.1. Any advice would be appreciated.

Thanks,

Denise


-- 
Complexity comes for free, Simplicity you have to work for.

Replies:
Re: EPICS_CA_MCAST_TTL equivalent for pvAccess Ralph Lange via Tech-talk
References:
EPICS_CA_MCAST_TTL equivalent for pvAccess Denise Finstrom via Tech-talk
Re: EPICS_CA_MCAST_TTL equivalent for pvAccess Michael Davidsaver via Tech-talk
Re: EPICS_CA_MCAST_TTL equivalent for pvAccess James G Smedinghoff via Tech-talk
Re: EPICS_CA_MCAST_TTL equivalent for pvAccess Michael Davidsaver via Tech-talk
Re: EPICS_CA_MCAST_TTL equivalent for pvAccess Pierrick M Hanlet via Tech-talk

Navigate by Date:
Prev: CAS-client thread issues in areaDetector IOC Wlodek, Jakub via Tech-talk
Next: RE: XSPRESS3 hdf5 problems Mark Rivers via Tech-talk
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  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: Re: EPICS_CA_MCAST_TTL equivalent for pvAccess Pierrick M Hanlet via Tech-talk
Next: Re: EPICS_CA_MCAST_TTL equivalent for pvAccess Ralph Lange via Tech-talk
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  <20202021  2022  2023  2024 
ANJ, 24 Jan 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·