@@ -38,16 +38,8 @@ var networkAddressList = &NetworkAddressLists{}
38
38
39
39
func InitNetworkAddressLists (publicInternetAddressList , serviceNetworkAddressList []string ) {
40
40
once .Do (func () {
41
- ipbListPI , _ , _ := ipStringsToIPblocks (publicInternetAddressList )
42
- ipbListSN , _ , _ := ipStringsToIPblocks (serviceNetworkAddressList )
43
- publicInternetRanges := netset .NewIPBlock ()
44
- serviceNetworkRanges := netset .NewIPBlock ()
45
- for _ , ipRange := range ipbListPI {
46
- publicInternetRanges = publicInternetRanges .Union (ipRange )
47
- }
48
- for _ , ipRange := range ipbListSN {
49
- serviceNetworkRanges = serviceNetworkRanges .Union (ipRange )
50
- }
41
+ ipbListPI , publicInternetRanges , _ := ipStringsToIPblocks (publicInternetAddressList )
42
+ ipbListSN , serviceNetworkRanges , _ := ipStringsToIPblocks (serviceNetworkAddressList )
51
43
networkAddressList = & NetworkAddressLists {ipbListPI , publicInternetRanges , ipbListSN , serviceNetworkRanges }
52
44
})
53
45
}
@@ -173,11 +165,15 @@ func ipStringsToIPblocks(ipList []string) (ipbList []*netset.IPBlock, unionIPblo
173
165
return ipbList , unionIPblock , nil
174
166
}
175
167
176
- func newExternalNode (isPublicInternet bool , ipb * netset.IPBlock , resourceType string ) (Node , error ) {
168
+ func newExternalNode (isPublicInternet bool , ipb * netset.IPBlock ) (Node , error ) {
177
169
cidrsList := ipb .ToCidrList ()
178
170
if len (cidrsList ) > 1 {
179
171
return nil , errors .New ("newExternalNode: input ip-block should be of a single CIDR" )
180
172
}
173
+ resourceType := serviceNetworkNodeName
174
+ if isPublicInternet {
175
+ resourceType = publicInternetNodeName
176
+ }
181
177
cidr := ipb .ToCidrList ()[0 ]
182
178
return & ExternalNetwork {
183
179
ResourceType : resourceType ,
@@ -201,22 +197,19 @@ func newExternalNodeForCidr(cidr, resourceType string) (Node, error) {
201
197
202
198
func GetExternalNetworkNodes (disjointRefExternalIPBlocks []* netset.IPBlock ) ([]Node , error ) {
203
199
res := []Node {}
204
- internetIPblocks , allInternetRagnes , err := GetNetworkAddressList ().GetPublicInternetIPblocksList ()
200
+ internetIPblocks , allInternetRanges , err := GetNetworkAddressList ().GetPublicInternetIPblocksList ()
205
201
if err != nil {
206
202
return nil , err
207
203
}
208
- serviceNetworkIPblocks , serviceNetworkRagnes , err := GetNetworkAddressList ().GetServiceNetworkIPblocksList ()
204
+ serviceNetworkIPblocks , serviceNetworkRanges , err := GetNetworkAddressList ().GetServiceNetworkIPblocksList ()
209
205
if err != nil {
210
206
return nil , err
211
207
}
212
208
disjointRefExternalIPBlocksPublicInternet := netset .DisjointIPBlocks (internetIPblocks , disjointRefExternalIPBlocks )
213
209
disjointRefExternalIPBlocksServiceNetwork := netset .DisjointIPBlocks (serviceNetworkIPblocks , disjointRefExternalIPBlocks )
214
210
215
211
for _ , ipb := range disjointRefExternalIPBlocksPublicInternet {
216
- var isPublicInternet bool
217
- if ipb .IsSubset (allInternetRagnes ) {
218
- isPublicInternet = true
219
- } else {
212
+ if ! ipb .IsSubset (allInternetRanges ) {
220
213
continue
221
214
}
222
215
cidrs := ipb .ToCidrList ()
@@ -225,18 +218,15 @@ func GetExternalNetworkNodes(disjointRefExternalIPBlocks []*netset.IPBlock) ([]N
225
218
if err != nil {
226
219
return nil , err
227
220
}
228
- newNode , err := newExternalNode (isPublicInternet , nodeIPBlock , publicInternetNodeName )
221
+ newNode , err := newExternalNode (true , nodeIPBlock )
229
222
if err != nil {
230
223
return nil , err
231
224
}
232
225
res = append (res , newNode )
233
226
}
234
227
}
235
228
for _ , ipb := range disjointRefExternalIPBlocksServiceNetwork {
236
- var isPublicInternet bool
237
- if ipb .IsSubset (serviceNetworkRagnes ) {
238
- isPublicInternet = false
239
- } else {
229
+ if ! ipb .IsSubset (serviceNetworkRanges ) {
240
230
continue
241
231
}
242
232
cidrs := ipb .ToCidrList ()
@@ -245,7 +235,7 @@ func GetExternalNetworkNodes(disjointRefExternalIPBlocks []*netset.IPBlock) ([]N
245
235
if err != nil {
246
236
return nil , err
247
237
}
248
- newNode , err := newExternalNode (isPublicInternet , nodeIPBlock , serviceNetworkNodeName )
238
+ newNode , err := newExternalNode (false , nodeIPBlock )
249
239
if err != nil {
250
240
return nil , err
251
241
}
@@ -282,9 +272,9 @@ func isEntirePublicInternetRange(nodes []*ExternalNetwork) (bool, error) {
282
272
if err != nil {
283
273
return false , err
284
274
}
285
- _ , allInternetRagnes , err := GetNetworkAddressList ().GetPublicInternetIPblocksList ()
275
+ _ , allInternetRanges , err := GetNetworkAddressList ().GetPublicInternetIPblocksList ()
286
276
if err != nil {
287
277
return false , err
288
278
}
289
- return nodesRanges .Equal (allInternetRagnes ), nil
279
+ return nodesRanges .Equal (allInternetRanges ), nil
290
280
}
0 commit comments