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