Thread (19 messages) 19 messages, 3 authors, 2025-01-08

Re: [PATCH net-next v7 02/11] rtnetlink: Pack newlink() params into struct

From: Jakub Kicinski <kuba@kernel.org>
Date: 2025-01-08 17:31:41
Also in: batman, bpf, bridge, linux-can, linux-kselftest, linux-rdma, linux-wireless, lkml

On Wed, 8 Jan 2025 16:36:26 +0800 Xiao Liang wrote:
On Wed, Jan 8, 2025 at 4:38 AM Jakub Kicinski [off-list ref] wrote:
quoted
On Sat,  4 Jan 2025 20:57:23 +0800 Xiao Liang wrote:  
quoted
-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);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help