9 func (s *VethsSuite) TestLDPreloadIperfVpp() {
10 var clnVclConf, srvVclConf Stanza
12 serverContainer := s.getContainerByName("server-vpp")
13 srvVcl := serverContainer.GetHostWorkDir() + "/vcl_srv.conf"
15 clientContainer := s.getContainerByName("client-vpp")
16 clnVcl := clientContainer.GetHostWorkDir() + "/vcl_cln.conf"
18 ldpreload := os.Getenv("HST_LDPRELOAD")
19 s.assertNotEqual("", ldpreload)
21 ldpreload = "LD_PRELOAD=" + ldpreload
23 stopServerCh := make(chan struct{}, 1)
24 srvCh := make(chan error, 1)
25 clnCh := make(chan error)
27 s.log("starting VPPs")
29 _, err := serverContainer.execAction("Configure2Veths srv")
32 _, err = clientContainer.execAction("Configure2Veths cln")
35 clientAppSocketApi := fmt.Sprintf("app-socket-api %s/var/run/app_ns_sockets/2",
36 clientContainer.GetContainerWorkDir())
39 Append("rx-fifo-size 4000000").
40 Append("tx-fifo-size 4000000").
41 Append("app-scope-local").
42 Append("app-scope-global").
43 Append("use-mq-eventfd").
44 Append(clientAppSocketApi).Close().
48 serverAppSocketApi := fmt.Sprintf("app-socket-api %s/var/run/app_ns_sockets/1",
49 serverContainer.GetContainerWorkDir())
52 Append("rx-fifo-size 4000000").
53 Append("tx-fifo-size 4000000").
54 Append("app-scope-local").
55 Append("app-scope-global").
56 Append("use-mq-eventfd").
57 Append(serverAppSocketApi).Close().
61 s.log("attaching server to vpp")
64 time.Sleep(5 * time.Second)
66 srvEnv := append(os.Environ(), ldpreload, "VCL_CONFIG="+srvVcl)
67 go StartServerApp(srvCh, stopServerCh, srvEnv)
72 s.log("attaching client to vpp")
73 var clnRes = make(chan string, 1)
74 clnEnv := append(os.Environ(), ldpreload, "VCL_CONFIG="+clnVcl)
75 go StartClientApp(clnEnv, clnCh, clnRes)
78 // wait for client's result
83 stopServerCh <- struct{}{}