26 lines
601 B
Go
26 lines
601 B
Go
//go:build linux
|
|||
|
|
|
||
|
|
package agent
|
||
|
|
|
||
|
|
import (
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"golang.org/x/sys/unix"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestPodLinkLocalAddr(t *testing.T) {
|
||
|
|
addr := podLinkLocalAddr()
|
||
|
|
if got, want := addr.IP.String(), "fe80::2"; got != want {
|
||
|
|
t.Fatalf("pod link-local IP = %s, want %s", got, want)
|
||
|
|
}
|
||
|
|
if ones, bits := addr.Mask.Size(); ones != 64 || bits != 128 {
|
||
|
|
t.Fatalf("pod link-local mask = %d/%d, want 64/128", ones, bits)
|
||
|
|
}
|
||
|
|
if addr.Flags&unix.IFA_F_NODAD == 0 {
|
||
|
|
t.Fatal("pod link-local address must disable DAD")
|
||
|
|
}
|
||
|
|
if addr.IP.Equal(linkLocalGW) {
|
||
|
|
t.Fatal("pod and gateway link-local addresses must differ")
|
||
|
|
}
|
||
|
|
}
|