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  <20212022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: [EXTERNAL] Re: IPv6
From: Michael Davidsaver via Core-talk <core-talk at aps.anl.gov>
To: "Kasemir, Kay" <kasemirk at ornl.gov>
Cc: "core-talk at aps.anl.gov" <core-talk at aps.anl.gov>
Date: Tue, 16 Mar 2021 12:48:33 -0700
On 3/16/21 12:27 PM, Kasemir, Kay via Core-talk wrote:
>> Personally, I see IPv6 as one of several "modernization" requirements
> 
> In principle, the PVAccess protocol is prepared for IPv6.
> For example, search replies have room for v6 addresses.
> When I worked on the updated Java lib, I found a few places in the original Java code which comments like "current use of multicast addresses works only with INET, not INET6".
> So the channel for the UDP port is opened for INET, not INET6 protocol.
> But I've never tried it with INET6, no idea what the specific issues would be.
> Does anybody know?

I looked into this when I started on PVXS.  Conceptually there is no
problem.  However, I ultimately encountered enough implementation issues
that I didn't go though with it.  Those I recall are:

1. Adding sockaddr_in6 to osiSockAddr breaks basically all existing code on *BSD (including OSX)

On targets with BSD derivative network stacks, syscalls like bind() which take
'size_t socklen' error unless the size exactly matches the address family.
eg. AF_INET expects socklen==sizeof(sockaddr_in).  Linux is more permissive
and allows socklen to be larger.  I didn't get as far as testing windows.

2. Network interface inspection doesn't include IPv6 addresses

3. IPv6 doesn't have broadcasts

Use of unicast or multicast becomes mandatory.
I think this would mainly effects configuration.

4. Target support.  (RTEMS legacy network stack is a non-starter)

5. How to handle interop in a mixed IPV4/6 installation?


> Would an effort to support IPv6 consider updating Channel Access, or would we concentrate on PVAccess?

Personally, I think it would be better to focus on PVA where there are
(I think) only implementation issues.  Also fewer implementations.

It should be possible to extend the design of CA to include IPv6.
eg. it might be as simple as disallowing "name server" search
replies over IPv6.  This is the only case where an IPv4 address is
encoded in a message.  If this isn't sufficient, then at least
a limited redesign would be needed.

References:
IPv6 Johnson, Andrew N. via Core-talk
Re: IPv6 Zimoch Dirk (PSI) via Core-talk
Re: IPv6 Ben Franksen via Core-talk
Re: IPv6 Johnson, Andrew N. via Core-talk
Re: IPv6 Michael Davidsaver via Core-talk
Re: [EXTERNAL] Re: IPv6 Kasemir, Kay via Core-talk

Navigate by Date:
Prev: RE: IPv6 Mark Rivers via Core-talk
Next: Re: IPv6 Jeong Han Lee via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: Re: [EXTERNAL] Re: IPv6 Kasemir, Kay via Core-talk
Next: RE: IPv6 Mark Rivers via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 16 Mar 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·