Skip to content

Commit 46be141

Browse files
committed
Refactor constructUDNVRFIPRules
no functional changes, refactors the function to clearly show the branching for advertised networks. Signed-off-by: Patryk Diak <[email protected]>
1 parent fbef8b1 commit 46be141

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

go-controller/pkg/node/gateway_udn.go

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

go-controller/pkg/node/gateway_udn_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1447,7 +1447,7 @@ func TestConstructUDNVRFIPRules(t *testing.T) {
14471447
})
14481448
g.Expect(err).NotTo(HaveOccurred())
14491449
udnGateway.vrfTableId = test.vrftableID
1450-
rules, delRules, err := udnGateway.constructUDNVRFIPRules()
1450+
rules, delRules, err := udnGateway.constructUDNVRFIPRules(false)
14511451
g.Expect(err).ToNot(HaveOccurred())
14521452
for i, rule := range rules {
14531453
g.Expect(rule.Priority).To(Equal(test.expectedRules[i].priority))
@@ -1634,7 +1634,7 @@ func TestConstructUDNVRFIPRulesPodNetworkAdvertised(t *testing.T) {
16341634
})
16351635
g.Expect(err).NotTo(HaveOccurred())
16361636
udnGateway.vrfTableId = test.vrftableID
1637-
rules, delRules, err := udnGateway.constructUDNVRFIPRules()
1637+
rules, delRules, err := udnGateway.constructUDNVRFIPRules(true)
16381638
g.Expect(err).ToNot(HaveOccurred())
16391639
for i, rule := range rules {
16401640
g.Expect(rule.Priority).To(Equal(test.expectedRules[i].priority))

0 commit comments

Comments
 (0)