From 2b7fd92dce96a1f7285cd6b8acb75f98db7e191d Mon Sep 17 00:00:00 2001 From: hzxuzhonghu Date: Fri, 9 Mar 2018 09:22:30 +0800 Subject: [PATCH] userspace: move udp echo server to proxier_test.go --- pkg/proxy/userspace/proxier_test.go | 25 ++++++++++++ pkg/proxy/userspace/udp_server.go | 54 -------------------------- pkg/proxy/winuserspace/proxier_test.go | 25 ++++++++++++ pkg/proxy/winuserspace/udp_server.go | 47 ---------------------- 4 files changed, 50 insertions(+), 101 deletions(-) delete mode 100644 pkg/proxy/userspace/udp_server.go delete mode 100644 pkg/proxy/winuserspace/udp_server.go diff --git a/pkg/proxy/userspace/proxier_test.go b/pkg/proxy/userspace/proxier_test.go index ef55b1ba07..6c9ce711a6 100644 --- a/pkg/proxy/userspace/proxier_test.go +++ b/pkg/proxy/userspace/proxier_test.go @@ -86,6 +86,31 @@ func waitForClosedPortUDP(p *Proxier, proxyPort int) error { return fmt.Errorf("port %d still open", proxyPort) } +// udpEchoServer is a simple echo server in UDP, intended for testing the proxy. +type udpEchoServer struct { + net.PacketConn +} + +func newUDPEchoServer() (*udpEchoServer, error) { + packetconn, err := net.ListenPacket("udp", ":0") + if err != nil { + return nil, err + } + return &udpEchoServer{packetconn}, nil +} + +func (r *udpEchoServer) Loop() { + var buffer [4096]byte + for { + n, cliAddr, err := r.ReadFrom(buffer[0:]) + if err != nil { + fmt.Printf("ReadFrom failed: %v\n", err) + continue + } + r.WriteTo(buffer[0:n], cliAddr) + } +} + var tcpServerPort int32 var udpServerPort int32 diff --git a/pkg/proxy/userspace/udp_server.go b/pkg/proxy/userspace/udp_server.go deleted file mode 100644 index 49e8d603f2..0000000000 --- a/pkg/proxy/userspace/udp_server.go +++ /dev/null @@ -1,54 +0,0 @@ -/* -Copyright 2014 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package userspace - -import ( - "fmt" - "net" -) - -// udpEchoServer is a simple echo server in UDP, intended for testing the proxy. -type udpEchoServer struct { - net.PacketConn -} - -func (r *udpEchoServer) Loop() { - var buffer [4096]byte - for { - n, cliAddr, err := r.ReadFrom(buffer[0:]) - if err != nil { - fmt.Printf("ReadFrom failed: %v\n", err) - continue - } - r.WriteTo(buffer[0:n], cliAddr) - } -} - -func newUDPEchoServer() (*udpEchoServer, error) { - packetconn, err := net.ListenPacket("udp", ":0") - if err != nil { - return nil, err - } - return &udpEchoServer{packetconn}, nil -} - -/* -func main() { - r,_ := newUDPEchoServer() - r.Loop() -} -*/ diff --git a/pkg/proxy/winuserspace/proxier_test.go b/pkg/proxy/winuserspace/proxier_test.go index f69e64c63f..587d4e3bfe 100644 --- a/pkg/proxy/winuserspace/proxier_test.go +++ b/pkg/proxy/winuserspace/proxier_test.go @@ -84,6 +84,31 @@ func waitForClosedPortUDP(p *Proxier, proxyPort int) error { return fmt.Errorf("port %d still open", proxyPort) } +// udpEchoServer is a simple echo server in UDP, intended for testing the proxy. +type udpEchoServer struct { + net.PacketConn +} + +func newUDPEchoServer() (*udpEchoServer, error) { + packetconn, err := net.ListenPacket("udp", ":0") + if err != nil { + return nil, err + } + return &udpEchoServer{packetconn}, nil +} + +func (r *udpEchoServer) Loop() { + var buffer [4096]byte + for { + n, cliAddr, err := r.ReadFrom(buffer[0:]) + if err != nil { + fmt.Printf("ReadFrom failed: %v\n", err) + continue + } + r.WriteTo(buffer[0:n], cliAddr) + } +} + var tcpServerPort int32 var udpServerPort int32 diff --git a/pkg/proxy/winuserspace/udp_server.go b/pkg/proxy/winuserspace/udp_server.go deleted file mode 100644 index c95c1e0597..0000000000 --- a/pkg/proxy/winuserspace/udp_server.go +++ /dev/null @@ -1,47 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package winuserspace - -import ( - "fmt" - "net" -) - -// udpEchoServer is a simple echo server in UDP, intended for testing the proxy. -type udpEchoServer struct { - net.PacketConn -} - -func (r *udpEchoServer) Loop() { - var buffer [4096]byte - for { - n, cliAddr, err := r.ReadFrom(buffer[0:]) - if err != nil { - fmt.Printf("ReadFrom failed: %v\n", err) - continue - } - r.WriteTo(buffer[0:n], cliAddr) - } -} - -func newUDPEchoServer() (*udpEchoServer, error) { - packetconn, err := net.ListenPacket("udp", ":0") - if err != nil { - return nil, err - } - return &udpEchoServer{packetconn}, nil -}