Message ID | 20220214013852.2803940-1-jmaloy@redhat.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 032062f363b4bf02b1d547f329aa5d97b6a17410 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] tipc: fix wrong publisher node address in link publications | expand |
Hello: This patch was applied to netdev/net.git (master) by Jakub Kicinski <kuba@kernel.org>: On Sun, 13 Feb 2022 20:38:52 -0500 you wrote: > From: Jon Maloy <jmaloy@redhat.com> > > When a link comes up we add its presence to the name table to make it > possible for users to subscribe for link up/down events. However, after > a previous call signature change the binding is wrongly published with > the peer node as publishing node, instead of the own node as it should > be. This has the effect that the command 'tipc name table show' will > list the link binding (service type 2) with node scope and a peer node > as originator, something that obviously is impossible. > > [...] Here is the summary with links: - [net] tipc: fix wrong publisher node address in link publications https://git.kernel.org/netdev/net/c/032062f363b4 You are awesome, thank you!
Hi Jon, It seems this fix caused a problem with user type service as its always treated as node scope. The sending side does not know a service binding on peer node as it looks up on itself node address. Regards, Hoang > -----Original Message----- > From: jmaloy@redhat.com <jmaloy@redhat.com> > Sent: Monday, February 14, 2022 8:39 AM > To: netdev@vger.kernel.org; davem@davemloft.net > Cc: kuba@kernel.org; tipc-discussion@lists.sourceforge.net; Tung Quang Nguyen <tung.q.nguyen@dektech.com.au>; Hoang Huu Le > <hoang.h.le@dektech.com.au>; Tuong Tong Lien <tuong.t.lien@dektech.com.au>; jmaloy@redhat.com; maloy@donjonn.com; > xinl@redhat.com; ying.xue@windriver.com; parthasarathy.bhuvaragan@gmail.com > Subject: [net] tipc: fix wrong publisher node address in link publications > > From: Jon Maloy <jmaloy@redhat.com> > > When a link comes up we add its presence to the name table to make it > possible for users to subscribe for link up/down events. However, after > a previous call signature change the binding is wrongly published with > the peer node as publishing node, instead of the own node as it should > be. This has the effect that the command 'tipc name table show' will > list the link binding (service type 2) with node scope and a peer node > as originator, something that obviously is impossible. > > We correct this bug here. > > Fixes: 50a3499ab853 ("tipc: simplify signature of tipc_namtbl_publish()") > > Signed-off-by: Jon Maloy <jmaloy@redhat.com> > --- > net/tipc/node.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/tipc/node.c b/net/tipc/node.c > index 9947b7dfe1d2..fd95df338da7 100644 > --- a/net/tipc/node.c > +++ b/net/tipc/node.c > @@ -413,7 +413,7 @@ static void tipc_node_write_unlock(struct tipc_node *n) > tipc_uaddr(&ua, TIPC_SERVICE_RANGE, TIPC_NODE_SCOPE, > TIPC_LINK_STATE, n->addr, n->addr); > sk.ref = n->link_id; > - sk.node = n->addr; > + sk.node = tipc_own_addr(net); > bearer_id = n->link_id & 0xffff; > publ_list = &n->publ_list; > > -- > 2.31.1
diff --git a/net/tipc/node.c b/net/tipc/node.c index 9947b7dfe1d2..fd95df338da7 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c @@ -413,7 +413,7 @@ static void tipc_node_write_unlock(struct tipc_node *n) tipc_uaddr(&ua, TIPC_SERVICE_RANGE, TIPC_NODE_SCOPE, TIPC_LINK_STATE, n->addr, n->addr); sk.ref = n->link_id; - sk.node = n->addr; + sk.node = tipc_own_addr(net); bearer_id = n->link_id & 0xffff; publ_list = &n->publ_list;