Skip to content

Commit 5faad07

Browse files
Merge pull request #522 from TrekkieCoder/main
PR - Fixed to remove rule VIP on state changes
2 parents 6cd2a82 + 99d0169 commit 5faad07

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

loxinet/rules.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -1507,7 +1507,7 @@ func (R *RuleH) DeleteNatLbRule(serv cmn.LbServiceArg) (int, error) {
15071507
}
15081508
dev := fmt.Sprintf("llb-rule-%s", sNetAddr.IP.String())
15091509
ret, _ := mh.zr.L3.IfaFind(dev, sNetAddr.IP)
1510-
if ret != 0 {
1510+
if ret == 0 {
15111511
mh.zr.L3.IfaDelete(dev, sNetAddr.IP.String()+"/32")
15121512
}
15131513
delete(R.vipMap, sNetAddr.IP.String())
@@ -2539,6 +2539,11 @@ func (r *ruleEnt) DP(work DpWorkT) int {
25392539
func (R *RuleH) AdvRuleVIPIfL2(IP net.IP) error {
25402540
ciState, _ := mh.has.CIStateGetInst(cmn.CIDefault)
25412541
if ciState == "MASTER" {
2542+
dev := fmt.Sprintf("llb-rule-%s", IP.String())
2543+
ret, _ := mh.zr.L3.IfaFind(dev, IP)
2544+
if ret == 0 {
2545+
mh.zr.L3.IfaDelete(dev, IP.String()+"/32")
2546+
}
25422547
ev, _, iface := R.zone.L3.IfaSelectAny(IP, false)
25432548
if ev == 0 {
25442549
if !IsIPHostAddr(IP.String()) {

0 commit comments

Comments
 (0)