EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: CA Beacon, error messages when sending
From: "Jeff Hill" <[email protected]>
To: "'Heinrich du Toit'" <[email protected]>, "'TechTalk EPICS'" <[email protected]>
Date: Mon, 9 Jul 2007 13:28:59 -0600
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  <20072008  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  <20072008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·