@@ -803,11 +803,7 @@ func (gw *GatewayManager) updateGWRouterNAT(nodeName string, clusterIPSubnet []*
803803// enableGatewayMTU enables options:gateway_mtu for gateway routers.
804804func (gw * GatewayManager ) gatewayInit (
805805 nodeName string ,
806- clusterIPSubnet []* net.IPNet ,
807- hostSubnets []* net.IPNet ,
808- l3GatewayConfig * util.L3GatewayConfig ,
809- gwLRPJoinIPs , drLRPIfAddrs []* net.IPNet ,
810- externalIPs []net.IP ,
806+ gwConfig * GatewayConfig ,
811807 enableGatewayMTU bool ,
812808) error {
813809
@@ -837,7 +833,7 @@ func (gw *GatewayManager) gatewayInit(
837833 }
838834 }
839835
840- gwRouter , err := gw .createGWRouter (l3GatewayConfig , gwLRPJoinIPs )
836+ gwRouter , err := gw .createGWRouter (gwConfig . config , gwConfig . gwLRPJoinIPs )
841837 if err != nil {
842838 return err
843839 }
@@ -846,28 +842,28 @@ func (gw *GatewayManager) gatewayInit(
846842 return err
847843 }
848844
849- gwLRPIPs , err := gw .createGWRouterPort (hostSubnets , gwLRPJoinIPs , enableGatewayMTU , gwRouter )
845+ gwLRPIPs , err := gw .createGWRouterPort (gwConfig . hostSubnets , gwConfig . gwLRPJoinIPs , enableGatewayMTU , gwRouter )
850846 if err != nil {
851847 return err
852848 }
853849
854850 if err := gw .addExternalSwitch ("" ,
855- l3GatewayConfig .InterfaceID ,
851+ gwConfig . config .InterfaceID ,
856852 gw .gwRouterName ,
857- l3GatewayConfig .MACAddress .String (),
853+ gwConfig . config .MACAddress .String (),
858854 physNetName (gw .netInfo ),
859- l3GatewayConfig .IPAddresses ,
860- l3GatewayConfig .VLANID ); err != nil {
855+ gwConfig . config .IPAddresses ,
856+ gwConfig . config .VLANID ); err != nil {
861857 return err
862858 }
863859
864- if l3GatewayConfig .EgressGWInterfaceID != "" {
860+ if gwConfig . config .EgressGWInterfaceID != "" {
865861 if err := gw .addExternalSwitch (types .EgressGWSwitchPrefix ,
866- l3GatewayConfig .EgressGWInterfaceID ,
862+ gwConfig . config .EgressGWInterfaceID ,
867863 gw .gwRouterName ,
868- l3GatewayConfig .EgressGWMACAddress .String (),
864+ gwConfig . config .EgressGWMACAddress .String (),
869865 types .PhysicalNetworkExGwName ,
870- l3GatewayConfig .EgressGWIPAddresses ,
866+ gwConfig . config .EgressGWIPAddresses ,
871867 nil ); err != nil {
872868 return err
873869 }
@@ -883,20 +879,20 @@ func (gw *GatewayManager) gatewayInit(
883879 }
884880
885881 externalRouterPort := types .GWRouterToExtSwitchPrefix + gw .gwRouterName
886- if err = gw .updateGWRouterStaticRoutes (clusterIPSubnet , drLRPIfAddrs , l3GatewayConfig , externalRouterPort ,
882+ if err = gw .updateGWRouterStaticRoutes (gwConfig . clusterSubnets , gwConfig . ovnClusterLRPToJoinIfAddrs , gwConfig . config , externalRouterPort ,
887883 gwRouter ); err != nil {
888884 return err
889885 }
890886
891- if err = gw .updateClusterRouterStaticRoutes (hostSubnets , gwLRPIPs ); err != nil {
887+ if err = gw .updateClusterRouterStaticRoutes (gwConfig . hostSubnets , gwLRPIPs ); err != nil {
892888 return err
893889 }
894890
895- if err = gw .syncNATsForGRIPChange (externalIPs , oldExtIPs , gwLRPIPs , gwRouter , oldLogicalRouter ); err != nil {
891+ if err = gw .syncNATsForGRIPChange (gwConfig . externalIPs , oldExtIPs , gwLRPIPs , gwRouter , oldLogicalRouter ); err != nil {
896892 return err
897893 }
898894
899- if err = gw .updateGWRouterNAT (nodeName , clusterIPSubnet , l3GatewayConfig , externalIPs , gwLRPIPs , gwRouter ); err != nil {
895+ if err = gw .updateGWRouterNAT (nodeName , gwConfig . clusterSubnets , gwConfig . config , gwConfig . externalIPs , gwLRPIPs , gwRouter ); err != nil {
900896 return err
901897 }
902898
@@ -1333,33 +1329,23 @@ func (gw *GatewayManager) isRoutingAdvertised(node string) bool {
13331329// SyncGateway ensures a node's gateway router is configured according to the L3 config and host subnets
13341330func (gw * GatewayManager ) SyncGateway (
13351331 node * corev1.Node ,
1336- l3GatewayConfig * util.L3GatewayConfig ,
1337- hostSubnets []* net.IPNet ,
1338- hostAddrs []string ,
1339- clusterSubnets , grLRPJoinIPs []* net.IPNet ,
1340- ovnClusterLRPToJoinIfAddrs []* net.IPNet ,
1341- externalIPs []net.IP ,
1332+ gwConfig * GatewayConfig ,
13421333) error {
1343- if l3GatewayConfig .Mode == config .GatewayModeDisabled {
1334+ if gwConfig . config .Mode == config .GatewayModeDisabled {
13441335 if err := gw .Cleanup (); err != nil {
13451336 return fmt .Errorf ("error cleaning up gateway for node %s: %v" , node .Name , err )
13461337 }
13471338 return nil
13481339 }
1349- if hostSubnets == nil {
1340+ if gwConfig . hostSubnets == nil {
13501341 return nil
13511342 }
13521343
13531344 enableGatewayMTU := util .ParseNodeGatewayMTUSupport (node )
13541345
13551346 err := gw .gatewayInit (
13561347 node .Name ,
1357- clusterSubnets ,
1358- hostSubnets ,
1359- l3GatewayConfig ,
1360- grLRPJoinIPs , // the joinIP allocated to this node's GR for this controller's network
1361- ovnClusterLRPToJoinIfAddrs ,
1362- externalIPs ,
1348+ gwConfig ,
13631349 enableGatewayMTU ,
13641350 )
13651351 if err != nil {
@@ -1370,16 +1356,16 @@ func (gw *GatewayManager) SyncGateway(
13701356 if gw .clusterRouterName == "" {
13711357 routerName = gw .gwRouterName
13721358 }
1373- for _ , subnet := range hostSubnets {
1359+ for _ , subnet := range gwConfig . hostSubnets {
13741360 mgmtIfAddr := util .GetNodeManagementIfAddr (subnet )
13751361 if mgmtIfAddr == nil {
13761362 return fmt .Errorf ("management interface address not found for subnet %q on network %q" , subnet , gw .netInfo .GetNetworkName ())
13771363 }
1378- l3GatewayConfigIP , err := util .MatchFirstIPNetFamily (utilnet .IsIPv6 (mgmtIfAddr .IP ), l3GatewayConfig .IPAddresses )
1364+ l3GatewayConfigIP , err := util .MatchFirstIPNetFamily (utilnet .IsIPv6 (mgmtIfAddr .IP ), gwConfig . config .IPAddresses )
13791365 if err != nil {
13801366 return fmt .Errorf ("failed to extract the gateway IP addr for network %q: %v" , gw .netInfo .GetNetworkName (), err )
13811367 }
1382- relevantHostIPs , err := util .MatchAllIPStringFamily (utilnet .IsIPv6 (mgmtIfAddr .IP ), hostAddrs )
1368+ relevantHostIPs , err := util .MatchAllIPStringFamily (utilnet .IsIPv6 (mgmtIfAddr .IP ), gwConfig . hostAddrs )
13831369 if err != nil && err != util .ErrorNoIP {
13841370 return fmt .Errorf ("failed to extract the host IP addrs for network %q: %v" , gw .netInfo .GetNetworkName (), err )
13851371 }
0 commit comments