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

Subject: Re: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c
From: Heinz Junkes <[email protected]>
To: "[email protected]" <[email protected]>, "Williams Jr., Ernest L." <[email protected]>, Michael Davidsaver <[email protected]>, Andrew Johnson <[email protected]>
Cc: Slepicka, Hugo Henrique <[email protected]>
Date: Tue, 22 Aug 2017 18:47:07 -0600
Sounds much more feasible … I tried it out and it worked for me with linux and rtems….
Heinz



On 22. August 2017 at 16:42:37, Andrew Johnson ([email protected]) wrote:

Hi Ernest,

On 08/18/2017 10:30 PM, Williams Jr., Ernest L. wrote:
> I am experiencing the same issue with EPICS R3.15.5 and RTEMS version "4.9.4"
>
> Can you add the patch to the KnownProblems page?
> http://www.aps.anl.gov/epics/base/R3-15/5-docs/KnownProblems.html

We haven't agreed what the right fix should be yet — Heinz, presumably
your change is included in your RTEMS-4.12 branch?

I would be more inclined to add another typedef to the osdSock.h API for
this data type instead of adding more OS-specific #ifdefs into the
source. There are 2 places in Base-3.15 that make this call:

if (setsockopt(..., IPPROTO_IP, IP_MULTICAST_LOOP,
(char *) &flag, sizeof(flag)) ...

Declaring the flag variable as say
osiSockOptMcastLoop_t flag = 1;
would seem to be a cleaner solution, and in line with how other OS
socket API differences have been resolved in the past.

Any objections to implementing this in Base-3.15?

- Andrew


> From: [email protected] [[email protected]] on behalf of Andrew Johnson [[email protected]]
> Sent: Thursday, April 20, 2017 9:21 AM
> To: Michael Davidsaver; Heinz Junkes; [email protected]
> Subject: Re: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c
>
> On 04/20/2017 10:19 AM, Michael Davidsaver wrote:
>> I see that linux (circa 3.16) will accept either 'int' or 'char' for
>> IP_MULTICAST_LOOP. Also for most other integer flags.
>>
>> I find references which suggest that winsock wants BOOL (which I assume
>> is 'char').
>>
>> However, vxworks 5.5 clearly spec's 'int'.
>>
>> http://www.vxdev.com/docs/vx55man/vxworks/ref/sockLib.html
>
> But as long as we're talking about Base-3.16 we don't have to support
> VxWorks 5.5 at all. Wind River completely replaced the network stack in
> VxWorks 6.x, and the newer stack looks like it will support either int
> or char (there's code in setsockopt() for IP_MULTICAST_LOOP which
> appears to handle both sizes, although they haven't updated the docs to
> actually say that).
>
>> Seems like the IP_MULTI* socket options need unit-test coverage. (maybe
>> add to blockingSocketTest.cpp ?)
>
> Agreed, and that seems like the right place for it.
>
> - Andrew
>
> --
> Arguing for surveillance because you have nothing to hide is no
> different than making the claim, "I don't care about freedom of
> speech because I have nothing to say." -- Edward Snowdon
>

--
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon

Attachment: smime.p7s
Description: S/MIME cryptographic signature


References:
RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c Heinz Junkes
Re: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c Heinz Junkes
Re: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c Michael Davidsaver
Re: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c Andrew Johnson
RE: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c Williams Jr., Ernest L.
Re: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c Andrew Johnson

Navigate by Date:
Prev: Re: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c Andrew Johnson
Next: Still can not successful compile/run epicsV4CPP from github Heinz P. Junkes
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c Andrew Johnson
Next: Re: RTEMS: rsrv: failed to set mcast loopback in src/ioc/rsrv/caservertask.c Michael Davidsaver
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <20172018  2019  2020  2021  2022  2023  2024 
ANJ, 21 Dec 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·