diff options
Diffstat (limited to 'net/tipc/addr.c')
-rw-r--r-- | net/tipc/addr.c | 50 |
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 | */ | ||
44 | int in_own_cluster(struct net *net, u32 addr) | ||
45 | { | ||
46 | return in_own_cluster_exact(net, addr) || !addr; | ||
47 | } | ||
48 | |||
49 | int 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 | */ |
59 | int in_own_node(struct net *net, u32 addr) | 44 | int 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 | */ | ||
74 | int 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 | */ | ||
94 | int tipc_addr_node_valid(u32 addr) | ||
95 | { | ||
96 | return tipc_addr_domain_valid(addr) && tipc_node(addr); | ||
97 | } | ||
98 | |||
99 | int tipc_in_scope(u32 domain, u32 addr) | 51 | int 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 | } |