Thread (27 messages) 27 messages, 4 authors, 2018-03-26

Re: [PATCH RFC net-next 7/7] netdevsim: Add simple FIB resource controller via devlink

From: David Ahern <hidden>
Date: 2018-03-23 15:12:39

On 3/23/18 9:05 AM, Jiri Pirko wrote:
Fri, Mar 23, 2018 at 04:03:40PM CET, dsa@cumulusnetworks.com wrote:
quoted
On 3/23/18 9:01 AM, Jiri Pirko wrote:
quoted
Fri, Mar 23, 2018 at 03:31:02PM CET, dsa@cumulusnetworks.com wrote:
quoted
On 3/23/18 12:50 AM, Jiri Pirko wrote:
quoted
quoted
+void nsim_devlink_setup(struct netdevsim *ns)
+{
+	struct net *net = dev_net(ns->netdev);
+	bool *reg_devlink = net_generic(net, nsim_devlink_id);
+	struct devlink *devlink;
+	int err = -ENOMEM;
+
+	/* only one device per namespace controls devlink */
+	if (!*reg_devlink) {
+		ns->devlink = NULL;
+		return;
+	}
+
+	devlink = devlink_alloc(&nsim_devlink_ops, 0);
+	if (!devlink)
+		return;
+
+	devlink_net_set(devlink, net);
+	err = devlink_register(devlink, &ns->dev);
This reg_devlink construct looks odd. Why don't you leave the devlink
instance in init_ns?
It is a per-network namespace resource controller. Since struct devlink
Wait a second. What do you mean by "per-network namespace"? Devlink
instance is always associated with one physical device. Like an ASIC.

quoted
has a net entry, the simplest design is to put it into the namespace of
the controller. Without it, controlling resource sizes in namespace
'foobar' has to be done from init_net, which is just wrong.
you need to look at how netdevsim creates a device per netdevice.
That means one devlink instance for each netdevsim device, doesn't it?
yes.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help