On Tue, Aug 06, 2019 at 08:33:47PM -0600, David Ahern wrote: > Some time back supported was added for devlink 'resources'. The idea is > that hardware (mlxsw) has limited resources (e.g., memory) that can be > allocated in certain ways (e.g., kvd for mlxsw) thus implementing > restrictions on the number of programmable entries (e.g., routes, > neighbors) by userspace. > > I contend: > > 1. The kernel is an analogy to the hardware: it is programmed by > userspace, has limited resources (e.g., memory), and that users want to > control (e.g., limit) the number of networking entities that can be > programmed - routes, rules, nexthop objects etc and by address family > (ipv4, ipv6). > > 2. A consistent operational model across use cases - s/w forwarding, XDP > forwarding and hardware forwarding - is good for users deploying systems > based on the Linux networking stack. This aligns with my basic point at > LPC last November about better integration of XDP and kernel tables.
Hi David Nice arguments. However, zoom out a bit, from networking to the whole kernel. In general, across the kernel as a whole, resource management is done with cgroups. cgroups is the consistent operational model across the kernel as a whole. So i think you need a second leg to your argument. You have said why devlink is the right way to do this. But you should also be able to say to Tejun Heo why cgroups is the wrong way to do this, going against the kernel as a whole model. Why is networking special? Andrew