@@ -11,36 +11,39 @@ import (
1111 "github.com/gaissmai/bart"
1212)
1313
14- var examplePrefixes = []string {
15- "192.168.0.0/16" ,
16- "192.168.1.0/24" ,
17- "2001:7c0:3100::/40" ,
18- "2001:7c0:3100:1::/64" ,
19- "fc00::/7" ,
14+ var (
15+ mpa = netip .MustParseAddr
16+ mpp = netip .MustParsePrefix
17+ )
18+
19+ var examplePrefixes = []netip.Prefix {
20+ mpp ("192.168.0.0/16" ),
21+ mpp ("192.168.1.0/24" ),
22+ mpp ("2001:7c0:3100::/40" ),
23+ mpp ("2001:7c0:3100:1::/64" ),
24+ mpp ("fc00::/7" ),
2025}
2126
2227// some example IP addresses for black/whitelist containment
23- var exampleIPs = []string {
24- "192.168.1.100" , // must match
25- "192.168.2.1" , // must match
26- "2001:7c0:3100:1::1" , // must match
27- "2001:7c0:3100:2::1" , // must match
28- "fc00::1" , // must match
28+ var exampleIPs = []netip. Addr {
29+ mpa ( "192.168.1.100" ) , // must match
30+ mpa ( "192.168.2.1" ) , // must match
31+ mpa ( "2001:7c0:3100:1::1" ) , // must match
32+ mpa ( "2001:7c0:3100:2::1" ) , // must match
33+ mpa ( "fc00::1" ) , // must match
2934 //
30- "172.16.0.1" , // must NOT match
31- "2003:dead:beef::1" , // must NOT match
35+ mpa ( "172.16.0.1" ) , // must NOT match
36+ mpa ( "2003:dead:beef::1" ) , // must NOT match
3237}
3338
3439func ExampleLite_contains () {
3540 lite := new (bart.Lite )
3641
37- for _ , s := range examplePrefixes {
38- pfx := netip .MustParsePrefix (s )
42+ for _ , pfx := range examplePrefixes {
3943 lite .Insert (pfx )
4044 }
4145
42- for _ , s := range exampleIPs {
43- ip := netip .MustParseAddr (s )
46+ for _ , ip := range exampleIPs {
4447 ok := lite .Contains (ip )
4548 fmt .Printf ("%-20s is contained: %t\n " , ip , ok )
4649 }
@@ -55,29 +58,24 @@ func ExampleLite_contains() {
5558 // 2003:dead:beef::1 is contained: false
5659}
5760
58- var (
59- a = netip .MustParseAddr
60- p = netip .MustParsePrefix
61- )
62-
6361var input = []struct {
6462 cidr netip.Prefix
6563 nextHop netip.Addr
6664}{
67- {p ("fe80::/10" ), a ("::1%eth0" )},
68- {p ("172.16.0.0/12" ), a ("8.8.8.8" )},
69- {p ("10.0.0.0/24" ), a ("8.8.8.8" )},
70- {p ("::1/128" ), a ("::1%lo" )},
71- {p ("192.168.0.0/16" ), a ("9.9.9.9" )},
72- {p ("10.0.0.0/8" ), a ("9.9.9.9" )},
73- {p ("::/0" ), a ("2001:db8::1" )},
74- {p ("10.0.1.0/24" ), a ("10.0.0.0" )},
75- {p ("169.254.0.0/16" ), a ("10.0.0.0" )},
76- {p ("2000::/3" ), a ("2000::" )},
77- {p ("2001:db8::/32" ), a ("2001:db8::1" )},
78- {p ("127.0.0.0/8" ), a ("127.0.0.1" )},
79- {p ("127.0.0.1/32" ), a ("127.0.0.1" )},
80- {p ("192.168.1.0/24" ), a ("127.0.0.1" )},
65+ {mpp ("fe80::/10" ), mpa ("::1%eth0" )},
66+ {mpp ("172.16.0.0/12" ), mpa ("8.8.8.8" )},
67+ {mpp ("10.0.0.0/24" ), mpa ("8.8.8.8" )},
68+ {mpp ("::1/128" ), mpa ("::1%lo" )},
69+ {mpp ("192.168.0.0/16" ), mpa ("9.9.9.9" )},
70+ {mpp ("10.0.0.0/8" ), mpa ("9.9.9.9" )},
71+ {mpp ("::/0" ), mpa ("2001:db8::1" )},
72+ {mpp ("10.0.1.0/24" ), mpa ("10.0.0.0" )},
73+ {mpp ("169.254.0.0/16" ), mpa ("10.0.0.0" )},
74+ {mpp ("2000::/3" ), mpa ("2000::" )},
75+ {mpp ("2001:db8::/32" ), mpa ("2001:db8::1" )},
76+ {mpp ("127.0.0.0/8" ), mpa ("127.0.0.1" )},
77+ {mpp ("127.0.0.1/32" ), mpa ("127.0.0.1" )},
78+ {mpp ("192.168.1.0/24" ), mpa ("127.0.0.1" )},
8179}
8280
8381func ExampleTable_Lookup () {
@@ -89,15 +87,15 @@ func ExampleTable_Lookup() {
8987
9088 fmt .Println ()
9189
92- ip := a ("42.0.0.0" )
90+ ip := mpa ("42.0.0.0" )
9391 value , ok := rtbl .Lookup (ip )
9492 fmt .Printf ("Lookup: %-20v next-hop: %11v, ok: %v\n " , ip , value , ok )
9593
96- ip = a ("10.0.1.17" )
94+ ip = mpa ("10.0.1.17" )
9795 value , ok = rtbl .Lookup (ip )
9896 fmt .Printf ("Lookup: %-20v next-hop: %11v, ok: %v\n " , ip , value , ok )
9997
100- ip = a ("2001:7c0:3100:1::111" )
98+ ip = mpa ("2001:7c0:3100:1::111" )
10199 value , ok = rtbl .Lookup (ip )
102100 fmt .Printf ("Lookup: %-20v next-hop: %11v, ok: %v\n " , ip , value , ok )
103101
0 commit comments