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: Need clarification on UDP Broadcasting to multiple IOCs on same PC |
From: | "Manoussakis, Adamandios via Tech-talk" <tech-talk at aps.anl.gov> |
To: | tech-talk <tech-talk at aps.anl.gov> |
Date: | Tue, 7 Dec 2021 22:01:05 +0000 |
Hi Ralph, Just to make sure I understand that rule then it is just replacing the header and wireshark would not see that traffic at .255 since its not really being sent to an interface? If this is the case is there anyway to know for sure the iptables
rule is being used if I cant see the traffic at .255 on wireshark? I thought when the EPICS_CA_ADDR_LIST is set to a specified IP address that the UDP are unicasts and when set to the broadcast address .255 then the UDP are broadcasts? For example if I have my ENV variables EPICS_CA_ADDR_LIST=localhost
isn’t the cagets going to be UDP unicasts? Then if I also have the cagateway setup for EPICS_CA_ADDR_LIST=localhost also shouldn’t the client for the gateway also end up using the firewall iptables rule? Cant seem to figure out why the client side of the
gateway doesn’t seem to use iptables rule then. What is the difference then between EPICS_CA_ADDR_LIST=192.168.0.255, EPICS_CA_SERVER_PORT=5064 and using the iptables rule of routing all 5064 udp traffic to 192.168.0.255:5064 instead of say localhost:5064? Thanks for your help! From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of
Ralph Lange via Tech-talk Hi Adam, On Tue, 7 Dec 2021 at 19:30, Manoussakis, Adamandios via Tech-talk <tech-talk at aps.anl.gov> wrote:
That firewall rule works on incoming unicast UDP search requests. It replaces the unicast destination address with the broadcast address to trick the kernel (that gets the message next) into seeing an incoming broadcast message,
so that it distributes it to all local processes (CA servers) listening on that port. (And not just to one process, like it would do with incoming unicasts.) That firewall rule does not reroute or send the messages out; it just replaces (rewrites) a field in the header of incoming messages. It needs to run on the host that is running multiple IOCs.
The differences you are seeing are most likely related to the firewall rule not working properly, while your "direct" CA client is using a different configuration (sending UDP broadcasts) than the client side of the Gateway (sending UDP
unicasts). Cheers, |