summaryrefslogtreecommitdiffstats
path: root/net/tipc/addr.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/addr.c')
-rw-r--r--net/tipc/addr.c50
1 files changed, 1 insertions, 49 deletions
diff --git a/net/tipc/addr.c b/net/tipc/addr.c
index 97cd857d7f43..dfc31a730ca5 100644
--- a/net/tipc/addr.c
+++ b/net/tipc/addr.c
@@ -39,21 +39,6 @@
39#include "core.h" 39#include "core.h"
40 40
41/** 41/**
42 * in_own_cluster - test for cluster inclusion; <0.0.0> always matches
43 */
44int in_own_cluster(struct net *net, u32 addr)
45{
46 return in_own_cluster_exact(net, addr) || !addr;
47}
48
49int in_own_cluster_exact(struct net *net, u32 addr)
50{
51 struct tipc_net *tn = net_generic(net, tipc_net_id);
52
53 return !((addr ^ tn->own_addr) >> 12);
54}
55
56/**
57 * in_own_node - test for node inclusion; <0.0.0> always matches 42 * in_own_node - test for node inclusion; <0.0.0> always matches
58 */ 43 */
59int in_own_node(struct net *net, u32 addr) 44int in_own_node(struct net *net, u32 addr)
@@ -63,46 +48,13 @@ int in_own_node(struct net *net, u32 addr)
63 return (addr == tn->own_addr) || !addr; 48 return (addr == tn->own_addr) || !addr;
64} 49}
65 50
66/**
67 * tipc_addr_domain_valid - validates a network domain address
68 *
69 * Accepts <Z.C.N>, <Z.C.0>, <Z.0.0>, and <0.0.0>,
70 * where Z, C, and N are non-zero.
71 *
72 * Returns 1 if domain address is valid, otherwise 0
73 */
74int tipc_addr_domain_valid(u32 addr)
75{
76 u32 n = tipc_node(addr);
77 u32 c = tipc_cluster(addr);
78 u32 z = tipc_zone(addr);
79
80 if (n && (!z || !c))
81 return 0;
82 if (c && !z)
83 return 0;
84 return 1;
85}
86
87/**
88 * tipc_addr_node_valid - validates a proposed network address for this node
89 *
90 * Accepts <Z.C.N>, where Z, C, and N are non-zero.
91 *
92 * Returns 1 if address can be used, otherwise 0
93 */
94int tipc_addr_node_valid(u32 addr)
95{
96 return tipc_addr_domain_valid(addr) && tipc_node(addr);
97}
98
99int tipc_in_scope(u32 domain, u32 addr) 51int tipc_in_scope(u32 domain, u32 addr)
100{ 52{
101 if (!domain || (domain == addr)) 53 if (!domain || (domain == addr))
102 return 1; 54 return 1;
103 if (domain == tipc_cluster_mask(addr)) /* domain <Z.C.0> */ 55 if (domain == tipc_cluster_mask(addr)) /* domain <Z.C.0> */
104 return 1; 56 return 1;
105 if (domain == tipc_zone_mask(addr)) /* domain <Z.0.0> */ 57 if (domain == (addr & TIPC_ZONE_MASK)) /* domain <Z.0.0> */
106 return 1; 58 return 1;
107 return 0; 59 return 0;
108} 60}