aboutsummaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
Diffstat (limited to 'extras')
-rw-r--r--extras/hs-test/infra/suite_vpp_udp_proxy.go9
-rw-r--r--extras/hs-test/proxy_test.go23
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"))
+}