Commit Graph

71 Commits

Author SHA1 Message Date
Steven Dake
bb05aed93f Add the UDPU transport
The UDPU transport is useful for those deployments which can't use multicast.
UDPU works by using UDP unicast, which is fully supported by every switch
manufacturer by default and doesn't rely on a functional IGMP implementation.

An example of the UDPU transport is contained in the corosync.conf.example.udpu
file which shows a 16 node cluster.  This file should be copied to each node
in the cluster and IP addresses changed as appropriate.

Amended to remove dead udpu REUSEADDR socket option.

Signed-off-by: Steven Dake <sdake@redhat.com>
2010-11-18 14:21:30 -07:00
Steven Dake
978b60806b Totem IBA implementation.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2481 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-09-25 06:23:04 +00:00
Steven Dake
f9f663f459 Add a target token set completed callback in totemrrp and below layers.
Handle management of callback in totemsrp.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2371 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-27 00:29:32 +00:00
Steven Dake
5eae4c135c Optimization of totemsrp and below by removing hdb usage. cpgbench shows
results of 4% to 20% increase in tps and mbs depending on hardware.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2369 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-22 22:10:35 +00:00
Steven Dake
5225b3809c Initial infrastructure changes to support iba. Split totemnet into
totemiba and totemudp and have totemnet call the appropriate transport
calls.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2367 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-07-21 18:17:15 +00:00
Steven Dake
23aea08ae4 Slay the debug messages coming out at notice level in totem.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2313 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-28 05:12:27 +00:00
Steven Dake
e448603f2f Add ability to detect process pause and not implode the membership algorithm
when this occurs.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2304 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-26 21:39:44 +00:00
Steven Dake
cd564ca15a Remove warning by casting properly in totemnet.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2283 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-22 18:50:29 +00:00
Steven Dake
b8e3951ca1 Add (void *) casts for iovector assignments to remove compile warnings.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2270 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-19 20:43:12 +00:00
Fabio M. Di Nitto
6d5ce092a1 logsys: port to new packed rec_ident version
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2250 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:32:56 +00:00
Fabio M. Di Nitto
7595cd31e7 logsys: allow to use header files for #define's
most of the values in logsys.h are very useful for non logsys library
API users.

Allow to import them without sucking the whole lib.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2248 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:17:43 +00:00
Fabio M. Di Nitto
5597a2381f logsys: merge tags into rec_ident
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2246 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-18 05:15:10 +00:00
Steven Dake
ff7b157742 Modify totemnet to work properly on Solaris by setting variables in sendmsg
data structure.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2232 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-10 17:57:22 +00:00
Fabio M. Di Nitto
2dad767cfa Shared libs should not call exit but return error
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2231 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-10 17:00:15 +00:00
Steven Dake
71f21b95c5 Define MSG_NOSIGNAL if it is undefined by the base OS such as Solaris.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2218 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 07:31:40 +00:00
Steven Dake
d847720b0d Conditionally compile on Solaris platforms msg_* flags in sendmsg header.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2217 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 07:31:14 +00:00
Steven Dake
ff8283f0b1 Rename queue datastructure to cs_queue data structure because some fail
operating system struct queue in the globally scoped headers.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2211 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-07 00:47:56 +00:00
Andrew Beekhof
446eb5946c Forward port the clear_node_high_bit from whitetank
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2205 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-03 09:54:22 +00:00
Christine Caulfield
5d8178f485 Add broadcast option to corosync
This is a forward port of the openais, whitetank, code.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2202 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-06-01 07:20:17 +00:00
Jim Meyering
1f40a10983 don't include <signal.h> when it's not used
* exec/coroparse.c: Likewise.
* exec/quorum.c: Likewise.
* exec/sync.c: Likewise.
* exec/totemmrp.c: Likewise.
* exec/totemnet.c: Likewise.
* exec/totemrrp.c: Likewise.
* exec/totemsrp.c: Likewise.
* exec/vsf_quorum.c: Likewise.
* exec/vsf_ykd.c: Likewise.
* lcr/uic.c: Likewise.
* lcr/uis.c: Likewise.
* lib/cfg.c: Likewise.
* services/cfg.c: Likewise.
* services/cpg.c: Likewise.
* services/evs.c: Likewise.
* services/pload.c: Likewise.
* services/testquorum.c: Likewise.
* services/votequorum.c: Likewise.
* test/testconfdb.c: Likewise.
* test/testcpg.c: Likewise.
* test/testcpgzc.c: Likewise.
* test/testzcgc.c: Likewise.
* tools/corosync-cfgtool.c: Likewise.
* tools/corosync-objctl.c: Likewise.
* tools/corosync-pload.c: Likewise.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2193 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-18 16:41:46 +00:00
Christine Caulfield
69ff770544 When doing a controlled shutdown of corosync, we now
send out a JOIN message with our node removed. This should
speed up the case where a lot of nodes leave at the same time as
they don't need to wait for the token timeout for each node.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2187 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-18 14:03:25 +00:00
Fabio M. Di Nitto
f96d62d0f2 Fix totem logging after logsys changes
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2181 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-13 04:27:54 +00:00
Jim Meyering
f6de37231d totemnet.c: Make totemnet_initialize definition match just-changed decl.
* exec/totemnet.c (totemnet_initialize): Declare deliver_fn's msg_len
parameter to be of type "unsigned int" (not size_t) to match decl.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2174 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-11 17:40:42 +00:00
Steven Dake
20d1d5faf7 Remove most iovector-ized functionality from totem and only make one malloc
and memory copy call in totemsrp_mcast.  The rest of the stack minus totempg
then uses zero copies.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2172 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-05-09 17:23:17 +00:00
Steven Dake
695ed267af Improve security of NSS implementation in totem.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2156 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-27 05:01:25 +00:00
Christine Caulfield
e9660ee62f Add libnss security support to corosync.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2145 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-25 14:05:27 +00:00
Steven Dake
1beb0c1fbd Remove saHandleXXX and friends and use hdb instead.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2125 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 17:43:54 +00:00
Jim Meyering
904a10ed38 remove all trailing blanks
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2117 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-22 08:03:55 +00:00
Jim Meyering
15b59a1603 totemnet.c: don't shadow crypto.h type, "hmac_state"
* exec/totemnet.c (encrypt_and_sign_worker): Rename a local var:
s/hmac_state/hmac_st/

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2070 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 19:12:33 +00:00
Jim Meyering
d45965ecae totemrrp.h, totemsrp.h, totemnet.h: const+size_t
* exec/totemrrp.c (totemrrp_initialize):
* exec/totemrrp.h (totemrrp_initialize):
* exec/totemsrp.c (handler_functions, main_deliver_fn):
(main_iface_change_fn):
* exec/totemnet.c (totemnet_deliver_fn, totemnet_iface_change_fn):
(encrypt_and_sign_worker, ucast_sendmsg, mcast_sendmsg):
(totemnet_mcast_worker_fn, totemnet_initialize):
(totemnet_token_send, totemnet_mcast_flush_send):
(totemnet_mcast_noflush_send, totemnet_token_target_set):
* exec/totemnet.h (TOTEMNET_FLUSH):
* exec/totemrrp.c (totemrrp_deliver_fn, totemrrp_iface_change_fn):
(totemrrp_token_seqid_get, rrp_deliver_fn, rrp_iface_change_fn):
* exec/totemsrp.c (handler_functions, main_token_seqid_get):
(srp_addr_copy_endian_convert, message_handler_orf_token):
(message_handler_mcast, message_handler_memb_merge_detect):
(memb_join_endian_convert, memb_commit_token_endian_convert):
(orf_token_endian_convert, mcast_endian_convert):
(memb_merge_detect_endian_convert, message_handler_memb_join):
(message_handler_memb_commit_token):
(message_handler_token_hold_cancel, main_deliver_fn):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2062 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-15 07:48:39 +00:00
Steven Dake
9141188ee8 Add spin locks for critical sections in hdb api.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2050 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-10 02:24:01 +00:00
Jim Meyering
36eefbadef Convert all "int iov_len" decls to "unsigned int iov_len".
Used this command:
git grep -l 'int iov_len' \
  | xargs perl -pi -e 's/((?:^|,)\s*)(int iov_len)/${1}unsigned $2/'

Here's an approximate (autogenerated by vc-chlog) list of affected
file names and functions/macros:
* README.devmap:
* exec/coroipcs.c (sending_allowed_private_data)
(coroipcs_response_iov_send, msg_send, msg_send_or_queue)
(coroipcs_dispatch_iov_send):
* exec/coroipcs.h (handler_fn_get):
* exec/main.c (deliver_fn, main_mcast):
* exec/main.h (FALSE):
* exec/sync.c (vsf_iface, sync_deliver_fn):
* exec/totemmrp.c (totemsrp_handle_in, pg_deliver_fn)
(totemmrp_deliver_fn, totemmrp_initialize, totemmrp_mcast):
* exec/totemmrp.h (TOTEMMRP_H_DEFINED):
* exec/totemnet.c (iov_len, encrypt_and_sign_worker)
(ucast_sendmsg, mcast_sendmsg, totemnet_token_send):
* exec/totemnet.h (TOTEMNET_FLUSH):
* exec/totempg.c (deliver_fn, totempg_deliver_fn, mcast_msg)
(totempg_groups_initialize, totempg_groups_mcast_joined)
(totempg_groups_joined_reserve):
* exec/totemsrp.c (iov_len, totemsrp_recv, totemsrp_deliver_fn)
(totemsrp_initialize, totemsrp_mcast, token_send):
* exec/totemsrp.h (TOTEMSRP_H_DEFINED):
* exec/vsf_ykd.c (ykd_deliver_fn):
* include/corosync/coroipcc.h (handleInstanceDestructor):
* include/corosync/cpg.h (cpg_callbacks_t):
* include/corosync/engine/coroapi.h (ipc_response_iov_send)
(ipc_dispatch_iov_send, totem_mcast, tpg_init, tpg_joined_mcast)
(tpg_joined_reserve, tpg_groups_mcast, tpg_groups_reserve):
* include/corosync/totem/totempg.h (TOTEMPG_SAFE):
* lib/coroipcc.c (coroipcc_msg_send)
(coroipcc_msg_send_reply_receive)
(coroipcc_msg_send_reply_receive_in_buf):
* lib/cpg.c (cpg_mcast_joined):
* lib/util.h (versionsSupported):
* services/pload.c (send_message):
* services/votequorum.c (conn, quorum_deliver_fn):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2031 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-04-08 07:56:45 +00:00
Fabio M. Di Nitto
031c02f589 - Every .c file should include "config.h" to get the right defines...
- services/Makefile.am: add include search paths for config.h

- include/corosync/cs_config.h.in exports LCRSODIR and SOCKETDIR

- tools/Makefile.am: drop -D defines for dirs that are now in
cs_config.h or config.h

- configure.ac: sanitize prefix and exec_prefix paths. Export DIRS in
*config.h

- lib/Makefile.am: : drop -D defines for dirs that are now in
cs_config.h or config.h. Add rule to build lcr_ifact.o or building from
lib/ fails miserably



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1877 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-19 12:58:53 +00:00
Steven Dake
e00c19db5a Remove pointer math warnings from totemnet.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1809 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 10:09:43 +00:00
Steven Dake
3c3c11426e Remove const/nonconst assignment warnings in totemnet.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1801 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-03-10 09:22:08 +00:00
Steven Dake
58ab8d4a65 Unification around hdb_handle_t data type.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1782 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-02-25 11:14:47 +00:00
Steven Dake
63fa74305b Fix message rejection problem.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1743 fd59a12c-fef9-0310-b244-a6a79926bd2f
2009-01-25 21:15:25 +00:00
Steven Dake
0c631e24fc Logsys flight recorder.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1681 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-30 22:25:56 +00:00
Steven Dake
e1f531380a Revert patch 1633 which breaks build.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1636 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-14 16:44:26 +00:00
Steven Dake
c4a1c7eb96 Change all occurances of openais to corosync.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1633 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-14 16:04:01 +00:00
Fabien Thomas
0c92a5e564 reorganize include file to match installed tree to build openais without installing corosync; correct some warnings and error under FreeBSD and Darwin
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1632 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-14 14:59:50 +00:00
Steven Dake
617dbdf2f0 Split openais and corosync tree into two seperate repositories.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1622 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-05 13:23:46 +00:00
Steven Dake
46babc95ad Initial move of corosync and openais trees into seperate directories.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1582 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-07-21 07:59:08 +00:00
Steven Dake
a7f4b6d8cb Fix a ton of bugs in totem by forward porting the whitetank totem code into
trunk.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1562 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-06-24 04:45:38 +00:00
Steven Dake
46b0163813 Change all email addresses that were sdake@mvista.com to sdake@redhat.com.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1541 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-05-12 13:48:06 +00:00
Patrick Caulfield
08dd4174c6 In trunk, totemip.h and totem.h call for "../include/swab.h" - this works fine
when building openais itself but causes problems when installed as those files
will not be in the right place.

So, I've moved these includes out of totemip.h and totem.h and into the .c files
that call them.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1370 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-05-05 14:02:53 +00:00
Steven Dake
cb154572a2 Patch from Renaud to report some broken Solaris porting from past.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1353 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-03-06 16:18:44 +00:00
Fabien Thomas
b07e2dee27 remove invalid code / warnings detected by Intel compiler
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1308 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-11-16 17:34:44 +00:00
Steven Dake
0add7e0611 Committed a bunch of changes for testing scalability - reverting patch
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1177 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-05 08:51:06 +00:00
Steven Dake
90ccff6bbc Solaris port for openais
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1175 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-05 02:22:12 +00:00