EPICS Home

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  2020  2021  <20222023  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  2020  2021  <20222023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address
From: William Kirstaedter via Tech-talk <tech-talk at aps.anl.gov>
To: EPICS Tech Talk <tech-talk at aps.anl.gov>
Date: Wed, 8 Jun 2022 11:00:19 +0200

I have a follow-up question in this matter.

as far as I understand, the recceiver takes the messages of the reccasters and stores them in an sqlite file.

how does the channelfinder java software access this information?

I'd like to run two instances of the recceiver and only one channelfinder.

it doesnt seem to be documented or I couldnt find it.

thanks in advance,

- W

William Kirstaedter (PP&B) Fritz-Haber-Institut der MPG
Faradayweg 4-6 14195 Berlin
Tel: 030 8413 5405 Mail: kirstaedter at fhi-berlin.mpg.de
Am 25.04.2022 um 17:11 schrieb Michael Davidsaver:
On 4/25/22 06:56, William Kirstaedter via Tech-talk wrote:
TL;DR: it now works with Heinz' suggestion:

longer explanation:

we have multiple small labs with own, dedicated networks, that NAT outgoing traffic.
but, all of them utilize the same private network: 10.0.0.0/23, since I set them up via script.

so routing is not an option.

I think this is only the case if you also lack administrative control
of both the IP routers involved.


next idea was to translate the recceivers broadcast signal into the private lab network, via iptables, kind of a reverse NAT if you will.

but as it turned out, iptables doesnt handle broadcast packets so I switched to socat which does.

Maybe stating the obvious, but recceiver (like CA/PVA) can be configured to send to unicast addresses.

So eg. the same tricks for routing CA searches / beacons will also work with recsync.

https://epics-controls.org/resources-and-support/documents/howto-documents/configure-channel-access/

In particular, when you have admin access on hosts, but not routers, this can be
a solution.

https://epics-controls.org/resources-and-support/documents/howto-documents/channel-access-reach-multiple-soft-iocs-linux/


since the reccasters in the IOCs only respond to the address in the 16byte message, the response never got through...

but now, with the correct and dedicated IP of the channelfinder server in it, it works perfectly. :)

by the way: FF FF FF FF as an IP address doesnt make sense to me anyways.
in my eyes, the reccaster should either broadcast its first IP address or a configured one?

Think about how this would work on a computer with multiple network interfaces.
You could end up with one IP in the recsync packet, and having the OS put
another in the IP header.  This used to happen with RSRV, and caused problems
with some network topologies.  The fix was to send 0xffffffff instead of a
specific IP.


  - William

William Kirstaedter (PP&B)     Fritz-Haber-Institut der MPG
Faradayweg 4-6     14195 Berlin
Tel: 030 8413 5405     Mail: kirstaedter at fhi-berlin.mpg.de

Am 25.04.2022 um 13:01 schrieb Heinz Junkes via Tech-talk:
Hallo Han,
thanks for the hint. But this only works if the computer system also has a “leg” (network connection)  into the respective networks?

We also have something like this for the FEL network, for example. But otherwise there are always gateway computers between the individual experiment networks und the main-net.
However, since we are routing out of the experiment machines into our main-net, I'll try my hand at modifying announce.py.

tcpaddr='\xff\xff\xff\xff’ -> tcpaddr='\x8d\x0e\x8c\x62’  (141.14.140.98)

Heinz


On 24. Apr 2022, at 02:43, Han Lee<jeonglee at lbl.gov>  wrote:

Hi Heinz,

Could you try to add your IOC address subnets into the recceiver server configuration as addr_list?

https://github.com/jeonghanlee/RecSync-env/blob/7b9fbc794ec8e4ae36349593780f9dcd00d142a0/site-template/recsync.conf.in#L16

Multiple IOCs just see the resync server (Not CF - elasticsearch - server) without issues.

For example, you can add each subnet where your IOCs are running, such as

10.10.11.255:5049, 10.10.48.255:5049, ..................................

I hope this is what you are looking for. Or I completely misunderstand your description.

Best,
Han


On Fri, Apr 22, 2022 at 11:52 AM Heinz Junkes via Tech-talk<tech-talk at aps.anl.gov>  wrote:
Hi,

we need to route the announcements from our central Channelfinder server to a subnet so that the
recasters on the IOCs in the subnet can send their PV information to the server.

Unfortunately, the announcement package does not contain the IP of the server but FF:FF:FF:FF.

root@priscilla:~# socat -ls -u -v -x UDP4-RECVFROM:5049,broadcast,fork,bind=141.14.143.255 UDP4-SENDTO:10.0.1.255:5049,broadcast
2022/04/22 17:22:18.879313  length=16 from=0 to=15
52 43 00 00 ff ff ff ff 84 81 00 00 61 bf c1 23  RC..........a..#

Gruss Heinz




-- 
Jeong Han Lee, Dr.rer.nat
Staff Scientist and Engineer
Lawrence Berkeley National Laboratory
1 Cyclotron Road Mailstop 46R0161
Berkeley, CA 94720, United States
Tel :+1-510-486-6163
Cell:+1-510-384-3868

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


References:
Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Heinz Junkes via Tech-talk
Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Han Lee via Tech-talk
Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Heinz Junkes via Tech-talk
Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address William Kirstaedter via Tech-talk
Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Michael Davidsaver via Tech-talk

Navigate by Date:
Prev: dbLoadRecords and substitute Knap, Giles (DLSLtd,RAL,LSCI) via Tech-talk
Next: Re: dbLoadRecords and substitute 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  2020  2021  <20222023  2024 
Navigate by Thread:
Prev: Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Michael Davidsaver via Tech-talk
Next: pyDevSup and PyDevice: Virtual Environment Kuldeep Joshi 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  2020  2021  <20222023  2024