Exemple #1
0
func BenchmarkSummarizeIPv6(b *testing.B) {
	fip, lip := net.ParseIP("2001:db8::1:1"), net.ParseIP("2001:db8::1:ffff")

	for i := 0; i < b.N; i++ {
		ipaddr.Summarize(fip, lip)
	}
}
Exemple #2
0
func BenchmarkSummarizeIPv4(b *testing.B) {
	fip, lip := net.IPv4(172, 16, 1, 1), net.IPv4(172, 16, 255, 255)

	for i := 0; i < b.N; i++ {
		ipaddr.Summarize(fip, lip)
	}
}
Exemple #3
0
func TestSummarize(t *testing.T) {
	for i, tt := range summarizeTests {
		fip := net.ParseIP(tt.first)
		if fip == nil {
			t.Fatalf("non-IP address: %s", tt.first)
		}
		lip := net.ParseIP(tt.last)
		if lip == nil {
			t.Fatalf("non-IP address: %s", tt.last)
		}
		want := toPrefixes(tt.want)
		sort.Sort(byAscending(want))
		out := ipaddr.Summarize(fip, lip)
		if !reflect.DeepEqual(out, want) {
			t.Errorf("#%d: got %v; want %v", i, out, want)
		}
	}

	ipaddr.Summarize(nil, nil)
}
Exemple #4
0
func ExamplePrefix_addressRangeSummarization() {
	ps := ipaddr.Summarize(net.ParseIP("2001:db8::1"), net.ParseIP("2001:db8::8000"))
	for _, p := range ps {
		fmt.Println(p)
	}
	// Output:
	// 2001:db8::1/128
	// 2001:db8::2/127
	// 2001:db8::4/126
	// 2001:db8::8/125
	// 2001:db8::10/124
	// 2001:db8::20/123
	// 2001:db8::40/122
	// 2001:db8::80/121
	// 2001:db8::100/120
	// 2001:db8::200/119
	// 2001:db8::400/118
	// 2001:db8::800/117
	// 2001:db8::1000/116
	// 2001:db8::2000/115
	// 2001:db8::4000/114
	// 2001:db8::8000/128
}