Lines Matching refs:cfg

45 def _probe_devmem(cfg, rx_page_size):  argument
53 def require_devmem(cfg, rx_page_size=RX_PAGE_SIZE_DEFAULT): argument
60 if not hasattr(cfg, "devmem_supported"):
64 cfg.devmem_supported = {size: _probe_devmem(cfg, size)
67 if not cfg.devmem_supported[RX_PAGE_SIZE_DEFAULT]:
77 if not cfg.devmem_supported[rx_page_size]:
82 def configure_nic(cfg): argument
84 if not hasattr(cfg, "devmem_supported"):
89 if not hasattr(cfg, 'netns'):
92 cfg.require_ipver('6')
95 channels = ethnl.channels_get({'header': {'dev-index': cfg.ifindex}})
102 rings = ethnl.rings_get({'header': {'dev-index': cfg.ifindex}})
106 ethnl.rings_set({'header': {'dev-index': cfg.ifindex},
110 defer(ethnl.rings_set, {'header': {'dev-index': cfg.ifindex},
115 cfg.src_queue = channels - 1
119 if not hasattr(cfg, 'nk_queue'):
120 with NetNSEnter(str(cfg.netns)):
123 "ifindex": cfg.nk_guest_ifindex,
126 "ifindex": cfg.ifindex,
127 "queue": {"id": cfg.src_queue, "type": "rx"},
131 cfg.nk_queue = lease_result['id']
134 def set_flow_rule(cfg, port): argument
143 def ncdevmem_rx(cfg, port, verify=True, fail_on_linear=False, flow_steer=False, argument
146 if hasattr(cfg, 'netns'):
147 flow_rule_id = set_flow_rule(cfg, port)
150 ifname = cfg.nk_guest_ifname
151 addr = cfg.nk_guest_ipv6
154 ifname = cfg.ifname
155 addr = cfg.addr
167 parts = [cfg.bin_local, "-l", f"-f {ifname}", f"-s {addr}",
172 def ncdevmem_tx(cfg, port, chunk_size=0): argument
174 if hasattr(cfg, 'netns'):
175 ifname = cfg.nk_guest_ifname
176 addr = cfg.remote_addr_v['6']
179 ifname = cfg.ifname
180 addr = cfg.remote_addr
186 parts = [cfg.bin_local, f"-f {ifname}", f"-s {addr}",
191 def socat_send(cfg, port, buf_size=0): argument
199 if hasattr(cfg, 'netns'):
202 addr = cfg.baddr
214 def socat_listen(cfg, port): argument
219 def setup_test(cfg, bin_local): argument
221 cfg.bin_local = bin_local
222 cfg.bin_remote = cfg.remote.deploy(cfg.bin_local)
225 def run_rx(cfg): argument
227 require_devmem(cfg)
228 configure_nic(cfg)
230 socat = socat_send(cfg, port)
233 netns = getattr(cfg, "netns", None)
235 listen_cmd = ncdevmem_rx(cfg, port, flow_steer=not hasattr(cfg, 'netns'))
238 cmd(data_pipe, host=cfg.remote, shell=True)
242 def run_tx(cfg): argument
244 require_devmem(cfg)
245 configure_nic(cfg)
246 netns = getattr(cfg, "netns", None)
248 tx_cmd = ncdevmem_tx(cfg, port)
249 listen_cmd = socat_listen(cfg, port)
251 with bkg(listen_cmd, host=cfg.remote, exit_wait=True) as socat:
252 wait_port_listen(port, host=cfg.remote)
257 def run_tx_chunks(cfg): argument
259 require_devmem(cfg)
260 configure_nic(cfg)
261 netns = getattr(cfg, "netns", None)
263 tx_cmd = ncdevmem_tx(cfg, port, chunk_size=3)
264 listen_cmd = socat_listen(cfg, port)
266 with bkg(listen_cmd, host=cfg.remote, exit_wait=True) as socat:
267 wait_port_listen(port, host=cfg.remote)
272 def run_rx_large_niov(cfg): argument
279 require_devmem(cfg, rx_page_size=RX_PAGE_SIZE_16K)
281 configure_nic(cfg)
282 netns = getattr(cfg, "netns", None)
286 socat = socat_send(cfg, port)
287 listen_cmd = ncdevmem_rx(cfg, port,
294 cmd(data_pipe, host=cfg.remote, shell=True)
299 def run_rx_hds(cfg): argument
301 require_devmem(cfg)
302 configure_nic(cfg)
303 netns = getattr(cfg, "netns", None)
308 listen_cmd = ncdevmem_rx(cfg, port, verify=False,
310 socat = socat_send(cfg, port, buf_size=size)
315 f"{socat}", host=cfg.remote, shell=True)