From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jakub Kicinski Subject: Re: [PATCH net-next 6/6] netdevsim: Add simple FIB resource controller via devlink Date: Tue, 27 Mar 2018 18:34:50 -0700 Message-ID: <20180327183450.34d6e9b6@cakuba.netronome.com> References: <20180328012200.15175-1-dsa@cumulusnetworks.com> <20180328012200.15175-7-dsa@cumulusnetworks.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, davem@davemloft.net, roopa@cumulusnetworks.com, shm@cumulusnetworks.com, jiri@mellanox.com, idosch@mellanox.com, andy.roulin@gmail.com To: David Ahern Return-path: Received: from mail-qt0-f181.google.com ([209.85.216.181]:36482 "EHLO mail-qt0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752705AbeC1Bey (ORCPT ); Tue, 27 Mar 2018 21:34:54 -0400 Received: by mail-qt0-f181.google.com with SMTP id f16so949037qth.3 for ; Tue, 27 Mar 2018 18:34:54 -0700 (PDT) In-Reply-To: <20180328012200.15175-7-dsa@cumulusnetworks.com> Sender: netdev-owner@vger.kernel.org List-ID: On Tue, 27 Mar 2018 18:22:00 -0700, David Ahern wrote: > +void nsim_devlink_setup(struct netdevsim *ns) > +{ > + struct net *net = nsim_to_net(ns); > + 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; > + > + err = devlink_register(devlink, &ns->dev); > + if (err) > + goto err_devlink_free; > + > + err = devlink_resources_register(devlink); > + if (err) > + goto err_dl_unregister; > + > + ns->devlink = devlink; > + > + *reg_devlink = false; > + > + return; > + > +err_dl_unregister: > + devlink_unregister(devlink); > +err_devlink_free: > + devlink_free(devlink); > +} nit: DaveM expressed preference to not have silent failures in a discussion about DebugFS, not sure it applies here, but why not handle errors?