code: func (h *Handle) RouteGet(destination net.IP) ([]Route, error) {
  	req := h.newNetlinkRequest(unix.RTM_GETROUTE, unix.NLM_F_REQUEST)
  	family := nl.GetIPFamily(destination)
  	var destinationData []byte
  	var bitlen uint8
  	if family == FAMILY_V4 {
  		destinationData = destination.To4()
  		bitlen = 32
  	} else {
  		destinationData = destination.To16()
  		bitlen = 128
  	}
  	msg := &nl.RtMsg{}
  	msg.Family = uint8(family)
  	msg.Dst_len = bitlen
  	req.AddData(msg)
  
  	rtaDst := nl.NewRtAttr(unix.RTA_DST, destinationData)
  	req.AddData(rtaDst)
  
  	msgs, err := req.Execute(unix.NETLINK_ROUTE, unix.RTM_NEWROUTE)
  	if err != nil {
  		return nil, err
  	}
  
  	var res []Route
  	for _, m := range msgs {
  		route, err := deserializeRoute(m)
  		if err != nil {
  			return nil, err
  		}
  		res = append(res, route)
  	}
  	return res, nil
  
  }
docs: // RouteGet gets a route to a specific destination from the host system.
  // Equivalent to: 'ip route get'.