summaryrefslogtreecommitdiff
path: root/net/tipc/discover.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/discover.c')
-rw-r--r--net/tipc/discover.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/net/tipc/discover.c b/net/tipc/discover.c
index 09f75558d353..669af125b3de 100644
--- a/net/tipc/discover.c
+++ b/net/tipc/discover.c
@@ -161,18 +161,17 @@ void tipc_disc_rcv(struct net *net, struct sk_buff *skb,
return;
if (net_id != tn->net_id)
return;
- if (!tipc_addr_domain_valid(dst))
- return;
- if (!tipc_addr_node_valid(src))
- return;
if (in_own_node(net, src)) {
disc_dupl_alert(b, self, &maddr);
return;
}
- if (!tipc_in_scope(dst, self))
- return;
- if (!tipc_in_scope(b->domain, src))
- return;
+ /* Domain filter only works if both peers use legacy address format */
+ if (b->domain) {
+ if (!tipc_in_scope(dst, self))
+ return;
+ if (!tipc_in_scope(b->domain, src))
+ return;
+ }
tipc_node_check_dest(net, src, b, caps, signature,
&maddr, &respond, &dupl_addr);
if (dupl_addr)