What does "proto kernel" means in Unix Routing Table?

Alejandro Sanz Díaz picture Alejandro Sanz Díaz · Apr 21, 2012 · Viewed 28.3k times · Source

I've been searching this in linux-ip.net and the whole internet but does appears nothing. What does the "proto kernel" part means in a Routing Table?

Just an example:

[root@tristan]# ip route show table local
local 192.168.99.35 dev eth0 proto kernel scope host src 192.168.99.35
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1

Answer

dschulz picture dschulz · Apr 21, 2012

excerpt from man ip(8):

  protocol RTPROTO
          the routing protocol identifier of this route.
          RTPROTO may be a number or a string from the
          file /etc/iproute2/rt_protos. If the routing
          protocol ID is not  given,  ip  assumes  protocol
          boot (i.e. it assumes the route was added by 
          someone who doesn't understand what they are doing).
          Several protocol values have a fixed interpretation.
          Namely:

             redirect - the route was installed due to an ICMP redirect.

             kernel - the route was installed by the kernel during
                   autoconfiguration.

             boot - the route was installed during the bootup sequence.
                 If a routing daemon starts, it will purge all of them.

             static - the route was installed by the administrator to
                   override dynamic routing. Routing daemon will
                   respect them and, probably, even advertise them
                   to its peers.

             ra - the route was installed by Router Discovery protocol.

          The rest of the values are not reserved and the administrator is free
          to assign (or not to assign) protocol tags.