From 065872337e4deb2eb7b687e43f1a96d238e10ca5 Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Mon, 9 Aug 2021 17:26:07 +0200 Subject: [PATCH] new gateways in SLS --- startup.script_common | 59 +++++++++++++++++++++++++++++++++++-------- startup.script_linux | 25 ++++++++++++++++++ 2 files changed, 74 insertions(+), 10 deletions(-) diff --git a/startup.script_common b/startup.script_common index a2ed3bc..d236b71 100644 --- a/startup.script_common +++ b/startup.script_common @@ -2,7 +2,7 @@ # It is included by all generated scripts # The following variables should be set before: -# * EPICS the epics release (e.g "R3.14.12") +# EPICS the epics release (e.g "R3.14.12") EPICS_MODULES = "/ioc/modules" @@ -137,19 +137,58 @@ require "utilities", getenv("utilities_VERSION") require "misc", getenv("misc_VERSION") # caPutLog -putenv "EPICS_CA_PUT_LOG_ADDR=gfa-syslog:1515 gfa-logstash.psi.ch:1515" +putenv "EPICS_CA_PUT_LOG_ADDR=gfa-syslog:1515 gfa-logstash:1515" require "caPutLog", getenv("caPutLog_VERSION")?getenv("caPutLog_VERSION"):"ifexists" -# Run Channel Access only on 1st network port -putenv "EPICS_CA_AUTO_ADDR_LIST=NO" -putenv getenv("EPICS_CA_ADDR_LIST") ? "" : bootInfo("EPICS_CA_ADDR_LIST=%B") -putenv bootInfo("EPICS_CAS_INTF_ADDR_LIST=%e") -putenv "EPICS_CAS_AUTO_BEACON_ADDR_LIST=NO" -sprintf STRINGBUFFER, getenv("EPICS_CAS_BEACON_ADDR_LIST") ? "" : "EPICS_CAS_BEACON_ADDR_LIST=%s", getenv("EPICS_CA_ADDR_LIST") -putenv STRINGBUFFER - # EPICS 3.13 needs this to not use synchronized timestamps sprintf STRINGBUFFER, R3_13 ? "TSconfigure(0,10,10,18323,18322,250,1)" : ";" execute STRINGBUFFER +# Run Channel Access only on 1st network port +putenv bootInfo("EPICS_CAS_INTF_ADDR_LIST=%e") + +# Set up CA search lists for different networks +IP_ADDR=bootInfo("%e") + +# Office (only officicial EPICS subnets, not SLS beamlines!) +ifEnvSet IP_ADDR, "~129.129.130.*", "EPICS_CA_ADDR_LIST", "129.129.131.255 129.129.137.255" +ifEnvSet IP_ADDR, "~129.129.131.*", "EPICS_CA_ADDR_LIST", "129.129.130.255 129.129.137.255" +ifEnvSet IP_ADDR, "~129.129.137.*", "EPICS_CA_ADDR_LIST", "129.129.130.255 129.129.131.255" + +# SLS machine network +# No default access to beamlines because necessary list of GWs is too long! +# VxWorks 5 command line has max 128 chars, VxWorks 6 has 256 chars. +# Also EPICS 3.13 crashes when using long lists. +ifEnvSet IP_ADDR, "~172.20.*", "EPICS_CA_ADDR_LIST", "172.20.255.255" +ifEnvSet IP_ADDR, "~172.20.*", "EPICS_CA_AUTO_ADDR_LIST", "NO" + +# SLS beamlines +ifEnvSet IP_ADDR, "~129.129.98.*", "EPICS_CA_ADDR_LIST", "sls-x01dc-cagw:5800" +ifEnvSet IP_ADDR, "~129.129.99.*", "EPICS_CA_ADDR_LIST", "sls-x02da-cagw:5802" +ifEnvSet IP_ADDR, "~129.129.102.*", "EPICS_CA_ADDR_LIST", "sls-x03da-cagw:5804" +ifEnvSet IP_ADDR, "~129.129.101.*", "EPICS_CA_ADDR_LIST", "sls-x03ma-cagw:5806" +ifEnvSet IP_ADDR, "~129.129.105.*", "EPICS_CA_ADDR_LIST", "sls-x04db-cagw:5808" +ifEnvSet IP_ADDR, "~129.129.104.*", "EPICS_CA_ADDR_LIST", "sls-x04sa-cagw:5810" +ifEnvSet IP_ADDR, "~129.129.107.*", "EPICS_CA_ADDR_LIST", "sls-x05da-cagw:5812" +ifEnvSet IP_ADDR, "~129.129.106.*", "EPICS_CA_ADDR_LIST", "sls-x05la-cagw:5814" +ifEnvSet IP_ADDR, "~129.129.110.*", "EPICS_CA_ADDR_LIST", "sls-x06da-cagw:5816" +ifEnvSet IP_ADDR, "~129.129.126.*", "EPICS_CA_ADDR_LIST", "sls-x06mx-cagw:5818" +ifEnvSet IP_ADDR, "~129.129.109.*", "EPICS_CA_ADDR_LIST", "sls-x06sa-cagw:5820" +ifEnvSet IP_ADDR, "~129.129.113.*", "EPICS_CA_ADDR_LIST", "sls-x07da-cagw:5822" +ifEnvSet IP_ADDR, "~129.129.112.*", "EPICS_CA_ADDR_LIST", "sls-x07ma-cagw:5824" +ifEnvSet IP_ADDR, "~129.129.117.*", "EPICS_CA_ADDR_LIST", "sls-x09la-cagw:5826" +ifEnvSet IP_ADDR, "~129.129.116.*", "EPICS_CA_ADDR_LIST", "sls-x09lb-cagw:5828 x09la-cagw:5062" +ifEnvSet IP_ADDR, "~129.129.119.*", "EPICS_CA_ADDR_LIST", "sls-x10da-cagw:5830" +ifEnvSet IP_ADDR, "~129.129.118.*", "EPICS_CA_ADDR_LIST", "sls-x10sa-cagw:5832" +ifEnvSet IP_ADDR, "~129.129.121.*", "EPICS_CA_ADDR_LIST", "sls-x11ma-cagw:5834" +ifEnvSet IP_ADDR, "~129.129.122.*", "EPICS_CA_ADDR_LIST", "sls-x12sa-cagw:5836" + +# HIPA +ifEnvSet IP_ADDR, "~172.19.*", "EPICS_CA_ADDR_LIST", "172.19.10.255 172.19.30.255" +ifEnvSet IP_ADDR, "~172.19.*", "EPICS_CA_AUTO_ADDR_LIST", "NO" + +# PROSCAN +ifEnvSet IP_ADDR, "~172.25.*", "EPICS_CA_ADDR_LIST", "172.25.60.255 172.25.11.255" +ifEnvSet IP_ADDR, "~172.25.*", "EPICS_CA_AUTO_ADDR_LIST", "NO" + # End of startup.script_common diff --git a/startup.script_linux b/startup.script_linux index aa38b82..6ed13f5 100644 --- a/startup.script_linux +++ b/startup.script_linux @@ -28,6 +28,31 @@ ifEnvSet $(IP_ADDR) ~129.129.130.* EPICS_CA_ADDR_LIST "129.129.131.255 129.129.1 ifEnvSet $(IP_ADDR) ~129.129.131.* EPICS_CA_ADDR_LIST "129.129.130.255 129.129.137.255" ifEnvSet $(IP_ADDR) ~129.129.137.* EPICS_CA_ADDR_LIST "129.129.130.255 129.129.131.255" +# SLS machine network +ifEnvSet $(IP_ADDR) ~172.20.* EPICS_CA_ADDR_LIST "172.20.255.255 cryo-cagw.psi.ch:5062 sls129-softioc-mevis.psi.ch x01dc-cagw.psi.ch:5062 x02da-cagw.psi.ch:5062 x03da-cagw.psi.ch:5062 x03ma-cagw.psi.ch:5062 x04db-cagw.psi.ch:5062 x04sa-cagw.psi.ch:5062 x05da-cagw.psi.ch:5062 x05la-cagw.psi.ch:5062 x06da-cagw.psi.ch:5062 x06mx-cagw.psi.ch:5062 x06sa-cagw.psi.ch:5062 x07da-cagw.psi.ch:5062 x07ma-cagw.psi.ch:5062 x09la-cagw.psi.ch:5062 x09lb-cagw.psi.ch:5062 x10da-cagw.psi.ch:5062 x10sa-cagw.psi.ch:5062 x11ma-cagw.psi.ch:5062 x12sa-cagw.psi.ch:5062" +ifEnvSet $(IP_ADDR) ~172.20.* EPICS_CA_AUTO_ADDR_LIST NO + +# SLS beamlines +ifEnvSet $(IP_ADDR) ~129.129.98.* EPICS_CA_ADDR_LIST sls-x01dc-cagw.psi.ch:5800 +ifEnvSet $(IP_ADDR) ~129.129.99.* EPICS_CA_ADDR_LIST sls-x02da-cagw.psi.ch:5802 +ifEnvSet $(IP_ADDR) ~129.129.102.* EPICS_CA_ADDR_LIST sls-x03da-cagw.psi.ch:5804 +ifEnvSet $(IP_ADDR) ~129.129.101.* EPICS_CA_ADDR_LIST sls-x03ma-cagw.psi.ch:5806 +ifEnvSet $(IP_ADDR) ~129.129.105.* EPICS_CA_ADDR_LIST sls-x04db-cagw.psi.ch:5808 +ifEnvSet $(IP_ADDR) ~129.129.104.* EPICS_CA_ADDR_LIST sls-x04sa-cagw.psi.ch:5810 +ifEnvSet $(IP_ADDR) ~129.129.107.* EPICS_CA_ADDR_LIST sls-x05da-cagw.psi.ch:5812 +ifEnvSet $(IP_ADDR) ~129.129.106.* EPICS_CA_ADDR_LIST sls-x05la-cagw.psi.ch:5814 +ifEnvSet $(IP_ADDR) ~129.129.110.* EPICS_CA_ADDR_LIST sls-x06da-cagw.psi.ch:5816 +ifEnvSet $(IP_ADDR) ~129.129.126.* EPICS_CA_ADDR_LIST sls-x06mx-cagw.psi.ch:5818 +ifEnvSet $(IP_ADDR) ~129.129.109.* EPICS_CA_ADDR_LIST sls-x06sa-cagw.psi.ch:5820 +ifEnvSet $(IP_ADDR) ~129.129.113.* EPICS_CA_ADDR_LIST sls-x07da-cagw.psi.ch:5822 +ifEnvSet $(IP_ADDR) ~129.129.112.* EPICS_CA_ADDR_LIST sls-x07ma-cagw.psi.ch:5824 +ifEnvSet $(IP_ADDR) ~129.129.117.* EPICS_CA_ADDR_LIST sls-x09la-cagw.psi.ch:5826 +ifEnvSet $(IP_ADDR) ~129.129.116.* EPICS_CA_ADDR_LIST "sls-x09lb-cagw.psi.ch:5828 x09la-cagw.psi.ch:5062" +ifEnvSet $(IP_ADDR) ~129.129.119.* EPICS_CA_ADDR_LIST sls-x10da-cagw.psi.ch:5830 +ifEnvSet $(IP_ADDR) ~129.129.118.* EPICS_CA_ADDR_LIST sls-x10sa-cagw.psi.ch:5832 +ifEnvSet $(IP_ADDR) ~129.129.121.* EPICS_CA_ADDR_LIST sls-x11ma-cagw.psi.ch:5834 +ifEnvSet $(IP_ADDR) ~129.129.122.* EPICS_CA_ADDR_LIST sls-x12sa-cagw.psi.ch:5836 + # SwissFEL machine networks # with directed broadcasts ifEnvSet $(IP_ADDR) ~172.26.* EPICS_CA_ADDR_LIST "172.26.0.255 172.26.2.255 172.26.8.255 172.26.16.255 172.26.24.255 172.26.32.255 172.26.40.255 172.26.110.255 172.26.111.255 172.26.120.255 129.129.242.255 129.129.243.255"