func()

in pkg/initalizer/iproute/link.go [71:94]


func (l *agentLink) SetupForAddrFamily(ctx context.Context, addrFamily AddrFamily) error {
	// override ctx with logger with metadata
	log := logger.FromContext(ctx)

	if addrFamily.LinkLocalAddr == nil {
		return fmt.Errorf("family 0x%02x does not specify a link-local addr to bind to", addrFamily.Family)
	}

	isIpAttachedToLink, err := l.isIpAttachedToLink(ctx, addrFamily.Family, addrFamily.LinkLocalAddr)
	if err != nil {
		return err
	}

	if !isIpAttachedToLink {
		log.Infof("Adding IP %s to %v as it was not found on interface", addrFamily.LinkLocalAddr, l.link.Attrs().Name)
		if err = l.addIpToLink(addrFamily.LinkLocalAddr); err != nil {
			return err
		}
	} else {
		log.Infof("Found IP %s on interface %s, continuing", addrFamily.LinkLocalAddr, l.link.Attrs().Name)
	}

	return nil
}