Re: [PATCH net-next v7 02/11] rtnetlink: Pack newlink() params into struct
Jakub Kicinski <[email protected]>
| Newsgroups | org.kernel.vger.linux-ppp,com.zx2c4.lists.wireguard,dev.linux.lists.bridge,org.kernel.vger.bpf,org.kernel.vger.linux-can,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest,org.kernel.vger.linux-rdma,org.kernel.vger.linux-wireless,org.kernel.vger.linux-wpan,org.kernel.vger.netdev,org.open-mesh.lists.batman |
|---|---|
| Message-ID | <[email protected]> |
On Wed, 8 Jan 2025 16:36:26 +0800 Xiao Liang wrote: > On Wed, Jan 8, 2025 at 4:38 AM Jakub Kicinski <[email protected]> wrote: > > > > On Sat, 4 Jan 2025 20:57:23 +0800 Xiao Liang wrote: > > > -static int amt_newlink(struct net *net, struct net_device *dev, > > > - struct nlattr *tb[], struct nlattr *data[], > > > - struct netlink_ext_ack *extack) > > > +static int amt_newlink(struct rtnl_newlink_params *params) > > > { > > > - struct amt_dev *amt = netdev_priv(dev); > > > + struct netlink_ext_ack *extack = params->extack; > > > + struct net_device *dev = params->dev; > > > + struct nlattr **data = params->data; > > > + struct nlattr **tb = params->tb; > > > + struct net *net = params->net; > > > + struct amt_dev *amt; > > > > IMHO you packed a little too much into the struct. > > Could you take the dev and the extack back out? > > Sure. I thought you were suggesting packing them all > in review of v3... Sorry about that, I wasn't very clear :( What I had in mind was similar to how we define ethtool ops, (especially the more recent ones which have extack) for example: int (*set_mm)(struct net_device *dev, struct ethtool_mm_cfg *cfg, struct netlink_ext_ack *extack);