wgengine/monitor: log RTM_DELROUTE details, fix format strings

Updates #643
pull/648/head
Brad Fitzpatrick 2020-08-05 20:44:05 -07:00
parent 2bd9ad4b40
commit 43bc86588e
1 changed files with 12 additions and 2 deletions

View File

@ -79,7 +79,7 @@ func (c *nlConn) Receive() (message, error) {
case unix.RTM_NEWADDR, unix.RTM_DELADDR:
var rmsg rtnetlink.AddressMessage
if err := rmsg.UnmarshalBinary(msg.Data); err != nil {
c.logf("failed to parse type 0x%x: %v", msg.Header.Type, err)
c.logf("failed to parse type %v: %v", msg.Header.Type, err)
return unspecifiedMessage{}, nil
}
return &newAddrMessage{
@ -99,8 +99,18 @@ func (c *nlConn) Receive() (message, error) {
Dst: netaddrIP(rmsg.Attributes.Dst),
Gateway: netaddrIP(rmsg.Attributes.Gateway),
}, nil
case unix.RTM_DELROUTE:
var rmsg rtnetlink.RouteMessage
if err := rmsg.UnmarshalBinary(msg.Data); err != nil {
c.logf("RTM_DELROUTE: failed to parse: %v", err)
return unspecifiedMessage{}, nil
}
// Just log it for now, but don't bubble it up.
// (Debugging https://github.com/tailscale/tailscale/issues/643)
c.logf("RTM_DELROUTE: %+v", rmsg)
return unspecifiedMessage{}, nil
default:
c.logf("unhandled netlink msg type 0x%x: %+v, %q", msg.Header.Type, msg.Header, msg.Data)
c.logf("unhandled netlink msg type %+v, %q", msg.Header, msg.Data)
return unspecifiedMessage{}, nil
}
}