From b392a91e1c73af8763be77bf8c3928f6bffa17b7 Mon Sep 17 00:00:00 2001 From: Dirk Zimoch Date: Fri, 18 Mar 2016 11:03:14 +0100 Subject: [PATCH] linux statup script detects network to set EPICS_CA_ADDR_LIST --- App/startup/startup.script_linux | 33 ++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/App/startup/startup.script_linux b/App/startup/startup.script_linux index 9a230ae..f2e3962 100644 --- a/App/startup/startup.script_linux +++ b/App/startup/startup.script_linux @@ -1,13 +1,38 @@ # $Source: /cvs/A/CS/startup/startup.script_linux,v $ -# set EPICS according to BASE (set by iocsh wrapper) -epicsEnvSet EPICS, R$(BASE) +# set EPICS according to BASE or default to 3.14.12 +epicsEnvSet EPICS, R$(BASE=3.14.12) + +# set up CA search lists for different networks +# Office (only officicial EPICS subnets, not SLS beamlines!) +epicsEnvSet CA_129.129.130,"129.129.131.255 129.129.137.255" +epicsEnvSet CA_129.129.131,"129.129.130.255 129.129.137.255" +epicsEnvSet CA_129.129.137,"129.129.130.255 129.129.131.255" +# WHLA (FIN machine networks) +epicsEnvSet CA_172.21,"172.21.10.255 172.21.11.255 172.21.12.255 172.21.13.255" +epicsEnvSet CA_AUTO_172.21,"NO" +epicsEnvSet CA_BEACON_172.21,"$(CA_172.21)" +epicsEnvSet CA_AUTO_BEACON_172.21,NO +# OSFA (SF machine networks) +epicsEnvSet CA_172.26,"sf-cans-01 sf-cans-02" +epicsEnvSet CA_AUTO_172.26,"NO" +epicsEnvSet CA_BEACON_172.26,"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.120.255" +epicsEnvSet CA_AUTO_BEACON_172.26,NO +# All others can work with the defaults: automatic +# Apply settings dependent on network +system ("/sbin/ifconfig | awk -F '[.: ]+' -v P='epicsEnvSet NET' -v K=, '/192.168/ {next} /Bcast/ {print P 1 K $9; print P 2 K $10; print P 3 K $11; exit}'>/tmp/$(IOC).net") +< /tmp/$(IOC).net +epicsEnvSet EPICS_CA_ADDR_LIST,"$(CA_$(NET1=).$(NET2=).$(NET3=)=$(CA_$(NET1=).$(NET2=)=))" +epicsEnvSet EPICS_CA_AUTO_ADDR_LIST,"$(CA_AUTO_$(NET1=).$(NET2=).$(NET3=)=$(CA_AUTO_$(NET1=).$(NET2=)=YES))" +epicsEnvSet EPICS_CAS_BEACON_ADDR_LIST,"$(CA_BEACON_$(NET1=).$(NET2=).$(NET3=)=$(CA_BEACON_$(NET1=).$(NET2=)=))" +epicsEnvSet EPICS_CAS_BEACON_AUTO_ADDR_LIST,"$(CA_AUTO_BEACON_$(NET1=).$(NET2=).$(NET3=)=$(CA_AUTO_BEACON_$(NET1=).$(NET2=)=YES))" + -#epicsEnvSet EPICS_DRIVER_PATH, bin:snl:$(INSTBASE)/iocBoot/$(EPICS)/$(EPICS_HOST_ARCH) epicsEnvSet TEMPLATES, $(INSTBASE)/iocBoot/templates epicsEnvSet CFG, $(PWD)/cfg epicsEnvSet STREAM_PROTOCOL_PATH, .:$(PWD)/cfg + require sysmon -! iocBootNotify.sh $(IOC) - \${SHELLBOX#*:} - $(_) $(PWD)/startup.script - $(EPICS) - +! iocBootNotify.sh $(IOC) - \"\${SHELLBOX#*:}\" - $(_) $(PWD)/startup.script - $(EPICS) -