![]() |
![]() ![]()
Experimental Physics and
| ||||||||||||||
|
If the epics clients use the broadcast address, wont that allow multiple IOCs to listen on the same host on windows?It's the other case (unicast to a host running multiple IOCs) where we have a workaround for a Linux host and it would be interesting to have something similar for Windows hosts.Yes, you can use broadcasts. The options in this example include set EPICS_CA_ADDR_LIST=ca_gateway.bessy.de set EPICS_CA_AUTO_ADDR_LIST=NO -> You get PVs from the gateway, assuming the gateway hears you because it's the only CA server on that host. set EPICS_CA_ADDR_LIST=my_computer.bessy.de set EPICS_CA_AUTO_ADDR_LIST=NO -> You get PVs from the IOC started last, since unicasts are only received by the listener registered last (or the one first for windows hosts??). set EPICS_CA_ADDR_LIST=broadcast_address_of_the_subnet set EPICS_CA_AUTO_ADDR_LIST=NO -> All CA servers on the subnet get it, which might be both my_computer.bessy.de and ca_gateway.bessy.de. So you can't avoid the gateway. A gateway is often configured to be read-only, so depending on luck you might get a read-only PV via the gateway or a writable PV from the actual IOC. Ask me how many confused emails that has caused. One solution to this is to run the gateway on a non-standard port like 5099, so then you can use set EPICS_CA_ADDR_LIST=broadcast_address_of_the_subnet set EPICS_CA_AUTO_ADDR_LIST=NO -> All servers on the subnet get it, including multiple IOCs on my_computer.bessy.de, but not the gateway set EPICS_CA_ADDR_LIST=ca_gateway.bessy.de:5099 set EPICS_CA_AUTO_ADDR_LIST=NO -> Only the gateway will reply .. or you get into the IP packet rewrite tricks mentioned earlier. Nice summary. The other solution that we haven't discussed here is that support for multicast name-searches was added to the CA libraries a couple of years back, although it might not have actually worked properly until Fermilab actually started using it. It's possible it didn't work at all before EPICS 7.0.4, I've never really tried. I don't think we have any documentation on how to configure systems to use that either — it would be really nice if someone with actual experience could contribute some (you have to pick your own multicast addresses to use, and I don't know whether network switches need to know where and how far to pass multicast packets through the site). The only documentation I know of is a couple of items in the Release Notes, the main one being here. - Andrew -- Complexity is free, it's Simplicity that takes work.
| ||||||||||||||
ANJ, 16 Sep 2022 |
![]() · Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |