44	"fmt" 
55	gotemplate "text/template" 
66
7+ 	"github.com/go-logr/logr" 
78	"github.com/nginx/nginx-gateway-fabric/v2/internal/controller/nginx/config/shared" 
89	"github.com/nginx/nginx-gateway-fabric/v2/internal/controller/nginx/config/stream" 
910	"github.com/nginx/nginx-gateway-fabric/v2/internal/controller/state/dataplane" 
@@ -13,7 +14,7 @@ import (
1314var  streamServersTemplate  =  gotemplate .Must (gotemplate .New ("streamServers" ).Parse (streamServersTemplateText ))
1415
1516func  (g  GeneratorImpl ) executeStreamServers (conf  dataplane.Configuration ) []executeResult  {
16- 	streamServers  :=  createStreamServers (conf )
17+ 	streamServers  :=  createStreamServers (g . logger ,  conf )
1718
1819	streamServerConfig  :=  stream.ServerConfig {
1920		Servers :     streamServers ,
@@ -32,7 +33,7 @@ func (g GeneratorImpl) executeStreamServers(conf dataplane.Configuration) []exec
3233	}
3334}
3435
35- func  createStreamServers (conf  dataplane.Configuration ) []stream.Server  {
36+ func  createStreamServers (logger  logr. Logger ,  conf  dataplane.Configuration ) []stream.Server  {
3637	totalServers  :=  len (conf .TLSPassthroughServers ) +  len (conf .TCPServers ) +  len (conf .UDPServers )
3738	if  totalServers  ==  0  {
3839		return  nil 
@@ -85,8 +86,23 @@ func createStreamServers(conf dataplane.Configuration) []stream.Server {
8586		streamServers  =  append (streamServers , streamServer )
8687	}
8788
89+ 	// Process Layer4 servers (TCP and UDP) 
90+ 	processLayer4Servers (logger , conf .TCPServers , conf .UDPServers , upstreams , portSet , & streamServers )
91+ 
92+ 	return  streamServers 
93+ }
94+ 
95+ // processLayer4Servers processes TCP and UDP servers to create stream servers. 
96+ func  processLayer4Servers (
97+ 	logger  logr.Logger ,
98+ 	tcpServers  []dataplane.Layer4VirtualServer ,
99+ 	udpServers  []dataplane.Layer4VirtualServer ,
100+ 	upstreams  map [string ]dataplane.Upstream ,
101+ 	portSet  map [int32 ]struct {},
102+ 	streamServers  * []stream.Server ,
103+ ) {
88104	// Process TCP servers 
89- 	for  i , server  :=  range  conf . TCPServers  {
105+ 	for  i , server  :=  range  tcpServers  {
90106		if  _ , inPortSet  :=  portSet [server .Port ]; inPortSet  {
91107			continue  // Skip if port already in use 
92108		}
@@ -97,15 +113,19 @@ func createStreamServers(conf dataplane.Configuration) []stream.Server {
97113				StatusZone : fmt .Sprintf ("tcp_%d" , server .Port ),
98114				ProxyPass :  server .UpstreamName ,
99115			}
100- 			streamServers  =  append (streamServers , streamServer )
116+ 			* streamServers  =  append (* streamServers , streamServer )
101117			portSet [server .Port ] =  struct {}{}
102118		} else  {
103- 			fmt .Printf ("DEBUG: createStreamServers - TCP Server %d: Skipped - upstream not found or no endpoints\n " , i )
119+ 			logger .V (1 ).Info ("TCP Server skipped - upstream not found or no endpoints" ,
120+ 				"serverIndex" , i ,
121+ 				"port" , server .Port ,
122+ 				"upstreamName" , server .UpstreamName ,
123+ 			)
104124		}
105125	}
106126
107127	// Process UDP servers 
108- 	for  _ , server  :=  range  conf . UDPServers  {
128+ 	for  _ , server  :=  range  udpServers  {
109129		if  _ , inPortSet  :=  portSet [server .Port ]; inPortSet  {
110130			continue  // Skip if port already in use 
111131		}
@@ -120,12 +140,10 @@ func createStreamServers(conf dataplane.Configuration) []stream.Server {
120140					ProxyTimeout : "1s" ,
121141				},
122142			}
123- 			streamServers  =  append (streamServers , streamServer )
143+ 			* streamServers  =  append (* streamServers , streamServer )
124144			portSet [server .Port ] =  struct {}{}
125145		}
126146	}
127- 
128- 	return  streamServers 
129147}
130148
131149func  getRewriteClientIPSettingsForStream (
0 commit comments