mptcp: export mptcp_genl_family & mptcp_nl_fill_addr
authorGeliang Tang <tanggeliang@kylinos.cn>
Fri, 1 Mar 2024 18:18:26 +0000 (19:18 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 4 Mar 2024 13:07:45 +0000 (13:07 +0000)
This patch exports struct mptcp_genl_family and mptcp_nl_fill_addr() helper
to allow them can be used in pm_userspace.c.

Signed-off-by: Geliang Tang <tanggeliang@kylinos.cn>
Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mptcp/pm_netlink.c
net/mptcp/protocol.h

index 80c537659922f0f935856c35b962dee498c50932..e8cb887561e04d2cd715a5e53225b5a2f74ae354 100644 (file)
@@ -18,9 +18,6 @@
 #include "protocol.h"
 #include "mib.h"
 
-/* forward declaration */
-static struct genl_family mptcp_genl_family;
-
 static int pm_nl_pernet_id;
 
 struct mptcp_pm_add_entry {
@@ -1636,8 +1633,8 @@ int mptcp_pm_nl_flush_addrs_doit(struct sk_buff *skb, struct genl_info *info)
        return 0;
 }
 
-static int mptcp_nl_fill_addr(struct sk_buff *skb,
-                             struct mptcp_pm_addr_entry *entry)
+int mptcp_nl_fill_addr(struct sk_buff *skb,
+                      struct mptcp_pm_addr_entry *entry)
 {
        struct mptcp_addr_info *addr = &entry->addr;
        struct nlattr *attr;
@@ -2281,7 +2278,7 @@ nla_put_failure:
        nlmsg_free(skb);
 }
 
-static struct genl_family mptcp_genl_family __ro_after_init = {
+struct genl_family mptcp_genl_family __ro_after_init = {
        .name           = MPTCP_PM_NAME,
        .version        = MPTCP_PM_VER,
        .netnsok        = true,
index 5d034e8ca85af7f6bc27aa513bee7b96a31e59b0..10117715c57f1b3723dfda39826fec64aa4c479d 100644 (file)
@@ -343,6 +343,8 @@ struct mptcp_sock {
 #define mptcp_for_each_subflow_safe(__msk, __subflow, __tmp)                   \
        list_for_each_entry_safe(__subflow, __tmp, &((__msk)->conn_list), node)
 
+extern struct genl_family mptcp_genl_family;
+
 static inline void msk_owned_by_me(const struct mptcp_sock *msk)
 {
        sock_owned_by_me((const struct sock *)msk);
@@ -996,6 +998,8 @@ void __mptcp_fastopen_gen_msk_ackseq(struct mptcp_sock *msk, struct mptcp_subflo
                                     const struct mptcp_options_received *mp_opt);
 void mptcp_fastopen_subflow_synack_set_params(struct mptcp_subflow_context *subflow,
                                              struct request_sock *req);
+int mptcp_nl_fill_addr(struct sk_buff *skb,
+                      struct mptcp_pm_addr_entry *entry);
 
 static inline bool mptcp_pm_should_add_signal(struct mptcp_sock *msk)
 {