Thread (26 messages) 26 messages, 3 authors, 2025-02-14

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

From: Xiao Liang <hidden>
Date: 2025-02-13 10:01:39
Also in: batman, bpf, bridge, linux-can, linux-kselftest, linux-rdma, linux-wireless, lkml

On Thu, Feb 13, 2025 at 5:17 PM Paolo Abeni [off-list ref] wrote:
On 2/13/25 9:36 AM, Xiao Liang wrote:
quoted
On Thu, Feb 13, 2025 at 2:54 PM Kuniyuki Iwashima [off-list ref] wrote:
[...]
quoted
quoted
diff --git a/include/linux/if_macvlan.h b/include/linux/if_macvlan.h
index 523025106a64..0f7281e3e448 100644
--- a/include/linux/if_macvlan.h
+++ b/include/linux/if_macvlan.h
@@ -59,8 +59,10 @@ static inline void macvlan_count_rx(const struct macvlan_dev *vlan,

 extern void macvlan_common_setup(struct net_device *dev);

-extern int macvlan_common_newlink(struct net *src_net, struct net_device *dev,
-                               struct nlattr *tb[], struct nlattr *data[],
+struct rtnl_newlink_params;
You can just include <net/rtnetlink.h> and remove it from .c
files, then this forward declaration will be unnecessary.
OK. Was not sure if it's desirable to include include/net files from
include/linux.
I think we are better of with the forward declaration instead of adding
more intra header dependencies, which will slow down the build and will
produces artifacts in the CI runs (increases of reported warning in the
incremental build, as any warns from the included header will be
'propagated' to more files).
quoted
quoted
quoted
+extern int macvlan_common_newlink(struct net_device *dev,
+                               struct rtnl_newlink_params *params,
                                struct netlink_ext_ack *extack);

 extern void macvlan_dellink(struct net_device *dev, struct list_head *head);

[...]
quoted
diff --git a/include/net/rtnetlink.h b/include/net/rtnetlink.h
index bc0069a8b6ea..00c086ca0c11 100644
--- a/include/net/rtnetlink.h
+++ b/include/net/rtnetlink.h
@@ -69,6 +69,42 @@ static inline int rtnl_msg_family(const struct nlmsghdr *nlh)
              return AF_UNSPEC;
 }

+/**
+ *   struct rtnl_newlink_params - parameters of rtnl_link_ops::newlink()
The '\t' after '*' should be single '\s'.

Same for lines below.
This is copied from other structs in the same file. Should I change it?
https://elixir.bootlin.com/linux/v6.13.2/source/Documentation/process/maintainer-netdev.rst#L376

In this series, just use the good formatting for the new code.
Got it. Thanks.
Thanks,

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help