> I think we should change the way that the RSRV sends out beacon packets
> from calling connect() followed by send() to just calling sendto().
As I recall, the determining factor is the "commect"ed state of the
UDP socket, and not which call send/recv/sendto/recvfrom/etc are used,
but IP kernel implementations are evolving so this is perhaps a moving
target. Furthermore, attempts to dis"connect" a UDP socket in the past by
attaching it to AF_ANY address (as opposed to an AF_INET address)
has been a source of portability problems.
BTW, in the new server I have allocated a dedicated UDP socket for
each of the network interfaces that are discovered on the local host,
and during initialization the list of beacon destination addresses is
traversed with each of them being assigned to one of these dedicated
UDP sockets. This avoids any need to connect a UDP socket to a
destination at any time except, using as I recall a temporary UDP
socket to determine a local interface used for the beacon's destination,
during initialization.
Jeff
> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> On Behalf Of Andrew Johnson
> Sent: Tuesday, April 17, 2012 9:12 AM
> To: [email protected]
> Subject: Re: Channel Access problem over SSH
>
> Hi Michael,
>
> On 2012-04-17 [email protected] wrote:
> > From: [email protected] [mailto:tech-talk-
> [email protected]]
> > On Behalf Of Pavel Masloff
> >
> > > Look. I have noticed that even when I am normally starting
> > > an IOC on a linux machine, then I get these messages:
> > > online_notify.c:CA beacon (send to "172.20.255.255:5065") error was
> > > "Connection refused"
> >
> > These messages are an old old chestnut and a pain in the bum. We get
> them
> > here all the time on our development network, and I understand that
> > they're triggered by a misconfigured IOC somewhere on our network
> > incorrectly responding to discovery packets (or something like that). I
> > would so much like to see the offending machine thrown in the bin, but
> > apparently it's too hard to fix or something.
>
> I started seeing these recently from vxWorks 6.8 and in looking further
> discovered how to enable them on Linux too. I think we should change the
> way
> that the RSRV sends out beacon packets from calling connect() followed by
> send() to just calling sendto(). The former method allows us to detect
> ICMP
> returns, but it's starting to look like we don't really want to do that,
> especially since the error gets reported on a later use of that socket by
> which time we may have changed the address if we have more than one
> address in
> the EPICS_CA_ADDR_LIST or EPICS_CAS_BEACON_ADDR_LIST.
>
> Any comments on that idea from the more network-savvy developers out
> there?
>
> - Andrew
> --
> Never interrupt your enemy when he is making a mistake.
> -- Napoleon Bonaparte
- Replies:
- Re: Channel Access problem over SSH Andrew Johnson
- References:
- Channel Access problem over SSH Pavel Masloff
- Re: Channel Access problem over SSH Pavel Masloff
- RE: Channel Access problem over SSH michael.abbott
- Re: Channel Access problem over SSH Andrew Johnson
- Navigate by Date:
- Prev:
RE: log message filter in Asyn nick.rees
- Next:
Re: hardware register access Andrew Johnson
- 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: Channel Access problem over SSH Andrew Johnson
- Next:
Re: Channel Access problem over SSH Andrew Johnson
- 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
|