mirror of https://github.com/jetkvm/kvm.git
fix dhcp6 logger
This commit is contained in:
parent
78f0479b6b
commit
45b55fe89f
|
|
@ -1,18 +1,18 @@
|
|||
package jetdhcpc
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net"
|
||||
"time"
|
||||
|
||||
"github.com/insomniacslk/dhcp/dhcpv6"
|
||||
"github.com/insomniacslk/dhcp/dhcpv6/nclient6"
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/vishvananda/netlink"
|
||||
)
|
||||
|
||||
// isIPv6LinkReady returns true if the interface has a link-local address
|
||||
// which is not tentative.
|
||||
func isIPv6LinkReady(l netlink.Link) (bool, error) {
|
||||
func isIPv6LinkReady(l netlink.Link, logger *zerolog.Logger) (bool, error) {
|
||||
addrs, err := netlink.AddrList(l, 10) // AF_INET6
|
||||
if err != nil {
|
||||
return false, err
|
||||
|
|
@ -20,7 +20,7 @@ func isIPv6LinkReady(l netlink.Link) (bool, error) {
|
|||
for _, addr := range addrs {
|
||||
if addr.IP.IsLinkLocalUnicast() && (addr.Flags&0x40 == 0) { // IFA_F_TENTATIVE
|
||||
if addr.Flags&0x80 != 0 { // IFA_F_DADFAILED
|
||||
log.Printf("DADFAILED for %v, continuing anyhow", addr.IP)
|
||||
logger.Warn().Str("address", addr.IP.String()).Msg("DADFAILED for address, continuing anyhow")
|
||||
}
|
||||
return true, nil
|
||||
}
|
||||
|
|
@ -30,7 +30,7 @@ func isIPv6LinkReady(l netlink.Link) (bool, error) {
|
|||
|
||||
// isIPv6RouteReady returns true if serverAddr is reachable.
|
||||
func isIPv6RouteReady(serverAddr net.IP) waitForCondition {
|
||||
return func(l netlink.Link) (bool, error) {
|
||||
return func(l netlink.Link, logger *zerolog.Logger) (bool, error) {
|
||||
if serverAddr.IsMulticast() {
|
||||
return true, nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@ import (
|
|||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/rs/zerolog"
|
||||
"github.com/vishvananda/netlink"
|
||||
)
|
||||
|
||||
type waitForCondition func(l netlink.Link) (ready bool, err error)
|
||||
type waitForCondition func(l netlink.Link, logger *zerolog.Logger) (ready bool, err error)
|
||||
|
||||
func (c *Client) waitFor(
|
||||
link netlink.Link,
|
||||
|
|
@ -15,18 +16,19 @@ func (c *Client) waitFor(
|
|||
condition waitForCondition,
|
||||
timeoutError error,
|
||||
) error {
|
||||
return waitFor(c.ctx, link, timeout, condition, timeoutError)
|
||||
return waitFor(c.ctx, link, c.l, timeout, condition, timeoutError)
|
||||
}
|
||||
|
||||
func waitFor(
|
||||
ctx context.Context,
|
||||
link netlink.Link,
|
||||
logger *zerolog.Logger,
|
||||
timeout <-chan time.Time,
|
||||
condition waitForCondition,
|
||||
timeoutError error,
|
||||
) error {
|
||||
for {
|
||||
if ready, err := condition(link); err != nil {
|
||||
if ready, err := condition(link, logger); err != nil {
|
||||
return err
|
||||
} else if ready {
|
||||
break
|
||||
|
|
|
|||
|
|
@ -419,7 +419,6 @@ func (nm *NetlinkManager) ReconcileLinkAddrs(link *Link, expected []*types.IPAdd
|
|||
|
||||
for _, addr := range expected {
|
||||
ipCidr := addr.Address.IP.String() + "/" + addr.Address.Mask.String()
|
||||
nm.logger.Trace().Str("address", ipCidr).Msg("adding expected address")
|
||||
expectedAddrs[ipCidr] = true
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue