routes.go
func (r *routes) calculateUnicast(establishedAndSymmetric bool) unicastRoutes {
	_, unicast := r.ourself.routes(nil, establishedAndSymmetric)
	return unicast
}
func (r *routes) calculateUnicast(establishedAndSymmetric bool) unicastRoutes {
	_, unicast := r.ourself.routes(nil, establishedAndSymmetric)
	return unicast
}
// Calculate all the routes for the question: if *we* want to send a
// packet to Peer X, what is the next hop?
//
// When we sniff a packet, we determine the destination peer
// ourself. Consequently, we can relay the packet via any
// arbitrary peers - the intermediate peers do not have to have
// any knowledge of the MAC address at all. Thus there's no need
// to exchange knowledge of MAC addresses, nor any constraints on
// the routes that we construct.