Skip to content

Commit e30fc31

Browse files
authored
Clean up naming for Prefix.pfxlen (to Prefix.len) (#374)
Closes #150 Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>
1 parent 39c276a commit e30fc31

File tree

11 files changed

+151
-151
lines changed

11 files changed

+151
-151
lines changed

net/api/net.pb.go

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

net/api/net.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ option go_package = "github.com/bio-routing/bio-rd/net/api";
55

66
message Prefix {
77
IP address = 1;
8-
uint32 pfxlen = 2;
8+
uint32 length = 2;
99
}
1010

1111
message IP {

net/prefix.go

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import (
1212

1313
// Prefix represents an IPv4 prefix
1414
type 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
3131
func 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
6262
func (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
123123
func (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
128128
func (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
143143
func (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

155155
func (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

160160
func (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
175175
func (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

188188
func (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

205205
func (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)
237237
func (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

253253
func min(a uint8, b uint8) uint8 {
@@ -277,22 +277,22 @@ func (p *Prefix) BaseAddr() IP {
277277
func (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

286286
func (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

net/prefix_cache_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ func TestPrefixCache(t *testing.T) {
1313
lower: 200,
1414
isLegacy: false,
1515
},
16-
pfxlen: 64,
16+
len: 64,
1717
}
1818
b := &Prefix{
1919
addr: IP{
2020
higher: 100,
2121
lower: 200,
2222
isLegacy: false,
2323
},
24-
pfxlen: 64,
24+
len: 64,
2525
}
2626

2727
x := a.Dedup()

0 commit comments

Comments
 (0)