@@ -38,7 +38,6 @@ type QUICConnection struct {
3838 logger * zerolog.Logger
3939 httpProxy OriginProxy
4040 sessionManager datagramsession.Manager
41- localIP net.IP
4241}
4342
4443// NewQUICConnection returns a new instance of QUICConnection.
@@ -75,17 +74,11 @@ func NewQUICConnection(
7574
7675 sessionManager := datagramsession .NewManager (datagramMuxer , observer .log )
7776
78- localIP , err := getLocalIP ()
79- if err != nil {
80- return nil , err
81- }
82-
8377 return & QUICConnection {
8478 session : session ,
8579 httpProxy : httpProxy ,
8680 logger : observer .log ,
8781 sessionManager : sessionManager ,
88- localIP : localIP ,
8982 }, nil
9083}
9184
@@ -197,7 +190,10 @@ func (q *QUICConnection) RegisterUdpSession(ctx context.Context, sessionID uuid.
197190 return nil
198191}
199192
200- // TODO: TUN-5422 Implement UnregisterUdpSession RPC
193+ func (q * QUICConnection ) UnregisterUdpSession (ctx context.Context , sessionID uuid.UUID ) error {
194+ q .sessionManager .UnregisterSession (ctx , sessionID )
195+ return nil
196+ }
201197
202198// streamReadWriteAcker is a light wrapper over QUIC streams with a callback to send response back to
203199// the client.
@@ -292,26 +288,3 @@ func isTransferEncodingChunked(req *http.Request) bool {
292288 // separated value as well.
293289 return strings .Contains (strings .ToLower (transferEncodingVal ), "chunked" )
294290}
295-
296- // TODO: TUN-5303: Find the local IP once in ingress package
297- // TODO: TUN-5421 allow user to specify which IP to bind to
298- func getLocalIP () (net.IP , error ) {
299- addrs , err := net .InterfaceAddrs ()
300- if err != nil {
301- return nil , err
302- }
303- for _ , addr := range addrs {
304- // Find the IP that is not loop back
305- var ip net.IP
306- switch v := addr .(type ) {
307- case * net.IPNet :
308- ip = v .IP
309- case * net.IPAddr :
310- ip = v .IP
311- }
312- if ! ip .IsLoopback () {
313- return ip , nil
314- }
315- }
316- return nil , fmt .Errorf ("cannot determine IP to bind to" )
317- }
0 commit comments