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?