On 4/15/21 6:19 PM, Hu, Yong via Tech-talk wrote:
> Hi Klemen,
>
> I can confirm your observations. I also have an EPICS 7.0.4 IOC running on Red Hat server which has 4 active network ports. See below. The classical CA server is indeed listening on udp 0 0.0.0.0:5064. The PVA server is listening on all 4 active network interfaces and all broadcast IPs of those network interfaces. I am surprised to see there are two identical UDPs for each interface, i.e. two of this "udp 0 0 10.0.142.25:5076".
>
> Hope PVA experts can explain why PVA server does not use "udp 0.0.0.0 5076" as well as why there are identical UDPs in my messages below.
pvAccessCPP is binding to every interface and broadcast address as a portable way
to infer the destination address of each UDP packet. This is being done as part
of the scheme which (mostly) allows unicasts to reach multiple PVA peers using
the same port.
The 2x duplication arises from a lack of coordination between the client and server
components. Each one creates a set of sockets. This means a lot of sockets, and
a lot of threads.
With my new PVXS client/server I do things more like libca/RSRV. This includes
binding (once) to 0.0.0.0:5076 by default. This avoids some of the surprising
differences in behavior between PVA and CA in more complex network topologies.
This comes at the expense of unicasts packets not reaching multiple PVA peers
using the same port (as with CA servers).
> At the meantime, could you try "pvinfo -d pvNameFrom192.168.83.100" to see the debug message? Also, you could try set EPICS_PVA_ADDR_LIST to 192.168.83.100 (or 192.168.83.100:portNumber, type 'pvasr' on the PVA server to get portNumber) on the client 192.168.75.100.
>
> $ sudo netstat -apn | grep 2256238 | sort
> tcp 0 0 0.0.0.0:5064 0.0.0.0:* LISTEN 2256238/bin/linux-x
> tcp 0 0 0.0.0.0:5075 0.0.0.0:* LISTEN 2256238/bin/linux-x
> udp 0 0 0.0.0.0:42501 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 0.0.0.0:45141 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 0.0.0.0:47259 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 0.0.0.0:47822 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 0.0.0.0:5064 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 10.0.142.25:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 10.0.142.25:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 10.0.143.255:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 10.0.143.255:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 130.199.222.255:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 130.199.222.255:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 130.199.222.75:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 130.199.222.75:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 192.168.122.1:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 192.168.122.1:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 192.168.122.255:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 192.168.122.255:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 192.168.20.20:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 192.168.20.20:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 192.168.21.255:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 192.168.21.255:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 224.0.0.128:5076 0.0.0.0:* 2256238/bin/linux-x
> udp 0 0 224.0.0.128:5076 0.0.0.0:* 2256238/bin/linux-x
> unix 2 [ ] STREAM CONNECTED 12813364 2256238/bin/linux-x
>
> Cheers,
> Yong
>
>
> On 4/9/21, 11:44 AM, "Tech-talk on behalf of Vodopivec, Klemen via Tech-talk" <tech-talk-bounces at aps.anl.gov on behalf of tech-talk at aps.anl.gov> wrote:
>
> Hi,
>
> I apologize if this has been answered before, but a simple search came up empty.
>
> We’re trying to use PVA on our segmented network for some structured tabular data. On the given network segments, CA works fine for years without the need for CA gateway but with some small help from the router mangling the broadcast (discovery) requests. What appears to be working for CA on port 5064, it doesn’t for PVA on port 5076 even after adding similar rule to the router.
>
> The use case is as follows:
>
> caget/pvget client is on a 192.168.75.100/22 with bcast address 192.168.75.255. softIocPVA server is on a 192.168.83.100/22 with bcast address 192.168.83.255. caget requests work, but pvget don’t. We have traced it to be that the router turns UDP discover message destined to 192.168.83.255 into 255.255.255.255 when pushing it to the 192.168.80.0 segment. The CA server is listening on 0.0.0.0:5064 and it catches that, but the PVA server is listening on 192.168.83.255:5076 and it doesn’t see messages for 255.255.255.255.
>
> We’re working with networking guys to understand why router turns 192.168.83.255 into 255.255.255.255, but I was wondering if anyone else has tried similar setup and whether there’s any workaround. These tests were done with EPICS 7.0.4.1
>
> Thanks, Klemen
>
- References:
- PVA crossing network segments Vodopivec, Klemen via Tech-talk
- Re: PVA crossing network segments Hu, Yong via Tech-talk
- Navigate by Date:
- Prev:
Re: problems with running EPICS Gateway on virtual machines? Ru Igarashi via Tech-talk
- Next:
Re: WIN_32 Marty Kraimer 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>
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: PVA crossing network segments Hu, Yong via Tech-talk
- Next:
ci-scripts 3.3 release: support for RTEMS 5 (coming soon to Base) 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
2020
<2021>
2022
2023
2024
|