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
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
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
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
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
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
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
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