Feature #19991

Specify multicast network in boot.txt...

Added by Ron Rechenmacher over 2 years ago. Updated over 2 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


or better way???
i.e. for request_based_dataflow_example


#1 Updated by John Freeman over 2 years ago

Right now the way the multicast network is specified in the boot.txt file can be done by setting the following two parameters (values taken from the protoDUNE cluster):

request_port: 3002
request_address: "" 

...where DAQInterface will then overwrite any values keyed by "request_port" and/or "request_address" in the FHiCL document used to initialize the boardreader with the values specified in the boot file. I know you've mentioned that you'd like a one line approach; are you thinking like
request_socket: "" 

or something else? Just let me know what the requirements are.

#2 Updated by Eric Flumerfelt over 2 years ago

What we're interested in setting here is the address of the network on the interface we want multicast requests to use...

For example, mu2edaq01 has two interfaces, a public and a private. The public interface is running a firewall and is not connected to the other nodes in the test stand, so it shouldn't be used for sending multicast messages. The default output address of will choose the default gateway, which is the public interface.

The "multicast_interface_ip" parameter of RequestSender (SharedMemoryEventManager) and RequestReceiver (CommandableFragmentGenerator) should be set to specify the interface used for sending/receiving multicast messages. The IP should simply be in the network associated with that address (the code checks that (interface IP & Netmask) == (address & netmask)), and can/should be set the same for every artdaq process (to ensure that the correct network is always used).

#3 Updated by John Freeman over 2 years ago

The main reason the boot file allows users to override certain parameters like the multicast host and address is so that it's possible to use the same FHiCL configuration in multiple partitions without collisions occurring. Most parameters should be set in the FHiCL configuration, since the fewer the number of overridden parameters, the more a given configuration describes about the run and the less potential there is for confusion. Unless I'm misunderstanding, if multicast_interface_ip is the address of the private network then this is something which would be common across all partitions, right?

#4 Updated by Eric Flumerfelt over 2 years ago

That is true, and a very good point.
The issue here is that the generic configurations in simple_test_config break down here, as we don't know what might be an appropriate address to use on any given host. I agree that it might be better to do this elsewhere, like in itself...

#5 Updated by John Freeman over 2 years ago

  • Status changed from New to Resolved

Resolved in light of the argument that in general we don't want it to be DAQInterface's job to override the FHiCL parameters in a configuration's FHiCL documents, since this undermines the extent to which a labeled configuration actually defines how the artdaq processes are configured.

Also available in: Atom PDF