Commit 6375da9d authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 'tipc-some-minor-improvements'

Jon Maloy says:

====================
tipc: some minor improvements

We add some improvements that will be useful in future commits.
====================

Link: https://lore.kernel.org/r/20201125182915.711370-1-jmaloy@redhat.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents fff4c746 b6f88d9c
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -55,12 +55,11 @@ bool tipc_in_scope(bool legacy_format, u32 domain, u32 addr)
void tipc_set_node_id(struct net *net, u8 *id)
{
	struct tipc_net *tn = tipc_net(net);
	u32 *tmp = (u32 *)id;

	memcpy(tn->node_id, id, NODE_ID_LEN);
	tipc_nodeid2string(tn->node_id_string, id);
	tn->trial_addr = tmp[0] ^ tmp[1] ^ tmp[2] ^ tmp[3];
	pr_info("Own node identity %s, cluster identity %u\n",
	tn->trial_addr = hash128to32(id);
	pr_info("Node identity %s, cluster identity %u\n",
		tipc_own_id_string(net), tn->net_id);
}

@@ -76,7 +75,7 @@ void tipc_set_node_addr(struct net *net, u32 addr)
	}
	tn->trial_addr = addr;
	tn->addr_trial_end = jiffies;
	pr_info("32-bit node address hash set to %x\n", addr);
	pr_info("Node number set to %u\n", addr);
}

char *tipc_nodeid2string(char *str, u8 *id)
+1 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
 *
 * Copyright (c) 2000-2006, 2018, Ericsson AB
 * Copyright (c) 2004-2005, Wind River Systems
 * Copyright (c) 2020, Red Hat Inc
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
+12 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
 *
 * Copyright (c) 2005-2006, 2013-2018 Ericsson AB
 * Copyright (c) 2005-2007, 2010-2013, Wind River Systems
 * Copyright (c) 2020, Red Hat Inc
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
@@ -210,6 +211,17 @@ static inline u32 tipc_net_hash_mixes(struct net *net, int tn_rand)
	return net_hash_mix(&init_net) ^ net_hash_mix(net) ^ tn_rand;
}

static inline u32 hash128to32(char *bytes)
{
	__be32 *tmp = (__be32 *)bytes;
	u32 res;

	res = ntohl(tmp[0] ^ tmp[1] ^ tmp[2] ^ tmp[3]);
	if (likely(res))
		return res;
	return  ntohl(tmp[0] | tmp[1] | tmp[2] | tmp[3]);
}

#ifdef CONFIG_SYSCTL
int tipc_register_sysctl(void);
void tipc_unregister_sysctl(void);
+2 −1
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
 * net/tipc/group.c: TIPC group messaging code
 *
 * Copyright (c) 2017, Ericsson AB
 * Copyright (c) 2020, Red Hat Inc
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
@@ -359,7 +360,7 @@ struct tipc_nlist *tipc_group_dests(struct tipc_group *grp)
	return &grp->dests;
}

void tipc_group_self(struct tipc_group *grp, struct tipc_name_seq *seq,
void tipc_group_self(struct tipc_group *grp, struct tipc_service_range *seq,
		     int *scope)
{
	seq->type = grp->type;
+2 −1
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
 * net/tipc/group.h: Include file for TIPC group unicast/multicast functions
 *
 * Copyright (c) 2017, Ericsson AB
 * Copyright (c) 2020, Red Hat Inc
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
@@ -50,7 +51,7 @@ void tipc_group_delete(struct net *net, struct tipc_group *grp);
void tipc_group_add_member(struct tipc_group *grp, u32 node,
			   u32 port, u32 instance);
struct tipc_nlist *tipc_group_dests(struct tipc_group *grp);
void tipc_group_self(struct tipc_group *grp, struct tipc_name_seq *seq,
void tipc_group_self(struct tipc_group *grp, struct tipc_service_range *seq,
		     int *scope);
u32 tipc_group_exclude(struct tipc_group *grp);
void tipc_group_filter_msg(struct tipc_group *grp,
Loading