DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
sender_confgen.py
Go to the documentation of this file.
1# Set moo schema search path
2from dunedaq.env import get_moo_model_path
3import moo.io
4
5moo.io.default_load_path = get_moo_model_path()
6
7# Load configuration types
8import moo.otypes
9
10moo.otypes.load_types("dpdklibs/nicsender.jsonnet")
11
12# Import new types
14
15from daqconf.core.app import App, ModuleGraph
16from daqconf.core.daqmodule import DAQModule
17from daqconf.core.conf_utils import Endpoint, Direction, Queue
18
20 HOST='localhost',
21 NUMBER_OF_CORES=2,
22 NUMBER_OF_IPS_PER_CORE=2,
23 BASE_SOURCE_IP='10.73.139.',
24 DESTINATION_IP='10.73.139.17',
25 DESTINATION_MAC='EC:0D:9A:8E:BA:10',
26 FRONTEND_TYPE='tde',
27 RATE=None,
28 TIME_TICK_DIFFERENCE=1000,
29 EAL_ARGS=''
30):
31
32 modules = []
33 queues = []
34
35 last_ip = 100
36
37 core_maps = []
38 for core in range(NUMBER_OF_CORES):
39 ips = []
40 for ip in range(NUMBER_OF_IPS_PER_CORE):
41 src_ip = f'{BASE_SOURCE_IP}{last_ip + core * NUMBER_OF_IPS_PER_CORE + ip}'
42 ips.append(src_ip)
43 core_maps.append(nsc.Core(lcore_id=core+1, src_ips=ips))
44
45 modules += [DAQModule(name="nic_sender", plugin="NICSender",
46 conf=nsc.Conf(
47 eal_arg_list=EAL_ARGS,
48 frontend_type='tde',
49 number_of_cores=NUMBER_OF_CORES,
50 number_of_ips_per_core=NUMBER_OF_IPS_PER_CORE,
51 burst_size=1,
52 rate=1,
53 core_list=core_maps,
54 time_tick_difference=TIME_TICK_DIFFERENCE,
55 )
56
57 )]
58
59 mgraph = ModuleGraph(modules, queues=queues)
60
61 dpdk_app = App(modulegraph=mgraph, host=HOST, name="dpdk_sender")
62 return dpdk_app
generate_dpdk_sender_app(HOST='localhost', NUMBER_OF_CORES=2, NUMBER_OF_IPS_PER_CORE=2, BASE_SOURCE_IP='10.73.139.', DESTINATION_IP='10.73.139.17', DESTINATION_MAC='EC:0D:9A:8E:BA:10', FRONTEND_TYPE='tde', RATE=None, TIME_TICK_DIFFERENCE=1000, EAL_ARGS='')