@@ -12,8 +12,8 @@ import (
1212
1313// Prefix represents an IPv4 prefix
1414type Prefix struct {
15- addr IP
16- pfxlen uint8
15+ addr IP
16+ len uint8
1717}
1818
1919// Dedup gets a copy of Prefix from the cache.
@@ -30,8 +30,8 @@ func (p Prefix) Ptr() *Prefix {
3030// NewPrefixFromProtoPrefix creates a Prefix from a proto Prefix
3131func NewPrefixFromProtoPrefix (pfx * api.Prefix ) * Prefix {
3232 return & Prefix {
33- addr : IPFromProtoIP (pfx .Address ),
34- pfxlen : uint8 (pfx .Pfxlen ),
33+ addr : IPFromProtoIP (pfx .Address ),
34+ len : uint8 (pfx .Length ),
3535 }
3636}
3737
@@ -53,24 +53,24 @@ func PrefixFromString(s string) (*Prefix, error) {
5353 }
5454
5555 return & Prefix {
56- addr : ip ,
57- pfxlen : uint8 (l ),
56+ addr : ip ,
57+ len : uint8 (l ),
5858 }, nil
5959}
6060
6161// ToProto converts prefix to proto prefix
6262func (p Prefix ) ToProto () * api.Prefix {
6363 return & api.Prefix {
6464 Address : p .addr .ToProto (),
65- Pfxlen : uint32 (p .pfxlen ),
65+ Length : uint32 (p .len ),
6666 }
6767}
6868
6969// NewPfx creates a new Prefix
70- func NewPfx (addr IP , pfxlen uint8 ) Prefix {
70+ func NewPfx (addr IP , len uint8 ) Prefix {
7171 return Prefix {
72- addr : addr ,
73- pfxlen : pfxlen ,
72+ addr : addr ,
73+ len : len ,
7474 }
7575}
7676
@@ -80,8 +80,8 @@ func NewPfxFromIPNet(ipNet *gonet.IPNet) *Prefix {
8080 ip , _ := IPFromBytes (ipNet .IP )
8181
8282 return & Prefix {
83- addr : ip ,
84- pfxlen : uint8 (ones ),
83+ addr : ip ,
84+ len : uint8 (ones ),
8585 }
8686}
8787
@@ -115,21 +115,21 @@ func (pfx *Prefix) Addr() IP {
115115}
116116
117117// Pfxlen returns the length of the prefix
118- func (pfx * Prefix ) Pfxlen () uint8 {
119- return pfx .pfxlen
118+ func (pfx * Prefix ) Len () uint8 {
119+ return pfx .len
120120}
121121
122122// String returns a string representation of pfx
123123func (pfx * Prefix ) String () string {
124- return fmt .Sprintf ("%s/%d" , pfx .addr .String (), pfx .pfxlen )
124+ return fmt .Sprintf ("%s/%d" , pfx .addr .String (), pfx .len )
125125}
126126
127127// GetIPNet returns the gonet.IP object for a Prefix object
128128func (pfx * Prefix ) GetIPNet () * gonet.IPNet {
129129 var dstNetwork gonet.IPNet
130130 dstNetwork .IP = pfx .Addr ().Bytes ()
131131
132- pfxLen := int (pfx .Pfxlen ())
132+ pfxLen := int (pfx .Len ())
133133 if pfx .Addr ().IsIPv4 () {
134134 dstNetwork .Mask = gonet .CIDRMask (pfxLen , 32 )
135135 } else {
@@ -141,7 +141,7 @@ func (pfx *Prefix) GetIPNet() *gonet.IPNet {
141141
142142// Contains checks if x is a subnet of or equal to pfx
143143func (pfx * Prefix ) Contains (x * Prefix ) bool {
144- if x .pfxlen <= pfx .pfxlen {
144+ if x .len <= pfx .len {
145145 return false
146146 }
147147
@@ -153,18 +153,18 @@ func (pfx *Prefix) Contains(x *Prefix) bool {
153153}
154154
155155func (pfx * Prefix ) containsIPv4 (x * Prefix ) bool {
156- mask := uint32 ((math .MaxUint32 << (32 - pfx .pfxlen )))
156+ mask := uint32 ((math .MaxUint32 << (32 - pfx .len )))
157157 return (pfx .addr .ToUint32 () & mask ) == (x .addr .ToUint32 () & mask )
158158}
159159
160160func (pfx * Prefix ) containsIPv6 (x * Prefix ) bool {
161161 var maskHigh , maskLow uint64
162- if pfx .pfxlen <= 64 {
163- maskHigh = math .MaxUint32 << (64 - pfx .pfxlen )
162+ if pfx .len <= 64 {
163+ maskHigh = math .MaxUint32 << (64 - pfx .len )
164164 maskLow = uint64 (0 )
165165 } else {
166166 maskHigh = math .MaxUint32
167- maskLow = math .MaxUint32 << (128 - pfx .pfxlen )
167+ maskLow = math .MaxUint32 << (128 - pfx .len )
168168 }
169169
170170 return pfx .addr .higher & maskHigh & maskHigh == x .addr .higher & maskHigh & maskHigh &&
@@ -173,7 +173,7 @@ func (pfx *Prefix) containsIPv6(x *Prefix) bool {
173173
174174// Equal checks if pfx and x are equal
175175func (pfx * Prefix ) Equal (x * Prefix ) bool {
176- return pfx .addr .Equal (x .addr ) && pfx .pfxlen == x .pfxlen
176+ return pfx .addr .Equal (x .addr ) && pfx .len == x .len
177177}
178178
179179// GetSupernet gets the next common supernet of pfx and x
@@ -186,7 +186,7 @@ func (pfx *Prefix) GetSupernet(x *Prefix) Prefix {
186186}
187187
188188func (pfx * Prefix ) supernetIPv4 (x * Prefix ) Prefix {
189- maxPfxLen := min (pfx .pfxlen , x .pfxlen ) - 1
189+ maxPfxLen := min (pfx .len , x .len ) - 1
190190 a := pfx .addr .ToUint32 () >> (32 - maxPfxLen )
191191 b := x .addr .ToUint32 () >> (32 - maxPfxLen )
192192
@@ -197,13 +197,13 @@ func (pfx *Prefix) supernetIPv4(x *Prefix) Prefix {
197197 }
198198
199199 return Prefix {
200- addr : IPv4 (a << (32 - maxPfxLen )),
201- pfxlen : maxPfxLen ,
200+ addr : IPv4 (a << (32 - maxPfxLen )),
201+ len : maxPfxLen ,
202202 }
203203}
204204
205205func (pfx * Prefix ) supernetIPv6 (x * Prefix ) Prefix {
206- maxPfxLen := min (pfx .pfxlen , x .pfxlen )
206+ maxPfxLen := min (pfx .len , x .len )
207207
208208 a := pfx .addr .BitAtPosition (1 )
209209 b := x .addr .BitAtPosition (1 )
@@ -236,18 +236,18 @@ func (pfx *Prefix) supernetIPv6(x *Prefix) Prefix {
236236// Valid checks if all bits outside of the prefix lengths range are zero (no host bit set)
237237func (p * Prefix ) Valid () bool {
238238 if p .addr .isLegacy {
239- return checkLastNBitsUint32 (uint32 (p .addr .lower ), 32 - p .pfxlen )
239+ return checkLastNBitsUint32 (uint32 (p .addr .lower ), 32 - p .len )
240240 }
241241
242- if p .pfxlen <= 64 {
242+ if p .len <= 64 {
243243 if p .addr .lower != 0 {
244244 return false
245245 }
246246
247- return checkLastNBitsUint64 (p .addr .higher , 64 - p .pfxlen )
247+ return checkLastNBitsUint64 (p .addr .higher , 64 - p .len )
248248 }
249249
250- return checkLastNBitsUint64 (p .addr .lower , 64 - (p .pfxlen - 64 ))
250+ return checkLastNBitsUint64 (p .addr .lower , 64 - (p .len - 64 ))
251251}
252252
253253func min (a uint8 , b uint8 ) uint8 {
@@ -277,22 +277,22 @@ func (p *Prefix) BaseAddr() IP {
277277func (p * Prefix ) baseAddr4 () IP {
278278 addr := p .addr .copy ()
279279
280- addr .lower = addr .lower >> (32 - p .pfxlen )
281- addr .lower = addr .lower << (32 - p .pfxlen )
280+ addr .lower = addr .lower >> (32 - p .len )
281+ addr .lower = addr .lower << (32 - p .len )
282282
283283 return addr
284284}
285285
286286func (p * Prefix ) baseAddr6 () IP {
287287 addr := p .addr .copy ()
288288
289- if p .pfxlen <= 64 {
289+ if p .len <= 64 {
290290 addr .lower = 0
291- addr .higher = addr .higher >> (64 - p .pfxlen )
292- addr .higher = addr .higher << (64 - p .pfxlen )
291+ addr .higher = addr .higher >> (64 - p .len )
292+ addr .higher = addr .higher << (64 - p .len )
293293 } else {
294- addr .lower = addr .lower >> (128 - p .pfxlen )
295- addr .lower = addr .lower << (128 - p .pfxlen )
294+ addr .lower = addr .lower >> (128 - p .len )
295+ addr .lower = addr .lower << (128 - p .len )
296296 }
297297
298298 return addr
0 commit comments