From 40a3dab60cbf9c5742d6aaa2035c21ac8576f27d Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Thu, 8 Aug 2002 17:09:13 +0000 Subject: [PATCH] added description of CA repeater --- src/ca/CAref.html | 104 +++++++++++++++++++++++++++++++--------------- 1 file changed, 70 insertions(+), 34 deletions(-) diff --git a/src/ca/CAref.html b/src/ca/CAref.html index c64a7f1da..ab3a775dc 100644 --- a/src/ca/CAref.html +++ b/src/ca/CAref.html @@ -46,10 +46,11 @@ height="31" width="88">

Information
  • IP port numbers
  • WAN Environment
  • -
  • Disconnect Time Out Interval / Server Beacon +
  • Disconnect Time Out Interval / Server Beacon Period
  • Dynamic Changes in the CA Client Library Search Interval
  • +
  • The CA Repeater
  • Configuring the Time Zone
  • Configuring the maximum array size
  • Configuring a CA server
  • @@ -425,6 +426,18 @@ number will default to EPICS_CA_SERVER_PORT.

    +

    Routing restiction on vxWorks systems

    + +

    Frequently vxWorks systems boot by default with routes limiting access +only to the local subnet. If a EPICS system is operating in a WAN environment +it may be necessary to configure routes into the vxWorks system which enable +a vxWorks based CA server to respond to requests originating outside it's +subnet. These routing restrinctions can also apply to vxWorks base CA clients +communicating with off subnet servers. An EPICS system manager can implemnt +an rudamentary, but robust, form of access control for a particular host by +not providing routes in that host that reach outside of a limited set of +subnets. See "routeLib" in the vxWorks reference manual.

    +

    Disconnect Time Out Interval

    If the CA client library does not see a beacon from a server that it is @@ -487,6 +500,28 @@ EPICS_CA_ADDR_LIST was modified to include a destination address for the server, but the server's beacon address list was not modified so that it's beacons are received by the client.

    +

    The CA Repeater

    + +

    When several client processes run on the same host it is not possible for +all of them to all directly receive a copy of the server beacon messages when +the beacon messages are sent to unicast addresses, or when legacy IP kernels +are still in use. To avoid confusion over these restrictions a special UDP +server, the CA Repeater, is auotomatically spawned by the CA client library +when it is not found to be running. This program listens for server beacons +sent to the UDP port specified in the EPICS_CA_REPEATER_PORT parameter and +fans any beacons received out to any CA client program running on the same +host that have registered themselves with the CA Repeater. If the CA Repeater +is not already running on a workstation, then the "caRepeater" program must +be in your path before using the CA client library for the first time. If a +host based IOC is run on the same workstation with standalone CA client +processes, then it is probably best to start the caRepeater process when the +workstation is booted. Otherwise it is possible for the standalone CA client +processes to become dependent on a CA repeater started within the confines of +the host based IOC. As long as the host based IOC continues to run there is +nothing wrong with this situation, but problems could arise if this host +based IOC process exits before the standalone client processes which are +relying on its CA repeater for services exit.

    +

    Configuring the Time Zone

    Readers Note: Starting with EPICS R3.14 all of the libraries in the @@ -580,7 +615,7 @@ request transportation of large arrays.

    EPICS_CAS_BEACON_ADDR_LIST {N.N.N.NN.N.N.N:P...} - EPICS_CA_ADDR_LIST + EPICS_CA_ADDR_LIST1 EPICS_CAS_BEACON_PERIOD @@ -600,55 +635,56 @@ request transportation of large arrays.

    +

    Server Port

    + +

    The server configures its port number from the EPICS_CAS_SERVER_PORT +environment variable if it is specified. Otherwise the EPICS_CA_SERVER_PORT +environment variable determines the server's port number. Two servers can +share the same UDP port number on the same machine, but there are +restrictions - see a discussion of unicast addresses and +two servers sharing the same UDP port on the same host.

    +

    Server Beacons

    -

    CA servers send "beacon" messages to each address specified in -EPICS_CAS_BEACON_ADDR_LIST, and also any addresses auto configured from -network interfaces found if EPICS_CAS_AUTO_BEACON_ADDR_LIST is "yes" or -"YES".

    - -

    Configuring the Server's Beacon Period

    -

    The EPICS_CAS_BEACON_PERIOD parameter determines the server's beacon period and is specified in floating point seconds. The default is typically 15 seconds. See also EPICS_CA_CONN_TMO and Dynamic Changes in the CA Client Library Search Interval.

    -

    The server configures its port number from the EPICS_CAS_SERVER_PORT -environment variable if it is specified. Otherwise the EPICS_CA_SERVER_PORT -environment variable determines the server's port number. Two servers can -share the same UDP port number on the same machine, but there are -restrictions - see a discussion of unicast addresses and -two servers shareing the same UDP port on the same host.

    -

    CA servers build a list of addresses to send beacons to during initialization. If EPICS_CAS_AUTO_BEACON_ADDR_LIST has the value "YES" then the beacon address list will contain at least the broadcast address of all LAN interfaces found in the host and the destination address of all -point-to-point interfaces found in the host. If EPICS_CAS_BEACON_ADDR_LIST is -defined then its contents will be used to augment this list. Individual -entries in EPICS_CAS_BEACON_ADDR_LIST may override the destination port -number if ":nnn" follows the host name or IP address there. Only if -EPICS_CAS_BEACON_ADDR_LIST is not defined, EPICS_CA_ADDR_LIST is defined, and -EPICS_CAS_INTF_ADDR_LIST is not defined, then the contents of -EPICS_CA_ADDR_LIST will inetead be used to augment this list.

    +point-to-point interfaces found in the host.

    + +

    If EPICS_CAS_BEACON_ADDR_LIST is defined then its contents will be used to +augment this list. Individual entries in EPICS_CAS_BEACON_ADDR_LIST may +override the destination port number if ":nnn" follows the host name or IP +address there. 1Alternatively, if EPICS_CAS_BEACON_ADDR_LIST is +not defined, EPICS_CA_ADDR_LIST is defined, and EPICS_CAS_INTF_ADDR_LIST is +not defined, then the contents of EPICS_CA_ADDR_LIST will be used to augment +the list. Otherwise, the list is not augmented.

    + +

    The EPICS_CAS_BEACON_PORT parameter specifies the destination port for +server beacons. The only exception to this occurs when ports are specified +in EPICS_CAS_BEACON_ADDR_LIST or possibly in EPICS_CA_ADDR_LIST. If +EPICS_CAS_BEACON_PORT is not specified then beacons are sent to the port +specified in EPICS_CA_REPEATER_PORT.

    + +

    Binding a Server to a Limited Set of Network Interfaces

    The parameter EPICS_CAS_INTF_ADDR_LIST allows a ca server to bind itself to a limited set of network interfaces (each specified by its IP address). By defualt, the CA server is accessible from all network interfaces configured -into its host. In R3.14 and R3.13 the CA server employed by -iocCore does not implemet this feature.

    +into its host. In R3.14 and R3.13 the CA server employed by iocCore does +not implemet this feature.

    + +

    Client Configuration that also Applies to Servers

    See also Configuring the Maximum Array Size.

    -

    Typically vxWorks hosts boot with routes configured for the host's subnet. -If a EPICS system is operating in a WAN environment it may be necessary to -configure routes into the vxWorks system which enable a vxWorks based CA -server to respond to requests originating outside it's subnet. An EPICS -system manager can implemnt an rudamentary, but robust, form of access -control for a particular host by not providing routes in that host that reach -outside of a limited set of subnets.

    +

    See also Routing restiction on vxWorks systems.

    Troubleshooting

    @@ -2505,7 +2541,7 @@ and then output to the console.

    write access denied
    -

    CVS Revision $Id$

    +

    CVS Revision $Id: CAref.html,v 1.26 2002/08/08 15:37:05 jhill Exp +$

    -