xref: /linux/tools/testing/selftests/drivers/net/hw/nk_devmem.py (revision 28c1cc999fbb882745130e450e5109bc4b8869a4)
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