1#!/usr/bin/env python3 2# SPDX-License-Identifier: GPL-2.0 3"""Test devmem TCP with netkit.""" 4 5import os 6from devmem_lib import setup_test, run_rx, run_tx, run_tx_chunks, run_rx_hds 7from lib.py import ksft_run, ksft_exit, ksft_disruptive 8from lib.py import NetDrvContEnv 9 10 11@ksft_disruptive 12def check_nk_rx(cfg) -> None: 13 """Run the devmem RX test through netkit.""" 14 run_rx(cfg) 15 16 17@ksft_disruptive 18def check_nk_tx(cfg) -> None: 19 """Run the devmem TX test through netkit.""" 20 run_tx(cfg) 21 22 23@ksft_disruptive 24def check_nk_tx_chunks(cfg) -> None: 25 """Run the devmem TX chunking test through netkit.""" 26 run_tx_chunks(cfg) 27 28 29def check_nk_rx_hds(cfg) -> None: 30 """Run the HDS test through netkit.""" 31 run_rx_hds(cfg) 32 33 34def main() -> None: 35 """Run the netkit devmem test cases.""" 36 with NetDrvContEnv(__file__, rxqueues=2, primary_rx_redirect=True) as cfg: 37 setup_test(cfg, 38 os.path.join(os.path.dirname(os.path.abspath(__file__)), 39 "ncdevmem")) 40 ksft_run([check_nk_rx, check_nk_tx, check_nk_tx_chunks, 41 check_nk_rx_hds], args=(cfg,)) 42 ksft_exit() 43 44 45if __name__ == "__main__": 46 main() 47