Subject: Re: Unplug ethernet cable, the route persists. Why?

From: Jarek Poplawski <[email-masked]>
Date: Thu, 25 Nov 2010 23:18:35 +0100

Ben Gamari wrote:
> On Wed, 24 Nov 2010 12:29:43 -0800 (PST), Mike Caoco <[email-masked]> wrote:
>> So if you rely on NetworkManager or Connman or Quagga to remove the
>> route, the routing daemons will recompute the route table anyway.  So
>> why cannot this be done in the kernel?
> 
> This is policy. In the Linux world we generally strive to separate
> policy from mechanism, leaving the former to userspace. This allows
> (potentially complex) policy decisions to be made in user-space. The
> reason for this is two-fold: First, every line of kernel code introduces
> the potentially for a bug and error handling in the kernel is generally
> more complex than it is in user-space. Secondly, allowing user-space to
> handle policy allows users to do things with the kernel that kernel
> developers did not envision. This flexibility is one reason why the
> kernel is so suited for running on anything from your cell-phone to 4000
> processor big iron.

Secondly and a half, if you add a specific route you may really
mean it, and prefer not to send at all than use default.

Cheers,
Jarek P.