Commit Graph

79 Commits

Author SHA1 Message Date
Steven Dake
be835fb345 Fixes the following problems:
1) the encapsulated and not encapsulated values for multicast messages
are now enumerated instead of magic number.
2) the endian detector is now set for new encapsulated messages intended
for transmission.  previously these messages would use whichever endian
detector value happened to be in memory which could be a) correct endian
b) incorrect endian from another machine byte order message c) junk
values.
3) The retransmission flag is not set by default on new originated
tokens in the recovery state.  Instead it is set based upon whether the
node actually can retransmit any messages.
4) some workaround code was removed that was necessary to make the
system work when #3 was incorrect
5) the my_install_seq and my_aru fields are compared based upon a window
instead of static comparison because it could be that the my_aru is
0xFFFFFF5 where my_install_seq is 5.  In this case (after a lot of
messages are sent) the comparison would return the incorrect result in
the recovery phase of the algorithm.
6) The queue chosen for adding messages to the retransmission queue is
now set based upon the encapsulated bit rather then the current state of
the state machine.
7) the encapsulated bit is set properly in an endian conversion
operation for a multicast message header.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1447 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-09-15 20:14:55 +00:00
Steven Dake
4336be7c4c totem srp merge from whitetank
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1427 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-09-09 06:24:00 +00:00
Steven Dake
fb2e10bedb Patch to log security warnings when invalid identifier is used in message
header for a totem message.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1425 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-09-09 06:15:31 +00:00
Steven Dake
0a19a21f1b Remove this_ip from the source tree and replace with accessor functions.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1379 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-06-05 08:55:44 +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
76e46a1d60 Add rundir patch to /var/lib/openais.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1326 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-12-12 17:58:41 +00:00
Steven Dake
b91be7a028 Print information about when we enter the gather state and what state the
membership protocol is in when the token is lost.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1304 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-11-13 18:08:32 +00:00
Steven Dake
0032c765bc Enable commit tokens to be processed properly in all circumstances.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1255 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-09 07:41:46 +00:00
Steven Dake
da09c38827 Fix subset set operation to work properly.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1254 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-09 07:41:12 +00:00
Steven Dake
28185de5ed Remove some debbugging code from totemsrp impacting performance.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1253 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-09 07:40:46 +00:00
Fabien Thomas
d4e4f10df1 do not include alloca.h under BSD; alloca is in stdlib.h
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1221 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-18 07:38:21 +00:00
Steven Dake
59a7b2e043 Add scalability to 128 nodes by adding new parameter to protocol which is
a random timeout bounded by a configuration parameter when sending join
messages.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1214 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-16 04:25:47 +00:00
Steven Dake
49153e68c0 Improve recovery code to produce correct printf notice outputs.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1207 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-16 00:05:02 +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
Steven Dake
806258b5c3 Cleanup log_printf to use gnu attributes to do automatic type checking.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1166 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 07:39:53 +00:00
Steven Dake
afb4ca0606 Use memb_ring_id_copy for alignment purposes on 64 aligned arches and keep
the port id in host byte order until it is used in the totem protocol stack.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1164 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 07:21:08 +00:00
Steven Dake
5a8a45cd42 Remove debug printf in totemsrp
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1141 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-20 10:01:57 +00:00
Steven Dake
640cfba2ab Add support for reenabling a failed redundant ring and printing ring status
through the test/opeanis-cfgtool application.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1137 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-19 19:31:01 +00:00
Steven Dake
b0c735ee64 Fix off by one error in totemsrp.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1070 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-06-19 22:59:32 +00:00
Steven Dake
d193826724 Allow CFLAGS and LDFLAGS to be overridden through the environment or command
line.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1065 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-06-16 19:07:28 +00:00
Steven Dake
252fc54461 Remove warning about memb_set_print not being used. This is only useful for
debugging.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1046 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-05-26 04:19:40 +00:00
Patrick Caulfield
48ebfdc432 Add missing endian conversion to memb_merge_detect
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1039 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-05-25 07:33:12 +00:00
Steven Dake
4da5612bd3 Endian fixes for the recent redundant ring protocol work plus the cluster
membership API support.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1033 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-05-19 20:31:35 +00:00
Steven Dake
483a9baac7 The redundant ring take 4 patch. This includes modes for active, passive,
and none.  Read openais.conf.5 for information regarding how to configure
redundant ring.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1032 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-05-19 19:49:40 +00:00
Steven Dake
3c7f8b7c05 This patch reworks IPC to use threads instead of the main poll loop
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1011 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-27 01:39:10 +00:00
Steven Dake
8f281418a9 Patch to ensure backlogs are never negative which would cause problems with
the flow control algorithm and protocol in general.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1006 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-25 07:04:09 +00:00
Steven Dake
f50a6a11c8 Patch from Hans to significantly improve the logging functionality
read openais.conf.5 for info on how the new logging works.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@995 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-18 19:53:18 +00:00
Steven Dake
6066442cd8 Fix warning about unsigned int passed to orf_token_rtr for flow control count
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@988 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-15 07:42:30 +00:00
Steven Dake
bf65af760d defect 1191
Add more support for the redundant ring protocol.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@976 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-08 23:14:52 +00:00
Steven Dake
e1cad44148 defect 1190
scale to 128 nodes more effectively by dynamically sending partial structures
in the commit token ahd memb_join messages.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@975 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-08 22:25:14 +00:00
Steven Dake
fd9d3f0a76 defect 1170
another fix for the assertion in memb_recovery_enter


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@971 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-08 22:05:00 +00:00
Steven Dake
c5dbe6ea7b defect 1170
remove extra debug exit(1


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@968 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-06 07:37:08 +00:00
Steven Dake
29c19bf56e defect 1170
Fix recovery protocol to avoid assertion in memb_state_recovery_enter


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@967 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-06 07:32:21 +00:00
Steven Dake
74952a56a3 defect 205
implement totem single ring protocol flow control algorithm


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@966 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-03 22:45:13 +00:00
Fabien Thomas
064ffb17a1 Bug 1130: add totempg log; remove warnings; add DPRINT macro
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@954 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-03-24 08:28:12 +00:00
Steven Dake
f99f38363f defect 1117
binding to localhost doesn't work.  This patch reenables that functionality.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@947 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-03-08 07:16:28 +00:00
Steven Dake
cf160dd9cd Fabien's patch for the BSD/Darwin port.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@926 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-02-21 07:32:00 +00:00
Steven Dake
d248cfb8ae defect 981
big endian and little endian in the same network causes infinite loop.  This
patch fixes that problem for the totem layer only.  Other components are not
resolved.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@922 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-02-11 22:25:54 +00:00
Steven Dake
f6cfe4e86e This is a major rework of the service handling code. Now service handlers
can be dynamically loaded via the live component replacement service.  Sync
handlers are also dynamically contributed.

It is possible to build using either dynamic loading via LCR or static
linking of the entire executive.  This is controlled by the BUILD_DYNAMIC 
configuration option in the Makefile.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@892 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-01-20 20:40:21 +00:00
Steven Dake
a4538aee95 defect 1024
YKD algorithm doesn't always work when new_message_queue is full.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@885 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-01-07 00:26:16 +00:00
Steven Dake
e4dfef72d5 defect 979
This enhancement adds support for IPV6 to the trunk of openais.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@856 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-11-30 19:44:40 +00:00
Steven Dake
ecb97392f8 defect 932
This patch adds token sequence number and global sequence number rollover
support.  A window is used to ensure comparisons are done properly.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@852 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-11-25 22:01:00 +00:00
Steven Dake
440f587eb8 defect 969
processor_count_set is called in the wrong place causing the protocol to
fail to receive.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@848 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-11-23 22:25:04 +00:00
Steven Dake
067c60c866 defect 968
Improve worst-case failure detection time using active healthchecking


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@836 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-11-18 21:29:11 +00:00
Steven Dake
dfa61b911d defect 914
fix gcc 4 specific compile warnings and compile errors


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@834 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-10-27 00:53:36 +00:00
Steven Dake
81b2984094 defect 837
Muni reported the token retransmission timer doesn't need to be reset when 
receiving a retransmission


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@805 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-08-25 22:10:26 +00:00
Steven Dake
5613db03a1 enhancmement 821
Global reorganization of totem code and also many feature enhancments
These include:
need to specify whether authentication is enabled or dislabed in config file
need to specify frame size in config file
need redundant ring placeholder
need to specify version field of totem
need to support large frame sizes
need to break out threading code from totemsrp
need to break out network code from totemsrp
need to break out parser code from parse.c
and some others


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@794 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-08-17 19:17:45 +00:00
Steven Dake
4ff4c440ca Patch from Russell Bryant to fix up gcc 4 warnings
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@793 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-08-12 22:29:35 +00:00
Steven Dake
ece2c68fe1 fixes segfault when ctrl-c pressed with new totemmrp code
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@789 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-07-29 22:19:50 +00:00