The Electron-Photon Gateways provide support for EPICS data transfer between Electron beam (Ebeam) and Photon controls.
There are two gateways on our site: gwEbeamRequest for requesting Photon PVs by Ebeam CA clients, gwEbeamServe for serving Ebeam PVs to Photon CA clients; each Ebeam gateway is coupled with its Photon gateway partner which Amedeo in Photon group is responsible for. For instance, gwEbeamRequest is coupled with Photon Gateway Serve, and gwEbeamServe is coupled with Photon Gateway Request.
Our two gateways are hosted on a dedicated server (lcls-daemon3) sitting on a dedicated VLAN (lclspcdsn). There is a filtering router on our side and a firewall on Photon side, both of which are managed by SCCS network team. Terri is coordinating network efforts with SCCS.
There are two caRepeaters running on lcls-daemon3 as daemons, one for listening beacons from Photon gateway CAS part and one for listening beacons from Ebeam CAS (i.e., IOCs). The bootup script is in /etc/rc3.d/S90st.caRepeaterGW, both caRepeaters get started up at boot time before two gateway processes. They must be running, and listening to right ports. They are very robust - I have never see them crashed. Just in case ...
- ssh lcls-daemon3 as laci
- to see if there are running
ps -ef | grep caRepeater
- to start | stop if needed
- more to come ... will add this to UWD for easy restart.
Expert Management and Debug
To configure gateway PV access controls to define PVs allow/deny (*.dat) and access security rules (*.acf)
- ssh lcls-builder as softegr
- cd $TOOLS/gateway/config
- update gwEbeamRequest.acf, gwEbeamRequest.dat for gwEbeamRequest
- update gwEbeamServe.acf, gwEbeamServe.dat for gwEbeamServe
- restart gateways to make the change effective.
- check "ADS/X-RAY/Misc" and the "FEE" area in lclshome
- check gateway monitor displays to see what is going on with our gateways
- check logs as always.
More about debug: how can you tell if a failure is due to Ebeam gateway or Photon gateway:
- run $TOOLS/gateway/script/testElectronGWrequest on lcls-builder from command. For example, it should return a timestamp for a photon PV, if both gateways (gwEbeamRequest and Photon Gateway Serve) work. If not,
- run $TOOLS/gateway/display/gwEbeamRequest.bash to see if there is any problem with gwEbeamRequest. If not,
- run $TOOLS/gateway/script/testPhotonGWserver on lcls-daemon3 as laci to see if there is any problem with Photon Gateway Serve. Basically, this test bypasses our gateway. If you don't get the time stamp from the test, then there is a problem either in Photon Gateway serve or Photon's IOCs.
- Call Amedeo immediately if there is a problem on Photon side.
- for system expert (e.g. KenB with root privilege) to dig more:
netstat -anp | grep caRepeater to see if there are two caRepeaters listening UDP port 5071 and 5069.
/usr/sbin/tcpdump -i eth0 host 172.21.40.21
/usr/sbin/tcpdump -i eth0 -X host 172.21.40.21 or icmp
...more to come ...
Expert Management and Debug
Reference: port definition