EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024  Index 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: Question PVA environment variable
From: "Kasemir, Kay via Core-talk" <core-talk at aps.anl.gov>
To: Michael Davidsaver <mdavidsaver at gmail.com>, "Bellister, ,Jesse" <jesseb at slac.stanford.edu>, "Williams Jr., Ernest L." <ernesto at slac.stanford.edu>
Cc: EPICS core-talk <core-talk at aps.anl.gov>, "Shroff, Kunal" <shroffk at bnl.gov>, "Zelazny, Michael Stanley" <zelazny at slac.stanford.edu>
Date: Thu, 17 Nov 2022 14:42:16 +0000
Thanks for figuring this out!!
So pvAccessJava now always uses IPv4 for the UDP socket. The newer Java implementation which supports IPv4 and IPv6 creates separate sockets for INET(4) vs. INET6 UDP, trying to join the local multicast group only from the the IPv4 socket, which seems to always succeed.
I guess eventually we'll need a way to disable the IPv4 code, but don't expect that soon.


From: Michael Davidsaver <mdavidsaver at gmail.com>
Sent: Wednesday, November 16, 2022 11:38 PM
To: Bellister, ,Jesse <jesseb at slac.stanford.edu>; Williams Jr., Ernest L. <ernesto at slac.stanford.edu>
Cc: EPICS core-talk <core-talk at aps.anl.gov>; Zelazny, Michael Stanley <zelazny at slac.stanford.edu>; Kasemir, Kay <kasemirk at ornl.gov>; Shroff, Kunal <shroffk at bnl.gov>
Subject: [EXTERNAL] Re: Question PVA environment variable
 
On 11/16/22 16:30, Bellister, ,Jesse wrote:
> Hi all,
>
> One further update. The specific commit which fixed the issue was this one here:
>
> hxxps://github.com/epics-base/epicsCoreJava/pull/93 <hxxps://github.com/epics-base/epicsCoreJava/pull/93>
>
> This was confirmed by undoing that one change while leaving everything else the same, which resulted in seeing the incorrect multicast traffic again.
>
> Based on the date of the change, it appears that versions of epicsCoreJava prior to 7.0.7 would exhibit the behavior we were seeing, and anything from that commit onward should be fine (including 7.0.7 and 7.0.8).

I suspect there were other variables at play.
Perhaps the formerly ubiquitous preferIPv4Stack
property effected the default ProtocolFamily?

> -Djava.net.preferIPv4Stack=true


Also, did you be chance see this message being logged?

> Failed to initialize local multicast, funcionality disabled

hxxps://github.com/epics-base/epicsCoreJava/issues/129


> Thanks!
> Jesse
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *From:* Core-talk <core-talk-bounces at aps.anl.gov> on behalf of Bellister, ,Jesse via Core-talk <core-talk at aps.anl.gov>
> *Sent:* Wednesday, November 16, 2022 12:23 AM
> *To:* Williams Jr., Ernest L. <ernesto at slac.stanford.edu>; Michael Davidsaver <mdavidsaver at gmail.com>
> *Cc:* EPICS core-talk <core-talk at aps.anl.gov>; Zelazny, Michael Stanley <zelazny at slac.stanford.edu>
> *Subject:* Re: Question PVA environment variable
> We were using the 7.0.2 build of epicsCoreJava, which included version 5.1.2 of the epics-pvaccess jar.
>
> This version was causing pv name query re-transmits to go out on the physical network interface, instead of just being confined to the local loopback as expected. This resulted in flooding the network with multicast traffic for erroneous name queries. Multicast traffic is expected as per the pvAccess specification
>
>> When a client or server receives a packet containing a Search message with flagged "sent as unicast" it may resend this as a multicast to "224.0.0.128"
>> through the loopback interface ("127.0.0.1").
>
> But it should always be confined to the loopback.
>
> After updating to 7.0.8 which includes version 5.1.7 of the epics-pvaccess  jar, the issue appears to be resolved. What specifically changed to resolve the issue between the versions is still being investigated.
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> *From:* Williams Jr., Ernest L. <ernesto at slac.stanford.edu>
> *Sent:* Wednesday, November 16, 2022 12:14 AM
> *To:* Michael Davidsaver <mdavidsaver at gmail.com>
> *Cc:* Kim, Kukhee <khkim at slac.stanford.edu>; Zelazny, Michael Stanley <zelazny at slac.stanford.edu>; EPICS core-talk <core-talk at aps.anl.gov>; Bellister, ,Jesse <jesseb at slac.stanford.edu>; Williams Jr., Ernest L. <ernesto at slac.stanford.edu>
> *Subject:* Re: Question PVA environment variable
> This issue is only happening with epicsCoreJava package we were using
>
> Jesse, please copy in the details here
> Jesse is also in contact with Kunal and Kay
>
> Sent from my iPhone
>
>> On Nov 15, 2022, at 11:11, Michael Davidsaver <mdavidsaver at gmail.com> wrote:
>>
>> I realize I forgot to CC the core-talk list.
>>
>>> On 11/9/22 06:51, Michael Davidsaver wrote:
>>>> On 11/8/22 22:37, Kim, Kukhee wrote:
>>>> Hi  Michael,
>>>>
>>>> Thank you so much for your advice.
>>>> The multicast address is:  224.0.0.128
>>> Ah, right...  This address is used by PVA instead of something like caRepeater.
>>> It should only be sent via the loopback interface through.
>>> You can run "ip maddr" to see that 224.0.0.128 appears for the "lo" interface,
>>> but not for any others.
>>>> $ ip maddr
>>>> 1:      lo
>>>>         inet  224.0.0.128 users 2
>>>>         inet  224.0.0.1
>>>>         inet6 ff02::1
>>>>         inet6 ff01::1
>>> ...
>>> Are you seeing packets with this destination address actually going out on a wire?
>>>> We have PVA address setup as the followings:
>>>>
>>>> EPICS_PVA_ADDR_LIST='<broadcast addr for subnet>  255.255.255.255'
>>>> EPICS_PVA_AUTO_ADDR_LIST=NO
>>>> EPICS_PVA_BROADCAST_PORT=5076
>>>> EPICS_PVA_SERVER_PORT=507
>>>>
>>>> Hi Ernest and Mike,
>>>>
>>>> Can we capture the packet which goes to the multicast address to recognize searching or beacon?
>>>>
>>>> Thank you for your help.  I will update you.
>>>>
>>>> Thank you.
>>>> Best regards,
>>>> Kukhee
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>> *From:* Michael Davidsaver <mdavidsaver at gmail.com>
>>>> *Sent:* Tuesday, November 8, 2022 9:14 PM
>>>> *To:* Kim, Kukhee <khkim at slac.stanford.edu>
>>>> *Cc:* Zelazny, Michael Stanley <zelazny at slac.stanford.edu>; core-talk at aps.anl.gov <core-talk at aps.anl.gov>
>>>> *Subject:* Re: Question PVA environment variable
>>>> On 11/8/22 13:00, Kim, Kukhee via Core-talk wrote:
>>>>> Hi Everyone,
>>>>>
>>>>> We just realized that some of our servers send out packets to port 5076 in multicasting address.
>>>>
>>>> What multicast address(es) are you seeing?
>>>>
>>>> Can you look (with packet capture) to see if these are
>>>> search or beacon messages?
>>>>
>>>>
>>>>> Since, the multicasting address is used for some of specific services, we would like to prevent the PVA, PVXS traffic to the multicasting address.
>>>>
>>>> PVXS should not send any multicast traffic by default.
>>>> (we have no assigned addresses to use for PVA)
>>>>
>>>>
>>>>> Is there any PVA environment variables to control it?
>>>>
>>>> hxxps://mdavidsaver.github.io/pvxs/netconfig.html <hxxps://mdavidsaver.github.io/pvxs/netconfig.html> <hxxps://mdavidsaver.github.io/pvxs/netconfig.html <hxxps://mdavidsaver.github.io/pvxs/netconfig.html>>
>>>>
>>>> There are a couple, all of the form EPICS_PVA*_ADDR_LIST
>>>>
>>>>
>>>>> Thank you so much for your help and support!
>>>>>
>>>>> Best regards,
>>>>> Kukhee
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Kukhee Kim | *Engineering Physicist *
>>>>>
>>>>> Advanced Controls Department
>>>>>
>>>>> SLAC National Accelerator Laboratory | Menlo Park, CA
>>>>>
>>>>> p: 650.926.4912 | m: 669.300.8192 | email: khkim at slac.stanford.edu
>>>>>
>>>>
>>


References:
Question PVA environment variable Kim, Kukhee via Core-talk
Re: Question PVA environment variable Michael Davidsaver via Core-talk
Re: Question PVA environment variable Michael Davidsaver via Core-talk
Re: Question PVA environment variable Williams Jr., Ernest L. via Core-talk
Re: Question PVA environment variable Bellister, ,Jesse via Core-talk
Re: Question PVA environment variable Bellister, ,Jesse via Core-talk
Re: Question PVA environment variable Michael Davidsaver via Core-talk

Navigate by Date:
Prev: Build failed: EPICS Base 7 base-7.0-709 AppVeyor via Core-talk
Next: Compression record returns double value for field "N" over channel access Georg Weiss via Core-talk
Index: 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: Question PVA environment variable Michael Davidsaver via Core-talk
Next: Build failed in Jenkins: epics-base-7.0-win64 #346 APS Jenkins via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  <20222023  2024 
ANJ, 25 Nov 2022 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·