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
}