diff options
Diffstat (limited to 'extras')
-rw-r--r-- | extras/hs-test/infra/suite_vpp_udp_proxy.go | 9 | ||||
-rw-r--r-- | extras/hs-test/proxy_test.go | 23 |
2 files changed, 30 insertions, 2 deletions
diff --git a/extras/hs-test/infra/suite_vpp_udp_proxy.go b/extras/hs-test/infra/suite_vpp_udp_proxy.go index 6a65a0be5ff..2290aeec6a2 100644 --- a/extras/hs-test/infra/suite_vpp_udp_proxy.go +++ b/extras/hs-test/infra/suite_vpp_udp_proxy.go @@ -63,6 +63,11 @@ func (s *VppUdpProxySuite) SetupTest() { s.Interfaces.Server.Ip4AddressString(), s.Interfaces.Server.HwAddress) vpp.Vppctl(arp) + arp = fmt.Sprintf("set ip neighbor %s %s %s", + s.Interfaces.Client.Peer.Name(), + s.Interfaces.Client.Ip4AddressString(), + s.Interfaces.Client.HwAddress) + vpp.Vppctl(arp) if *DryRun { s.LogStartedContainers() @@ -127,7 +132,7 @@ func (s *VppUdpProxySuite) ClientSendReceive(toSend []byte, rcvBuffer []byte) (i } defer proxiedConn.Close() - err = proxiedConn.SetReadDeadline(time.Now().Add(time.Second * 5)) + err = proxiedConn.SetDeadline(time.Now().Add(time.Second * 5)) if err != nil { return 0, err } @@ -173,7 +178,7 @@ var _ = Describe("VppUdpProxySuite", Ordered, ContinueOnFailure, func() { } }) -var _ = Describe("VppUdpProxySuiteSolo", Ordered, ContinueOnFailure, func() { +var _ = Describe("VppUdpProxySuiteSolo", Ordered, ContinueOnFailure, Serial, func() { var s VppUdpProxySuite BeforeAll(func() { s.SetupSuite() diff --git a/extras/hs-test/proxy_test.go b/extras/hs-test/proxy_test.go index 3afdc3103a3..d371de46cbb 100644 --- a/extras/hs-test/proxy_test.go +++ b/extras/hs-test/proxy_test.go @@ -25,6 +25,7 @@ func init() { RegisterVppProxySoloTests(VppProxyHttpGetTcpMTTest, VppProxyHttpPutTcpMTTest, VppProxyTcpIperfMTTest, VppProxyUdpIperfMTTest, VppConnectProxyStressTest, VppConnectProxyStressMTTest) RegisterVppUdpProxyTests(VppProxyUdpTest) + RegisterVppUdpProxySoloTests(VppProxyUdpMigrationMTTest) RegisterEnvoyProxyTests(EnvoyProxyHttpGetTcpTest, EnvoyProxyHttpPutTcpTest) RegisterNginxProxyTests(NginxMirroringTest) RegisterNginxProxySoloTests(MirrorMultiThreadTest) @@ -350,3 +351,25 @@ func VppProxyUdpTest(s *VppUdpProxySuite) { s.AssertNil(err, fmt.Sprint(err)) s.AssertEqual([]byte("hello"), b[:n]) } + +func VppProxyUdpMigrationMTTest(s *VppUdpProxySuite) { + remoteServerConn := s.StartEchoServer() + defer remoteServerConn.Close() + + vppProxy := s.Containers.VppProxy.VppInstance + cmd := fmt.Sprintf("test proxy server fifo-size 512k server-uri udp://%s/%d", s.VppProxyAddr(), s.ProxyPort()) + cmd += fmt.Sprintf(" client-uri udp://%s/%d", s.ServerAddr(), s.ServerPort()) + s.Log(vppProxy.Vppctl(cmd)) + + b := make([]byte, 1500) + + n, err := s.ClientSendReceive([]byte("hello"), b) + s.AssertNil(err, fmt.Sprint(err)) + s.AssertEqual([]byte("hello"), b[:n]) + + n, err = s.ClientSendReceive([]byte("world"), b) + s.AssertNil(err, fmt.Sprint(err)) + s.AssertEqual([]byte("world"), b[:n]) + + s.Log(s.Containers.VppProxy.VppInstance.Vppctl("show session verbose 2")) +} |