From: Jon Maloy <jma...@redhat.com>

We follow up the preceding commits by reducing the signature of
the function tipc_nametbl_lookup_mcast_nodes().

Signed-off-by: Jon Maloy <jma...@redhat.com>
---
 net/tipc/name_table.c |  8 ++++----
 net/tipc/name_table.h |  4 ++--
 net/tipc/socket.c     | 16 +++++++---------
 3 files changed, 13 insertions(+), 15 deletions(-)

diff --git a/net/tipc/name_table.c b/net/tipc/name_table.c
index ea4356dfb47d..23af099370fb 100644
--- a/net/tipc/name_table.c
+++ b/net/tipc/name_table.c
@@ -701,20 +701,20 @@ void tipc_nametbl_lookup_mcast_sockets(struct net *net, 
struct tipc_uaddr *ua,
  * Used on nodes which are sending out a multicast/broadcast message
  * Returns a list of nodes, including own node if applicable
  */
-void tipc_nametbl_lookup_mcast_nodes(struct net *net, u32 type, u32 lower,
-                                    u32 upper, struct tipc_nlist *nodes)
+void tipc_nametbl_lookup_mcast_nodes(struct net *net, struct tipc_uaddr *ua,
+                                    struct tipc_nlist *nodes)
 {
        struct service_range *sr;
        struct tipc_service *sc;
        struct publication *p;
 
        rcu_read_lock();
-       sc = tipc_service_find(net, type);
+       sc = tipc_service_find(net, ua->sr.type);
        if (!sc)
                goto exit;
 
        spin_lock_bh(&sc->lock);
-       service_range_foreach_match(sr, sc, lower, upper) {
+       service_range_foreach_match(sr, sc, ua->sr.lower, ua->sr.upper) {
                list_for_each_entry(p, &sr->all_publ, all_publ) {
                        tipc_nlist_add(nodes, p->sk.node);
                }
diff --git a/net/tipc/name_table.h b/net/tipc/name_table.h
index 368a76f73892..259ba514193e 100644
--- a/net/tipc/name_table.h
+++ b/net/tipc/name_table.h
@@ -115,8 +115,8 @@ bool tipc_nametbl_lookup_anycast(struct net *net, struct 
tipc_uaddr *ua,
                                 struct tipc_socket_addr *sk);
 void tipc_nametbl_lookup_mcast_sockets(struct net *net, struct tipc_uaddr *ua,
                                       bool exact, struct list_head *dports);
-void tipc_nametbl_lookup_mcast_nodes(struct net *net, u32 type, u32 lower,
-                                    u32 upper, struct tipc_nlist *nodes);
+void tipc_nametbl_lookup_mcast_nodes(struct net *net, struct tipc_uaddr *ua,
+                                    struct tipc_nlist *nodes);
 bool tipc_nametbl_lookup_group(struct net *net, u32 type, u32 instance,
                               u32 domain, struct list_head *dsts,
                               int *dstcnt, u32 exclude,
diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 68d457c41c89..7d4807d0e2d1 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -840,7 +840,7 @@ static __poll_t tipc_poll(struct file *file, struct socket 
*sock,
  * Called from function tipc_sendmsg(), which has done all sanity checks
  * Return: the number of bytes sent on success, or errno
  */
-static int tipc_sendmcast(struct  socket *sock, struct tipc_service_range *seq,
+static int tipc_sendmcast(struct  socket *sock, struct tipc_uaddr *ua,
                          struct msghdr *msg, size_t dlen, long timeout)
 {
        struct sock *sk = sock->sk;
@@ -848,7 +848,6 @@ static int tipc_sendmcast(struct  socket *sock, struct 
tipc_service_range *seq,
        struct tipc_msg *hdr = &tsk->phdr;
        struct net *net = sock_net(sk);
        int mtu = tipc_bcast_get_mtu(net);
-       struct tipc_mc_method *method = &tsk->mc_method;
        struct sk_buff_head pkts;
        struct tipc_nlist dsts;
        int rc;
@@ -863,8 +862,7 @@ static int tipc_sendmcast(struct  socket *sock, struct 
tipc_service_range *seq,
 
        /* Lookup destination nodes */
        tipc_nlist_init(&dsts, tipc_own_addr(net));
-       tipc_nametbl_lookup_mcast_nodes(net, seq->type, seq->lower,
-                                       seq->upper, &dsts);
+       tipc_nametbl_lookup_mcast_nodes(net, ua, &dsts);
        if (!dsts.local && !dsts.remote)
                return -EHOSTUNREACH;
 
@@ -874,9 +872,9 @@ static int tipc_sendmcast(struct  socket *sock, struct 
tipc_service_range *seq,
        msg_set_lookup_scope(hdr, TIPC_CLUSTER_SCOPE);
        msg_set_destport(hdr, 0);
        msg_set_destnode(hdr, 0);
-       msg_set_nametype(hdr, seq->type);
-       msg_set_namelower(hdr, seq->lower);
-       msg_set_nameupper(hdr, seq->upper);
+       msg_set_nametype(hdr, ua->sr.type);
+       msg_set_namelower(hdr, ua->sr.lower);
+       msg_set_nameupper(hdr, ua->sr.upper);
 
        /* Build message as chain of buffers */
        __skb_queue_head_init(&pkts);
@@ -886,7 +884,7 @@ static int tipc_sendmcast(struct  socket *sock, struct 
tipc_service_range *seq,
        if (unlikely(rc == dlen)) {
                trace_tipc_sk_sendmcast(sk, skb_peek(&pkts),
                                        TIPC_DUMP_SK_SNDQ, " ");
-               rc = tipc_mcast_xmit(net, &pkts, method, &dsts,
+               rc = tipc_mcast_xmit(net, &pkts, &tsk->mc_method, &dsts,
                                     &tsk->cong_link_cnt);
        }
 
@@ -1479,7 +1477,7 @@ static int __tipc_sendmsg(struct socket *sock, struct 
msghdr *m, size_t dlen)
 
        /* Determine destination */
        if (atype == TIPC_SERVICE_RANGE) {
-               return tipc_sendmcast(sock, &ua->sr, m, dlen, timeout);
+               return tipc_sendmcast(sock, ua, m, dlen, timeout);
        } else if (atype == TIPC_SERVICE_ADDR) {
                skaddr.node = ua->lookup_node;
                ua->scope = skaddr.node ? TIPC_NODE_SCOPE : TIPC_CLUSTER_SCOPE;
-- 
2.28.0



_______________________________________________
tipc-discussion mailing list
tipc-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to