Re: [PATCH RFC/RFT net-next 00/17] net: Convert neighbor tables to per-namespace

From: David Ahern
Date: Wed Jul 25 2018 - 14:13:36 EST


On 7/25/18 11:38 AM, Eric W. Biederman wrote:
>
> Absolutely NOT. Global thresholds are exactly correct given the fact
> you are running on a single kernel.
>
> Memory is not free (Even though we are swimming in enough of it memory
> rarely matters). One of the few remaining challenges is for containers
> is finding was to limit resources in such a way that one application
> does not mess things up for another container during ordinary usage.
>
> It looks like the neighbour tables absolutely are that kind of problem,
> because the artificial limits are too strict. Completely giving up on
> limits does not seem right approach either. We need to fix the limits
> we have (perhaps making them go away entirely), not just apply a
> band-aid. Let's get to the bottom of this and make the system better.

Eric: yes, they all share the global resource of memory and there should
be limits on how many entries a remote entity can create.

Network namespaces can provide a separation such that one namespace does
not disrupt networking in another. It is absolutely appropriate to do
so. Your rigid stance is inconsistent given the basic meaning of a
network namespace and the parallels to this same problem -- bridges,
vxlans, and ip fragments. Only neighbor tables are not per-device or per
namespace; your insistence on global limits is missing the mark and wrong.