diff options
author | Jon Maloy <jon.maloy@ericsson.com> | 2018-03-29 23:20:43 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-31 22:19:52 -0400 |
commit | 37922ea4a3105176357c8d565a9d982c4a08714a (patch) | |
tree | 272bc238297a030a51d0ac23480afbfc1462b2b5 /net/tipc/name_distr.h | |
parent | f20889f72bd531cad88fbb571755a52cabf43424 (diff) | |
download | linux-37922ea4a3105176357c8d565a9d982c4a08714a.tar.gz linux-37922ea4a3105176357c8d565a9d982c4a08714a.tar.bz2 linux-37922ea4a3105176357c8d565a9d982c4a08714a.zip |
tipc: permit overlapping service ranges in name table
With the new RB tree structure for service ranges it becomes possible to
solve an old problem; - we can now allow overlapping service ranges in
the table.
When inserting a new service range to the tree, we use 'lower' as primary
key, and when necessary 'upper' as secondary key.
Since there may now be multiple service ranges matching an indicated
'lower' value, we must also add the 'upper' value to the functions
used for removing publications, so that the correct, corresponding
range item can be found.
These changes guarantee that a well-formed publication/withdrawal item
from a peer node never will be rejected, and make it possible to
eliminate the problematic backlog functionality we currently have for
handling such cases.
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/name_distr.h')
-rw-r--r-- | net/tipc/name_distr.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/tipc/name_distr.h b/net/tipc/name_distr.h index 4753e628d7c4..63fc73e0fa6c 100644 --- a/net/tipc/name_distr.h +++ b/net/tipc/name_distr.h @@ -72,7 +72,6 @@ struct sk_buff *tipc_named_withdraw(struct net *net, struct publication *publ); void tipc_named_node_up(struct net *net, u32 dnode); void tipc_named_rcv(struct net *net, struct sk_buff_head *msg_queue); void tipc_named_reinit(struct net *net); -void tipc_named_process_backlog(struct net *net); void tipc_publ_notify(struct net *net, struct list_head *nsub_list, u32 addr); #endif |