summaryrefslogtreecommitdiff
path: root/tests/system-dpdk.at
blob: 3d21b013697579a5f19da62b8f32b4d242c83410 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
AT_BANNER([OVS-DPDK unit tests])

dnl --------------------------------------------------------------------------
dnl Check if EAL init is successfull
AT_SETUP([OVS-DPDK datapath - EAL init])
AT_KEYWORDS([dpdk])
dnl OVS_DPDK_PRE_CHECK()
OVS_DPDK_START()
AT_CHECK([grep "DPDK Enabled - initializing..." ovs-vswitchd.log], [], [stdout])
AT_CHECK([grep "EAL" ovs-vswitchd.log], [], [stdout])
AT_CHECK([grep "DPDK Enabled - initialized" ovs-vswitchd.log], [], [stdout])
OVS_VSWITCHD_STOP("/Global register is changed during/d
/EAL: No free hugepages reported in hugepages-1048576kB/d
")
AT_CLEANUP
dnl --------------------------------------------------------------------------



dnl --------------------------------------------------------------------------
dnl Add standard DPDK PHY port
AT_SETUP([OVS-DPDK datapath - add standard DPDK port])
AT_KEYWORDS([dpdk])

OVS_DPDK_PRE_CHECK()
OVS_DPDK_START()

dnl Add userspace bridge and attach it to OVS
AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
AT_CHECK([ovs-vsctl add-port br10 phy0 -- set Interface phy0 type=dpdk options:dpdk-devargs=$(cat PCI_ADDR)], [], [stdout], [stderr])
AT_CHECK([ovs-vsctl show], [], [stdout])
sleep 2

dnl Clean up
AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr])
OVS_VSWITCHD_STOP("/does not exist. The Open vSwitch kernel module is probably not loaded./d
/Failed to enable flow control/d
/Global register is changed during/d
/EAL: No free hugepages reported in hugepages-1048576kB/d
")
AT_CLEANUP
dnl --------------------------------------------------------------------------



dnl --------------------------------------------------------------------------
dnl Add vhost-user-client port
AT_SETUP([OVS-DPDK datapath - add vhost-user-client port])
AT_KEYWORDS([dpdk])

OVS_DPDK_START()

dnl Add userspace bridge and attach it to OVS
AT_CHECK([ovs-vsctl add-br br10 -- set bridge br10 datapath_type=netdev])
AT_CHECK([ovs-vsctl add-port br10 dpdkvhostuserclient0 -- set Interface dpdkvhostuserclient0 type=dpdkvhostuserclient options:vhost-server-path=/tmp/dpdkvhostclient0], [], [stdout], [stderr])
AT_CHECK([ovs-vsctl show], [], [stdout])
sleep 2

dnl Parse log file
AT_CHECK([grep "VHOST_CONFIG: vhost-user client: socket created" ovs-vswitchd.log], [], [stdout])
AT_CHECK([grep "vHost User device 'dpdkvhostuserclient0' created in 'client' mode, using client socket" ovs-vswitchd.log], [], [stdout])
AT_CHECK([grep "VHOST_CONFIG: /tmp/dpdkvhostclient0: reconnecting..." ovs-vswitchd.log], [], [stdout])

dnl Clean up
AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], [stderr])
OVS_VSWITCHD_STOP("/does not exist. The Open vSwitch kernel module is probably not loaded./d
/Failed to enable flow control/d
/failed to connect to \/tmp\/dpdkvhostclient0: No such file or directory/d
/Global register is changed during/d
/EAL: No free hugepages reported in hugepages-1048576kB/d
")
AT_CLEANUP
dnl --------------------------------------------------------------------------