forked from corosync/corosync
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
97 lines (87 loc) · 4.41 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
--------------------------------------------------------
The Corosync Cluster Engine Topic Branches and Backlog
--------------------------------------------------------
----------------------------
Last Updated: May 2012
----------------------------
--------------------------------------
Current priority list for Needle 2.1
--------------------------------------
* disallow binding to localhost (Honza)
* don't rely on mcast loop (Honza)
* Add support for LOG_TRACE and log received messages in this level (Honza)
* Proper support for DNS (always return one address even if function
is called multiple times) (Honza)
* porting of qdisk to votequorum and eventually finalize qdevice API
in votequorum. (Fabio)
* Cleaner shutdown process -> free memory (Fabio)
--------------------------------------
Current priority list for Needle 2.X
--------------------------------------
* logsys glue layer removal
* harden and finish ykd algorithm
* implement topic-xmlschema
* Modify totemsrp to allow dynamic definitions of the ring counts
to allow a larger number of redundant rings then 2.
* Investigate always-on flight recorder
* support more encryption methods (other than none/aes256) from nss
* implement topic-rdmaud
--------------------------------
Ideas for future releases (3.0+)
--------------------------------
* topic-netmalloc
* doxygenize include and lib directories.
* re-evaluate using libtool to link libraries.
* Support for clang as compiler (depends on libtool)
* reorganize library/headers/code in the tree
* change and simplify build defaults
* libtotem cleanup/rewrite
* Rewrite totem fragmentation layer
* rewrite top level totempg interface
* Split fragmentation layer in totem (ie: totempg talks to totemfrg
talks to totemsrp)
* Add a getopt and setopt feature to top level interface to allow
runtime configuration of the interface
* Improve cpg - opaque data in callbacks (client stores data about
itself, every node can access them), permissions (read only/read
write/ some application may disable listeners) - Probably implemented
as extra user space library on top of normal cpg
* Better statistic - histogram
* totem multiring
* load balancing over different speed links in RRP
We use topic branches in our git repository to develop new disruptive features
that define our future roadmap. This file describes the topic branches
the developers have interest in investigating further.
targets can be: needle2.1, needle2.X, or future (3.0).
Once in a shipped version, please remove from the topic list.
------------------------------------------------------------------------------
topic-xmlschema
------------------------------------------------------------------------------
XML configuration for corosync exists, but imput file is not checked against
XML schema. This topic is about implementing preferably RelaxNG schema of
corosync configuration.
------------------------------------------------------------------------------
topic-onecrypt
------------------------------------------------------------------------------
Currently encryption code is located in totemudp.c, totemudpu.c, and iba has
no encryption support. This topic merges the encryption code into a new
file such as totemcrp.c and provides a mechanism for totemnet.c to register
encrypt and decrypt functions with totem[udp|iba|udpu] and use them as
requested by the configuration.
------------------------------------------------------------------------------
topic-netmalloc
------------------------------------------------------------------------------
The totemiba.c driver must allocate memory and assign it to a protection domain
in order for an infiniband driver to transmit memory. In the current
implementation, totemsrp.c also allocates these same frames. This results in
an extra memcpy when transmitting with libibverbs technology. Memory copies
are to be avoided. The simple solution is to have each network driver provide
a memory allocation function. When totemsrp wants a free frame, it requests
it from the network driver.
------------------------------------------------------------------------------
topic-rdmaud
------------------------------------------------------------------------------
Currently our RDMA code uses librdmacm to setup connections. We are not
certain this extra library is needed, and may be able to use only ibverbs. If
this is possible, the totem code may be more reliable, especially around
failure conditions.