浏览代码

add egress domain ans routes to nodes

abhishek9686 3 天之前
父节点
当前提交
055b66cdbb
共有 1 个文件被更改,包括 29 次插入11 次删除
  1. 29 11
      logic/egress.go

+ 29 - 11
logic/egress.go

@@ -113,11 +113,25 @@ func AddEgressInfoToPeerByAccess(node, targetNode *models.Node, eli []schema.Egr
 				req.Ranges = append(req.Ranges, e.DomainAns...)
 				req.Ranges = append(req.Ranges, e.DomainAns...)
 			}
 			}
 
 
-			req.RangesWithMetric = append(req.RangesWithMetric, models.EgressRangeMetric{
-				Network:     e.Range,
-				Nat:         e.Nat,
-				RouteMetric: m,
-			})
+			if e.Range != "" {
+				req.Ranges = append(req.Ranges, e.Range)
+				req.RangesWithMetric = append(req.RangesWithMetric, models.EgressRangeMetric{
+					Network:     e.Range,
+					Nat:         e.Nat,
+					RouteMetric: m,
+				})
+			}
+			if e.Domain != "" && len(e.DomainAns) > 0 {
+				req.Ranges = append(req.Ranges, e.DomainAns...)
+				for _, domainAnsI := range e.DomainAns {
+					req.RangesWithMetric = append(req.RangesWithMetric, models.EgressRangeMetric{
+						Network:     domainAnsI,
+						Nat:         e.Nat,
+						RouteMetric: m,
+					})
+				}
+
+			}
 		}
 		}
 	}
 	}
 	if targetNode.Mutex != nil {
 	if targetNode.Mutex != nil {
@@ -182,13 +196,17 @@ func GetNodeEgressInfo(targetNode *models.Node, eli []schema.Egress, acls []mode
 					Nat:         e.Nat,
 					Nat:         e.Nat,
 					RouteMetric: m,
 					RouteMetric: m,
 				})
 				})
-			} else if len(e.DomainAns) > 0 {
+			}
+			if e.Domain != "" && len(e.DomainAns) > 0 {
 				req.Ranges = append(req.Ranges, e.DomainAns...)
 				req.Ranges = append(req.Ranges, e.DomainAns...)
-				req.RangesWithMetric = append(req.RangesWithMetric, models.EgressRangeMetric{
-					Network:     e.DomainAns[0],
-					Nat:         e.Nat,
-					RouteMetric: m,
-				})
+				for _, domainAnsI := range e.DomainAns {
+					req.RangesWithMetric = append(req.RangesWithMetric, models.EgressRangeMetric{
+						Network:     domainAnsI,
+						Nat:         e.Nat,
+						RouteMetric: m,
+					})
+				}
+
 			}
 			}
 
 
 		}
 		}