func findIPv6Address(addr netlink.Addr, addresses []netlink.Addr) bool { for _, addrv6 := range addresses { if addrv6.String() == addr.String() { return true } } return false }
func (t *Mocker) AddrAdd(link netlink.Link, addr *netlink.Addr) error { defer trace.End(trace.Begin(fmt.Sprintf("Adding %s to %s", addr.String(), link.Attrs().Name))) iface := link.(*Interface) for _, adr := range iface.Addrs { if addr.IP.String() == adr.IP.String() { return syscall.EEXIST } } iface.Addrs = append(iface.Addrs, *addr) return nil }
func (t *Mocker) AddrAdd(link netlink.Link, addr *netlink.Addr) error { defer trace.End(trace.Begin(fmt.Sprintf("Adding %s to %s", addr.String(), link.Attrs().Name))) iface := link.(*Interface) for _, adr := range iface.Addrs { if addr.IP.String() == adr.IP.String() { return fmt.Errorf("IP already assigned to %#v", adr) } if addr.Label == adr.Label { return fmt.Errorf("Label already assigned to %#v", adr) } } iface.Addrs = append(iface.Addrs, *addr) return nil }