$OpenBSD: patch-src_pkg_syscall_route_bsd_go,v 1.1 2013/12/02 15:35:49 jsing Exp $
--- src/pkg/syscall/route_bsd.go.orig	Fri Nov 29 08:38:29 2013
+++ src/pkg/syscall/route_bsd.go	Mon Dec  2 13:06:54 2013
@@ -199,13 +199,20 @@ func (m *InterfaceAddrMessage) sockaddr() (sas []Socka
 // ParseRoutingMessage parses b as routing messages and returns the
 // slice containing the RoutingMessage interfaces.
 func ParseRoutingMessage(b []byte) (msgs []RoutingMessage, err error) {
+	msgCount := 0
 	for len(b) >= anyMessageLen {
+		msgCount++
 		any := (*anyMessage)(unsafe.Pointer(&b[0]))
 		if any.Version != RTM_VERSION {
-			return nil, EINVAL
+			b = b[any.Msglen:]
+			continue
 		}
 		msgs = append(msgs, any.toRoutingMessage(b))
 		b = b[any.Msglen:]
+	}
+	// We failed to parse any of the messages - version mismatch?
+	if msgCount > 0 && len(msgs) == 0 {
+		return nil, EINVAL
 	}
 	return msgs, nil
 }
