aboutsummaryrefslogtreecommitdiffstats
path: root/extras
diff options
context:
space:
mode:
authorMatus Fabian <matfabia@cisco.com>2024-12-30 20:40:51 +0100
committerMatus Fabian <matfabia@cisco.com>2024-12-30 20:42:37 +0100
commite210d413d53081f8603af16f203fb92e08127cdc (patch)
treeb60aac85839a9339011e815b7192b204127caa73 /extras
parentd11d31653d948c9f3ac80afd69f111657b007f0f (diff)
session: proxy session migration fix
Type: fix Change-Id: I487ee4e69d8885f46d7a4af2c66a710da66108c5 Signed-off-by: Matus Fabian <matfabia@cisco.com>
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"))
+}