]> git.proxmox.com Git - mirror_ovs.git/blob - tests/system-dpdk.at
system-dpdk: Skip all tests if there are no hugepages
[mirror_ovs.git] / tests / system-dpdk.at
1 AT_BANNER([OVS-DPDK unit tests])
2
3 dnl --------------------------------------------------------------------------
4 dnl Check if EAL init is successfull
5 AT_SETUP([OVS-DPDK datapath - EAL init])
6 AT_KEYWORDS([dpdk])
7 OVS_DPDK_PRE_CHECK()
8 OVS_DPDK_START()
9 AT_CHECK([grep "DPDK Enabled - initializing..." ovs-vswitchd.log], [], [stdout])
10 AT_CHECK([grep "EAL" ovs-vswitchd.log], [], [stdout])
11 AT_CHECK([grep "DPDK Enabled - initialized" ovs-vswitchd.log], [], [stdout])
12 OVS_VSWITCHD_STOP(["/Global register is changed during/d
13 /EAL: Invalid NUMA socket, default to 0/d
14 /EAL: No free hugepages reported in hugepages-1048576kB/d"])
15 AT_CLEANUP
16 dnl --------------------------------------------------------------------------
17
18
19
20 dnl --------------------------------------------------------------------------
21 dnl Add standard DPDK PHY port
22 AT_SETUP([OVS-DPDK datapath - add standard DPDK port])
23 AT_KEYWORDS([dpdk])
24
25 OVS_DPDK_PRE_PHY_SKIP()
26 OVS_DPDK_START()
27
28 dnl Add userspace bridge and attach it to OVS
29 AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
30 AT_CHECK([ovs-vsctl add-port br10 phy0 -- set Interface phy0 type=dpdk options:dpdk-devargs=$(cat PCI_ADDR)], [], [stdout], [stderr])
31 AT_CHECK([ovs-vsctl show], [], [stdout])
32 sleep 2
33
34 dnl Clean up
35 AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr])
36 OVS_VSWITCHD_STOP("/does not exist. The Open vSwitch kernel module is probably not loaded./d
37 /Failed to enable flow control/d
38 /Global register is changed during/d
39 /EAL: No free hugepages reported in hugepages-1048576kB/d
40 ")
41 AT_CLEANUP
42 dnl --------------------------------------------------------------------------
43
44
45
46 dnl --------------------------------------------------------------------------
47 dnl Add vhost-user-client port
48 AT_SETUP([OVS-DPDK datapath - add vhost-user-client port])
49 AT_KEYWORDS([dpdk])
50 OVS_DPDK_PRE_CHECK()
51 OVS_DPDK_START()
52
53 dnl Add userspace bridge and attach it to OVS
54 AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
55 AT_CHECK([ovs-vsctl add-port br10 dpdkvhostuserclient0 -- set Interface dpdkvhostuserclient0 type=dpdkvhostuserclient options:vhost-server-path=/tmp/dpdkvhostclient0], [], [stdout], [stderr])
56 AT_CHECK([ovs-vsctl show], [], [stdout])
57 sleep 2
58
59 dnl Parse log file
60 AT_CHECK([grep "VHOST_CONFIG: vhost-user client: socket created" ovs-vswitchd.log], [], [stdout])
61 AT_CHECK([grep "vHost User device 'dpdkvhostuserclient0' created in 'client' mode, using client socket" ovs-vswitchd.log], [], [stdout])
62 AT_CHECK([grep "VHOST_CONFIG: /tmp/dpdkvhostclient0: reconnecting..." ovs-vswitchd.log], [], [stdout])
63
64 dnl Clean up
65 AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], [stderr])
66 OVS_VSWITCHD_STOP(["/does not exist. The Open vSwitch kernel module is probably not loaded./d
67 /Failed to enable flow control/d
68 /failed to connect to \/tmp\/dpdkvhostclient0: No such file or directory/d
69 /Global register is changed during/d
70 /EAL: Invalid NUMA socket, default to 0/d
71 /EAL: No free hugepages reported in hugepages-1048576kB/d"])
72 AT_CLEANUP
73 dnl --------------------------------------------------------------------------