|
@@ -122,6 +122,11 @@ struct transport {
|
|
|
int (*member_remove) (
|
|
int (*member_remove) (
|
|
|
void *transport_context,
|
|
void *transport_context,
|
|
|
const struct totem_ip_address *member);
|
|
const struct totem_ip_address *member);
|
|
|
|
|
+
|
|
|
|
|
+ int (*member_set_active) (
|
|
|
|
|
+ void *transport_context,
|
|
|
|
|
+ const struct totem_ip_address *member,
|
|
|
|
|
+ int active);
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
struct transport transport_entries[] = {
|
|
struct transport transport_entries[] = {
|
|
@@ -460,3 +465,21 @@ extern int totemnet_member_remove (
|
|
|
|
|
|
|
|
return (res);
|
|
return (res);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+int totemnet_member_set_active (
|
|
|
|
|
+ void *net_context,
|
|
|
|
|
+ const struct totem_ip_address *member,
|
|
|
|
|
+ int active)
|
|
|
|
|
+{
|
|
|
|
|
+ struct totemnet_instance *instance = (struct totemnet_instance *)net_context;
|
|
|
|
|
+ unsigned int res = 0;
|
|
|
|
|
+
|
|
|
|
|
+ if (instance->transport->member_set_active) {
|
|
|
|
|
+ res = instance->transport->member_set_active (
|
|
|
|
|
+ instance->transport_context,
|
|
|
|
|
+ member,
|
|
|
|
|
+ active);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return (res);
|
|
|
|
|
+}
|