Hello Heinrich,
> ../online_notify.c: CA beacon (send to "172.16.255.255:5065") error was
> "Connection refused"
>
> What does this mean? Why is it trying to connect to the broadcast
> address?
This message is emitted when the socket library indicates an error condition
when the CA server attempts to send its beacon message. The part in quotes
is a direct ASCII translation of the error number supplied by the socket
library (the error number returned by the "sendto" function). Such details
can be confusing at times, but can also be quite useful when attempting to
debug networking problems so when coding this component I was not inclined
to suppress them.
So one might ask the question, "how can we get a connection refused error
when sending the CA beacon considering that the beacon is based on UDP which
isn't a connection oriented protocol?" My best guess is that a previous call
to sendto elicited the ICMP error response message "port unreachable", and
somehow the IP kernel is caching this response and returning ECONNREFUSED
condition from a subsequent call to sendto. Mark is probably correct in
guessing that there is a derelict device on your network that doesn't know
that sending the ICMP error message "port unreachable" in response to a
broadcast message is improper etiquette.
It turns out that in this situation the CA server is "connecting" its UDP
socket in order to obtain the IP address of the network interface (there can
be more than one of them) that will be selected by the host's routing tables
to send the beacon message. This is done so that this interface's address
can be embedded in the beacon message. It also turns out that it is normal
in BSD Unix to return ECONNREFUSED when a "connected" UDP socket elicits the
"port unreachable" ICMP response.
To avoid confusion in the future I could modify the code to "disconnect" the
UDP socket prior to sending the message (slightly more overhead) or I could
add code to suppress this specific message - when ECONNREFUSED is returned.
So, there isn't really a bug, but nevertheless I created Mantis 294 so that
confusion surrounding this message can be discussed, and perhaps a source
code modification could be added to a future release.
Sorry about any delays responding, I was on vacation (stalking brown trout
in Colorado) the latter part of last week.
Jeff Hill
-----Original Message-----
From: [email protected] [mailto:[email protected]]
On Behalf Of Heinrich du Toit
Sent: Thursday, July 05, 2007 12:27 AM
To: TechTalk EPICS
Subject: CA Beacon
Hi
We have a local control net.
This is the first time I run an IOC on it:
I get the following message:
../online_notify.c: CA beacon (send to "172.16.255.255:5065") error was
"Connection refused"
What does this mean? Why is it trying to connect to the broadcast
address?
-Heinrich
- References:
- CA Beacon Heinrich du Toit
- Navigate by Date:
- Prev:
Re: caget segment fault Geoff Savage
- Next:
RE: caget segment fault Jeff Hill
- 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: CA Beacon Ralph Lange
- Next:
trouble with custom record Heinrich du Toit
- 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
|