@@ -2,7 +2,6 @@ package grpc
22
33import (
44 "context"
5- "fmt"
65 "testing"
76 "time"
87
@@ -22,7 +21,7 @@ func TestGRPCCommunication(t *testing.T) {
2221 serverOut := make (chan * pbflow.Records )
2322 _ , err = StartCollector (port , serverOut )
2423 require .NoError (t , err )
25- cc , err := ConnectClient (fmt . Sprintf ( "127.0.0.1:%d " , port ) )
24+ cc , err := ConnectClient ("127.0.0.1" , port )
2625 require .NoError (t , err )
2726 client := cc .Client ()
2827
@@ -110,7 +109,7 @@ func TestConstructorOptions(t *testing.T) {
110109 return handler (ctx , req )
111110 })))
112111 require .NoError (t , err )
113- cc , err := ConnectClient (fmt . Sprintf ( "127.0.0.1:%d " , port ) )
112+ cc , err := ConnectClient ("127.0.0.1" , port )
114113 require .NoError (t , err )
115114 client := cc .Client ()
116115
@@ -127,14 +126,14 @@ func TestConstructorOptions(t *testing.T) {
127126 }
128127}
129128
130- func BenchmarkGRPCCommunication (b * testing.B ) {
129+ func BenchmarkIPv4GRPCCommunication (b * testing.B ) {
131130 port , err := test .FreeTCPPort ()
132131 require .NoError (b , err )
133132 serverOut := make (chan * pbflow.Records , 1000 )
134133 collector , err := StartCollector (port , serverOut )
135134 require .NoError (b , err )
136135 defer collector .Close ()
137- cc , err := ConnectClient (fmt . Sprintf ( "127.0.0.1:%d " , port ) )
136+ cc , err := ConnectClient ("127.0.0.1" , port )
138137 require .NoError (b , err )
139138 defer cc .Close ()
140139 client := cc .Client ()
@@ -175,3 +174,52 @@ func BenchmarkGRPCCommunication(b *testing.B) {
175174 <- serverOut
176175 }
177176}
177+
178+ func BenchmarkIPv6GRPCCommunication (b * testing.B ) {
179+ port , err := test .FreeTCPPort ()
180+ require .NoError (b , err )
181+ serverOut := make (chan * pbflow.Records , 1000 )
182+ collector , err := StartCollector (port , serverOut )
183+ require .NoError (b , err )
184+ defer collector .Close ()
185+ cc , err := ConnectClient ("::1" , port )
186+ require .NoError (b , err )
187+ defer cc .Close ()
188+ client := cc .Client ()
189+
190+ f := & pbflow.Record {
191+ EthProtocol : 2048 ,
192+ Bytes : 456 ,
193+ Flags : 1 ,
194+ Direction : pbflow .Direction_EGRESS ,
195+ TimeFlowStart : timestamppb .Now (),
196+ TimeFlowEnd : timestamppb .Now (),
197+ Network : & pbflow.Network {
198+ SrcAddr : & pbflow.IP {
199+ IpFamily : & pbflow.IP_Ipv6 {Ipv6 : []byte {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 }},
200+ },
201+ DstAddr : & pbflow.IP {
202+ IpFamily : & pbflow.IP_Ipv6 {Ipv6 : []byte {11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 24 , 24 , 25 , 26 }},
203+ },
204+ },
205+ DataLink : & pbflow.DataLink {
206+ DstMac : 0x112233445566 ,
207+ SrcMac : 0x665544332211 ,
208+ },
209+ Transport : & pbflow.Transport {
210+ Protocol : 1 ,
211+ SrcPort : 23000 ,
212+ DstPort : 443 ,
213+ },
214+ }
215+ records := & pbflow.Records {}
216+ for i := 0 ; i < 100 ; i ++ {
217+ records .Entries = append (records .Entries , f )
218+ }
219+ for i := 0 ; i < b .N ; i ++ {
220+ if _ , err := client .Send (context .Background (), records ); err != nil {
221+ require .Fail (b , "error" , err )
222+ }
223+ <- serverOut
224+ }
225+ }
0 commit comments