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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address |
From: | Michael Davidsaver via Tech-talk <tech-talk at aps.anl.gov> |
To: | William Kirstaedter <kirstaedter at fhi-berlin.mpg.de> |
Cc: | EPICS Tech Talk <tech-talk at aps.anl.gov> |
Date: | Mon, 25 Apr 2022 08:11:56 -0700 |
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) HeinzOn 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,broadcast2022/04/22 17:22:18.879313 length=16 from=0 to=1552 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