Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tipc: add a function to get the bearer name

Introduce a new function to get the bearer name from
its id. This is used in subsequent commit.

Reviewed-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Parthasarathy Bhuvaragan and committed by
David S. Miller
ff0d3e78 bf1035b2

+22
+21
net/tipc/bearer.c
··· 171 171 return NULL; 172 172 } 173 173 174 + /* tipc_bearer_get_name - get the bearer name from its id. 175 + * @net: network namespace 176 + * @name: a pointer to the buffer where the name will be stored. 177 + * @bearer_id: the id to get the name from. 178 + */ 179 + int tipc_bearer_get_name(struct net *net, char *name, u32 bearer_id) 180 + { 181 + struct tipc_net *tn = tipc_net(net); 182 + struct tipc_bearer *b; 183 + 184 + if (bearer_id >= MAX_BEARERS) 185 + return -EINVAL; 186 + 187 + b = rtnl_dereference(tn->bearer_list[bearer_id]); 188 + if (!b) 189 + return -EINVAL; 190 + 191 + strcpy(name, b->name); 192 + return 0; 193 + } 194 + 174 195 void tipc_bearer_add_dest(struct net *net, u32 bearer_id, u32 dest) 175 196 { 176 197 struct tipc_net *tn = net_generic(net, tipc_net_id);
+1
net/tipc/bearer.h
··· 197 197 void tipc_bearer_add_dest(struct net *net, u32 bearer_id, u32 dest); 198 198 void tipc_bearer_remove_dest(struct net *net, u32 bearer_id, u32 dest); 199 199 struct tipc_bearer *tipc_bearer_find(struct net *net, const char *name); 200 + int tipc_bearer_get_name(struct net *net, char *name, u32 bearer_id); 200 201 struct tipc_media *tipc_media_find(const char *name); 201 202 void tipc_bearer_reset_all(struct net *net); 202 203 int tipc_bearer_setup(void);