@@ -363,17 +363,16 @@ func (udng *UserDefinedNetworkGateway) AddNetwork() error {
363363 isNetworkAdvertised := util .IsPodNetworkAdvertisedAtNode (udng .NetInfo , udng .node .Name )
364364
365365 // create the iprules for this network
366- err = udng .updateUDNVRFIPRule ()
367- if err != nil {
366+ if err = udng .updateUDNVRFIPRules (isNetworkAdvertised ); err != nil {
368367 return fmt .Errorf ("failed to update IP rules for network %s: %w" , udng .GetNetworkName (), err )
369368 }
370369
371370 if err = udng .updateAdvertisedUDNIsolationRules (isNetworkAdvertised ); err != nil {
372- return fmt .Errorf ("failed to configure isolation rules for network %s: %w" , udng .GetNetworkName (), err )
371+ return fmt .Errorf ("failed to update isolation rules for network %s: %w" , udng .GetNetworkName (), err )
373372 }
374373
375374 if err := udng .updateUDNVRFIPRoute (isNetworkAdvertised ); err != nil {
376- return fmt .Errorf ("failed to configure ip routes for network %s: %w" , udng .GetNetworkName (), err )
375+ return fmt .Errorf ("failed to update ip routes for network %s: %w" , udng .GetNetworkName (), err )
377376 }
378377
379378 // add loose mode for rp filter on management port
@@ -789,12 +788,11 @@ func (udng *UserDefinedNetworkGateway) getV6MasqueradeIP() (*net.IPNet, error) {
789788// 2000: from all to 10.132.0.0/14 lookup 1007
790789// 2000: from all fwmark 0x1001 lookup 1009
791790// 2000: from all to 10.134.0.0/14 lookup 1009
792- func (udng * UserDefinedNetworkGateway ) constructUDNVRFIPRules () ([]netlink.Rule , []netlink.Rule , error ) {
791+ func (udng * UserDefinedNetworkGateway ) constructUDNVRFIPRules (isNetworkAdvertised bool ) ([]netlink.Rule , []netlink.Rule , error ) {
793792 var addIPRules []netlink.Rule
794793 var delIPRules []netlink.Rule
795794 var masqIPRules []netlink.Rule
796795 var subnetIPRules []netlink.Rule
797- isNetworkAdvertised := util .IsPodNetworkAdvertisedAtNode (udng .NetInfo , udng .node .Name )
798796 masqIPv4 , err := udng .getV4MasqueradeIP ()
799797 if err != nil {
800798 return nil , nil , err
@@ -923,7 +921,7 @@ func (udng *UserDefinedNetworkGateway) doReconcile() error {
923921 isNetworkAdvertised := util .IsPodNetworkAdvertisedAtNode (udng .NetInfo , udng .node .Name )
924922 udng .openflowManager .defaultBridge .netConfig [udng .GetNetworkName ()].advertised .Store (isNetworkAdvertised )
925923
926- if err := udng .updateUDNVRFIPRule ( ); err != nil {
924+ if err := udng .updateUDNVRFIPRules ( isNetworkAdvertised ); err != nil {
927925 return fmt .Errorf ("error while updating ip rule for UDN %s: %s" , udng .GetNetworkName (), err )
928926 }
929927
@@ -944,10 +942,10 @@ func (udng *UserDefinedNetworkGateway) doReconcile() error {
944942 return nil
945943}
946944
947- // updateUDNVRFIPRule updates IP rules for a network depending on whether the
945+ // updateUDNVRFIPRules updates IP rules for a network depending on whether the
948946// network is advertised or not
949- func (udng * UserDefinedNetworkGateway ) updateUDNVRFIPRule ( ) error {
950- addIPRules , deleteIPRules , err := udng .constructUDNVRFIPRules ()
947+ func (udng * UserDefinedNetworkGateway ) updateUDNVRFIPRules ( isNetworkAdvertised bool ) error {
948+ addIPRules , deleteIPRules , err := udng .constructUDNVRFIPRules (isNetworkAdvertised )
951949 if err != nil {
952950 return fmt .Errorf ("unable to get iprules for network %s, err: %v" , udng .GetNetworkName (), err )
953951 }
0 commit comments