@@ -8,6 +8,7 @@ package vpcmodel
8
8
9
9
import (
10
10
"errors"
11
+ "fmt"
11
12
"sync"
12
13
13
14
"github.com/np-guard/models/pkg/netset"
@@ -28,15 +29,17 @@ var once sync.Once
28
29
29
30
// singleton struct
30
31
type NetworkAddressLists struct {
31
- publicInternetAddressList []string
32
- serviceNetworkAddressList []string
32
+ publicInternetAddressList []* netset. IPBlock
33
+ serviceNetworkAddressList []* netset. IPBlock
33
34
}
34
35
35
36
var networkAddressList = & NetworkAddressLists {}
36
37
37
38
func InitNetworkAddressLists (publicInternetAddressList , serviceNetworkAddressList []string ) {
38
39
once .Do (func () {
39
- networkAddressList = & NetworkAddressLists {publicInternetAddressList , serviceNetworkAddressList }
40
+ ipbListPI , _ , _ := ipStringsToIPblocks (publicInternetAddressList )
41
+ ipbListSN , _ , _ := ipStringsToIPblocks (serviceNetworkAddressList )
42
+ networkAddressList = & NetworkAddressLists {ipbListPI , ipbListSN }
40
43
})
41
44
}
42
45
@@ -66,17 +69,26 @@ func GetDefaultPublicInternetAddressList() []string {
66
69
}
67
70
}
68
71
69
- func (n * NetworkAddressLists ) GetPublicInternetIPblocksList () (internetIPblocksList []* netset.IPBlock ,
70
- allInternetRagnes * netset.IPBlock , err error ) {
72
+ func (n * NetworkAddressLists ) GetPublicInternetIPblocksList () ([]* netset.IPBlock , * netset.IPBlock , error ) {
71
73
if len (n .publicInternetAddressList ) == 0 {
72
74
return ipStringsToIPblocks (GetDefaultPublicInternetAddressList ())
73
75
}
74
- return ipStringsToIPblocks (n .publicInternetAddressList )
76
+ allInternetRanges := netset .NewIPBlock ()
77
+ for _ , ipRange := range n .publicInternetAddressList {
78
+ fmt .Printf ("ipRange.String(): %v\n " , ipRange .String ())
79
+ allInternetRanges = allInternetRanges .Union (ipRange )
80
+ }
81
+ fmt .Printf ("allInternetRanges.String(): %v\n " , allInternetRanges .String ())
82
+ return n .publicInternetAddressList , allInternetRanges , nil
75
83
}
76
84
77
- func (n * NetworkAddressLists ) GetServiceNetworkIPblocksList () (serviceNetworkIPblocksList []* netset.IPBlock ,
78
- serviceNetworkRagnes * netset.IPBlock , err error ) {
79
- return ipStringsToIPblocks (n .serviceNetworkAddressList )
85
+ func (n * NetworkAddressLists ) GetServiceNetworkIPblocksList () ([]* netset.IPBlock , * netset.IPBlock , error ) {
86
+ allServiceNetworkRanges := netset .NewIPBlock ()
87
+ for _ , ipRange := range n .serviceNetworkAddressList {
88
+ allServiceNetworkRanges = allServiceNetworkRanges .Union (ipRange )
89
+ }
90
+ fmt .Printf ("allServiceNetworkRanges.String(): %v\n " , allServiceNetworkRanges .String ())
91
+ return n .serviceNetworkAddressList , allServiceNetworkRanges , nil
80
92
}
81
93
82
94
// ExternalNetwork implements Node interface
0 commit comments