EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  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  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: epics on FreeBSD: broadcast problem
From: Gerrit Kühn <[email protected]>
To: "Jeff Hill" <[email protected]>
Cc: [email protected]
Date: Thu, 24 Feb 2011 16:33:48 +0100
On Wed, 23 Feb 2011 12:08:12 -0700 "Jeff Hill" <[email protected]> wrote
about RE: epics on FreeBSD: broadcast problem:

JH> Make certain that the netmasks for the network interfaces in your
JH> FreeBSD system match the networks to which they are attached. See also
JH> the "Troubleshooting" portion of the CA reference manual.

They do. Actually this particular machine is serving as router and
dhcp-server for the subnet:

---
firefly1# ifconfig em1
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
        ether 00:25:90:02:16:31
        inet 192.168.64.254 netmask 0xffffe000 broadcast 192.168.95.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
---

A Linux-system in the network looks quite the same:

---
psl@psl-fe4 ~ $ /sbin/ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:25:90:15:3e:16  
          inet addr:192.168.64.9  Bcast:192.168.95.255  Mask:255.255.224.0
          inet6 addr: fe80::225:90ff:fe15:3e16/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2994432254 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4677428405 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:277941608130 (258.8 GiB)  TX bytes:3767794266485 (3.4
TiB) Memory:d9020000-d9040000 
---

JH> If there are not routing issues, then I suspect that something is
JH> amiss with the code in EPICS base which we use to interrogate the
JH> broadcast address used by each network interface. 

There is no routing involved, all is happening inside this network.

JH> This code runs when
JH> EPICS_CA_AUTO_ADDR_LIST is YES. For POSIX, reference
JH> src/libCom/osi/os/default/osdNetIntf.c. We have occasionally needed to
JH> make some minor changes here before because socket library interface
JH> changes were not backwards compatible.

Even setting this explicitely to "YES" does not help:

---
firefly1# setenv | grep EPICS
EPICS_HOST_ARCH=freebsd-x86_64
EPICS_CA_AUTO_ADDR_LIST=YES
firefly1# ./caget G3:PSL-OSC_PZTVOLT
Channel connect timed out: 'G3:PSL-OSC_PZTVOLT' not found.
---


Only setting the broadcast directly does make it work:

---
firefly1# setenv | grep EPICS
EPICS_HOST_ARCH=freebsd-x86_64
EPICS_CA_AUTO_ADDR_LIST=YES
EPICS_CA_ADDR_LIST=192.168.95.255
firefly1# ./caget G3:PSL-OSC_PZTVOLT
G3:PSL-OSC_PZTVOLT             4.78195
---

JH> When running a soft IOC on this FreeBSD system, what does casr, with a
JH> high interest level (i.e. casr 100), show? There should be a list of
JH> network addresses listed there - which are the server's beacon
JH> destinations. When EPICS_CAS_AUTO_BEACON_ADDR_LIST is YES (the
JH> default) the code in src/libCom/osi/os/default/osdNetIntf.c is used to
JH> populate this list of beacon destination addresses.

---
epics> casr 100
Channel Access Server V4.13
No clients connected.
UDP Server:
UDP 0.0.0.0:0(): User="", V4.0, 0 Channels, Priority=0
        Task Id=0x80204f760, Socket FD=6
        Secs since last send   3.02, Secs since last receive   3.02
        Unprocessed request bytes=0, Undelivered response bytes=16
        State=up
        272 bytes allocated

        Send Lock
epicsMutexId 0x802236b80 source ../caservertask.c line 730
ownerTid 0x0 count 0 owned 0
        Put Notify Lock
epicsMutexId 0x802236b20 source ../caservertask.c line 731
ownerTid 0x0 count 0 owned 0
        Address Queue Lock
epicsMutexId 0x802236ac0 source ../caservertask.c line 732
ownerTid 0x0 count 0 owned 0
        Event Queue Lock
epicsMutexId 0x802236a60 source ../caservertask.c line 733
ownerTid 0x0 count 0 owned 0
        Block Semaphore
There are currently 1904 bytes on the server's free list
7 client(s), 0 channel(s), 0 event(s) (monitors) 0 putNotify(s)
0 small buffers (16384 bytes ea), and 0 jumbo buffers (16408 bytes ea)
The server's array size limit is 16408 bytes max
Channel Access Address List
10.15.254.2:5065
---

This last address belongs to some vpn connections the machine has, not to
the physical interfaces (em0 and em1). The IOC I actually want to talk to
sits on 192.168.64.9 and is reachable via em1.


cu
  Gerrit

Replies:
RE: epics on FreeBSD: broadcast problem Jeff Hill
RE: epics on FreeBSD: broadcast problem Jeff Hill
References:
epics on FreeBSD: broadcast problem Gerrit Kühn

Navigate by Date:
Prev: Re: epics on FreeBSD: broadcast problem Ralph Lange
Next: RE: epics on FreeBSD: broadcast problem Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: epics on FreeBSD: broadcast problem Ralph Lange
Next: RE: epics on FreeBSD: broadcast problem Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·