tree 9ce15c2420cab16d88555cab043feab45ba99678
parent b5b37acaac3661ee9fabbf3cc4ab5026cd534f41
author Elliott Hughes <enh@google.com> 1464212857 -0700
committer Elliott Hughes <enh@google.com> 1464212857 -0700

Stop building toybox route.

From the commit that stopped creating the symlink:

    We should remove the "route" command because its output is irrelevant and
    misleading. This is because it only looks at the "main" routing table,
    which is a last resort routing table that is a) trumped by all other
    networks, b) empty except for directly-connected routes c) cannot even be
    used by non-root users.

    The proper way to understand device routing is to look at the output of
    "ip rule" and "ip route", both of which are already available.

    Example of how this is confusing:

      $ adb shell route
      Kernel IP routing table
      Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
      160.249.218.72  *               255.255.255.248 U     0      0        0 rmnet_data0
      192.168.144.0   *               255.255.240.0   U     0      0        0 wlan0

    These aren't guaranteed to be used. For example, according to the output
    above 160.249.218.73 should go through rmnet_data0, but it doesn't:

      $ adb shell ip route get 160.249.218.73
      160.249.218.73 via 192.168.159.254 dev wlan0  src 192.168.159.164  uid 0
          cache

    Also, there is no default route. But the device has networking just fine:

      $ adb shell ip route get 8.8.8.8
      8.8.8.8 via 192.168.159.254 dev wlan0  src 192.168.159.164  uid 0
          cache

Bug: http://b/27603033
Change-Id: I40be0a7e2841144797a67f9aeb82b9097cec5400
