|
Packit |
857059 |
/* BEGIN_ICS_COPYRIGHT2 ****************************************
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Copyright (c) 2015-2017, Intel Corporation
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Redistribution and use in source and binary forms, with or without
|
|
Packit |
857059 |
modification, are permitted provided that the following conditions are met:
|
|
Packit |
857059 |
|
|
Packit |
857059 |
* Redistributions of source code must retain the above copyright notice,
|
|
Packit |
857059 |
this list of conditions and the following disclaimer.
|
|
Packit |
857059 |
* Redistributions in binary form must reproduce the above copyright
|
|
Packit |
857059 |
notice, this list of conditions and the following disclaimer in the
|
|
Packit |
857059 |
documentation and/or other materials provided with the distribution.
|
|
Packit |
857059 |
* Neither the name of Intel Corporation nor the names of its contributors
|
|
Packit |
857059 |
may be used to endorse or promote products derived from this software
|
|
Packit |
857059 |
without specific prior written permission.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
Packit |
857059 |
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
Packit |
857059 |
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
Packit |
857059 |
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
|
Packit |
857059 |
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
Packit |
857059 |
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
Packit |
857059 |
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
Packit |
857059 |
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
Packit |
857059 |
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
Packit |
857059 |
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
Packit |
857059 |
|
|
Packit |
857059 |
** END_ICS_COPYRIGHT2 ****************************************/
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/* [ICS VERSION STRING: unknown] */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
//===========================================================================//
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// FILE NAME
|
|
Packit |
857059 |
// sm_dbsync.h
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// DESCRIPTION
|
|
Packit |
857059 |
// This file contains the localized SM data base synchronization definitions.
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// DATA STRUCTURES
|
|
Packit |
857059 |
// NONE
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// FUNCTIONS
|
|
Packit |
857059 |
// NONE
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// DEPENDENCIES
|
|
Packit |
857059 |
// ib_types.h
|
|
Packit |
857059 |
// ib_mad.h
|
|
Packit |
857059 |
// ib_status.h
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
//===========================================================================//
|
|
Packit |
857059 |
#ifndef _SM_DBSYNC_H_
|
|
Packit |
857059 |
#define _SM_DBSYNC_H_
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#include "os_g.h"
|
|
Packit |
857059 |
#include "sm_parallelsweep.h"
|
|
Packit |
857059 |
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// SM DBSYNC structure conversion routines
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
#define SMDBSYNC_NSIZE 84
|
|
Packit |
857059 |
#define SMDBSYNC_CCC_NSIZE 56
|
|
Packit |
857059 |
#define SMDBSYNC_SEND_FILE_NSIZE 100
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define SM_DBSYNC_VERSION 1
|
|
Packit |
857059 |
#define SM_DBSYNC_UNKNOWN 0xffffffff
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef enum {
|
|
Packit |
857059 |
DBSYNC_AID_SYNC = 1,
|
|
Packit |
857059 |
DBSYNC_AID_GROUP,
|
|
Packit |
857059 |
DBSYNC_AID_SERVICE,
|
|
Packit |
857059 |
DBSYNC_AID_INFORM,
|
|
Packit |
857059 |
DBSYNC_AID_MCROOT,
|
|
Packit |
857059 |
DBSYNC_AID_DATELINE
|
|
Packit |
857059 |
} DBSyncAid_t; /* Attribute ID (or cmd) to send */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef enum {
|
|
Packit |
857059 |
DBSYNC_AMOD_GET = 1, /* get the contents of a dataset */
|
|
Packit |
857059 |
DBSYNC_AMOD_SET, /* replace entire dataset with input */
|
|
Packit |
857059 |
DBSYNC_AMOD_ADD, /* add (or update existing) a record to the dataset */
|
|
Packit |
857059 |
DBSYNC_AMOD_DELETE, /* delete a record from the dataset */
|
|
Packit |
857059 |
DBSYNC_AMOD_GET_CCC, /* get the config consistency check data */
|
|
Packit |
857059 |
DBSYNC_AMOD_SEND_FILE, /* send a file to standby SM */
|
|
Packit |
857059 |
DBSYNC_AMOD_RECONFIG /* request standby SM read local config file */
|
|
Packit |
857059 |
} DBSyncAmod_t; /* modifier to AID (cmd) to send */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef enum {
|
|
Packit |
857059 |
DBSYNC_CAP_UNKNOWN = 0,
|
|
Packit |
857059 |
DBSYNC_CAP_ASKING,
|
|
Packit |
857059 |
DBSYNC_CAP_NOTSUPPORTED,
|
|
Packit |
857059 |
DBSYNC_CAP_SUPPORTED
|
|
Packit |
857059 |
} DBSyncCap_t;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef enum {
|
|
Packit |
857059 |
DBSYNC_STAT_UNINITIALIZED = 0,
|
|
Packit |
857059 |
DBSYNC_STAT_INPROGRESS,
|
|
Packit |
857059 |
DBSYNC_STAT_SYNCHRONIZED,
|
|
Packit |
857059 |
DBSYNC_STAT_FAILURE
|
|
Packit |
857059 |
} DBSyncStat_t;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef enum {
|
|
Packit |
857059 |
DBSYNC_TYPE_GET_CAPABILITY = 1,
|
|
Packit |
857059 |
DBSYNC_TYPE_FULL,
|
|
Packit |
857059 |
DBSYNC_TYPE_UPDATE,
|
|
Packit |
857059 |
DBSYNC_TYPE_DELETE,
|
|
Packit |
857059 |
DBSYNC_TYPE_BROADCAST_FILE,
|
|
Packit |
857059 |
DBSYNC_TYPE_RECONFIG
|
|
Packit |
857059 |
} DBSyncType_t;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef enum {
|
|
Packit |
857059 |
DBSYNC_DATATYPE_NONE,
|
|
Packit |
857059 |
DBSYNC_DATATYPE_ALL,
|
|
Packit |
857059 |
DBSYNC_DATATYPE_INFORM,
|
|
Packit |
857059 |
DBSYNC_DATATYPE_GROUP,
|
|
Packit |
857059 |
DBSYNC_DATATYPE_SERVICE,
|
|
Packit |
857059 |
DBSYNC_DATATYPE_MCROOT,
|
|
Packit |
857059 |
DBSYNC_DATATYPE_FILE,
|
|
Packit |
857059 |
DBSYNC_DATATYPE_DATELINE_GUID
|
|
Packit |
857059 |
} DBSyncDatTyp_t;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/*
|
|
Packit |
857059 |
* Fabric SM's hash table
|
|
Packit |
857059 |
*/
|
|
Packit |
857059 |
typedef struct {
|
|
Packit |
857059 |
CS_HashTablep smMap; /* pointer to hash map of SM's currently in fabric */
|
|
Packit |
857059 |
SMDBCCCSync_t ourChecksums;
|
|
Packit |
857059 |
Lock_t smLock; /* exclusive lock for when manipulating hash table */
|
|
Packit |
857059 |
} SmTable_t;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef struct {
|
|
Packit |
857059 |
DBSyncStat_t syncStatus; /* 0=un-initialized, 1=in progress, 2=synchronized, 3=failure */
|
|
Packit |
857059 |
uint32_t syncFailCount; /* count of consecutive sync attempt failures */
|
|
Packit |
857059 |
time_t timeSyncFail; /* time of last sync attempt failure */
|
|
Packit |
857059 |
time_t timeLastSync; /* time of last scheduled sync - 0 if never sync'd */
|
|
Packit |
857059 |
} SmSyncStat_t;
|
|
Packit |
857059 |
typedef SmSyncStat_t *SmSyncStatp; /* pointer to sync status structure */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef struct {
|
|
Packit |
857059 |
uint8 firstUpdateState; // present state
|
|
Packit |
857059 |
} PmDbSync_t;
|
|
Packit |
857059 |
typedef PmDbSync_t *PmDbSyncp;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#define DBSYNC_MAX_GET_CAP_ATTEMPTS 2 /* try the GET a few times before saying dbsync not supported by SM */
|
|
Packit |
857059 |
#define DBSYNC_MAX_FAIL_SYNC_ATTEMPTS 3 /* try to sync a few times before giving up */
|
|
Packit |
857059 |
#define DBSYNC_TIME_BETWEEN_SYNC_FAILURES 60 /* retry interval if were in failure status */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef struct {
|
|
Packit |
857059 |
uint64_t portguid; /* port guid of SM node (used as hash key) */
|
|
Packit |
857059 |
STL_LID lid; /* lid of SM - may not be set yet */
|
|
Packit |
857059 |
DBSyncCap_t syncCapability; /* 0=unknown, 1=not supported, 2=supported */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
SMDBSync_t dbsync; /* db sync data of SM node */
|
|
Packit |
857059 |
SMDBCCCSync_t dbsyncCCC; /* db sync CCC data of SM node */
|
|
Packit |
857059 |
PmDbSync_t pmdbsync; /* db sync data of the PM node */
|
|
Packit |
857059 |
uint8_t configDiff; /* is the config different from master */
|
|
Packit |
857059 |
STL_SMINFO_RECORD smInfoRec; /* smInfoRecs of SM instance */
|
|
Packit |
857059 |
uint8_t nodeDescString[ND_LEN+1]; /* node description of SM node */
|
|
Packit |
857059 |
uint8_t path[64]; /* directed path to SM node */
|
|
Packit |
857059 |
uint8_t portNumber; /* port Number of remote node - used only for reporting */
|
|
Packit |
857059 |
uint8_t isEmbedded; /* 1: SM is embedded */
|
|
Packit |
857059 |
uint64_t lastHello; /* if standby, last hello check */
|
|
Packit |
857059 |
} SmRec_t;
|
|
Packit |
857059 |
typedef SmRec_t *SmRecp; /* sm record pointer type */
|
|
Packit |
857059 |
typedef uint64_t SmRecKey_t; /* sm record key type */
|
|
Packit |
857059 |
typedef SmRecKey_t *SmRecKeyp; /* pointer to sm record key */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/* FIXME PR123899 - convert felib to STL sized MADs. */
|
|
Packit |
857059 |
typedef uint8_t SMSyncData_t[200]; /* opaque holder of data to sync */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef struct {
|
|
Packit |
857059 |
DBSyncType_t type; /* 1=get capability, 2=full sync, 3=update, 4=delete */
|
|
Packit |
857059 |
DBSyncDatTyp_t datatype; /* 1=all (full sync only), 2=InformInfo, 3=groups, 4=services */
|
|
Packit |
857059 |
uint64_t portguid; /* portguid of standby SM */
|
|
Packit |
857059 |
STL_LID standbyLid; /* lid of the standby SM */
|
|
Packit |
857059 |
uint8_t isEmbedded; /* 1: standby SM is embedded */
|
|
Packit |
857059 |
SMSyncData_t data; /* opaque data buffer to hold specific sync data */
|
|
Packit |
857059 |
}SMSyncReq_t;
|
|
Packit |
857059 |
typedef SMSyncReq_t *SMSyncReqp; /* Sm Sync Request pointer type */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
// Multicast dbsync structure
|
|
Packit |
857059 |
//
|
|
Packit |
857059 |
|
|
Packit |
857059 |
typedef struct {
|
|
Packit |
857059 |
uint8_t mGid[16];
|
|
Packit |
857059 |
uint32_t members_full;
|
|
Packit |
857059 |
uint32_t qKey;
|
|
Packit |
857059 |
uint16_t pKey;
|
|
Packit |
857059 |
STL_LID mLid;
|
|
Packit |
857059 |
uint8_t mtu;
|
|
Packit |
857059 |
uint8_t rate;
|
|
Packit |
857059 |
uint8_t life;
|
|
Packit |
857059 |
uint8_t sl;
|
|
Packit |
857059 |
uint32_t flowLabel;
|
|
Packit |
857059 |
uint8_t hopLimit;
|
|
Packit |
857059 |
uint8_t tClass;
|
|
Packit |
857059 |
uint8_t scope;
|
|
Packit |
857059 |
uint8_t filler;
|
|
Packit |
857059 |
uint16_t membercount;
|
|
Packit |
857059 |
uint32_t index_pool; /* Next index to use for new Mc Member records */
|
|
Packit |
857059 |
} McGroupSync_t;
|
|
Packit |
857059 |
|
|
Packit |
857059 |
//********** SM topology asynchronous send receive response queue **********
|
|
Packit |
857059 |
extern cs_Queue_ptr sm_dbsync_queue;
|
|
Packit |
857059 |
#define SM_DBSYNC_QUEUE_SIZE 128
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/* SM table */
|
|
Packit |
857059 |
extern SmTable_t smRecords;
|
|
Packit |
857059 |
extern int dbsync_main_exit; /* dbsync thread exit flag */
|
|
Packit |
857059 |
extern int dbsync_initialized_flag; /* dbsync initialized indicator */
|
|
Packit |
857059 |
|
|
Packit |
857059 |
static __inline
|
|
Packit |
857059 |
void
|
|
Packit |
857059 |
BSWAPCOPY_SM_DBSYNC_DATA(SMDBSyncp Src, SMDBSyncp Dest)
|
|
Packit |
857059 |
{
|
|
Packit |
857059 |
memcpy(Dest, Src, sizeof(*Src));
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Dest->version = ntoh32(Dest->version);
|
|
Packit |
857059 |
Dest->fullSyncStatus = ntoh32(Dest->fullSyncStatus);
|
|
Packit |
857059 |
Dest->fullSyncFailCount = ntoh32(Dest->fullSyncFailCount);
|
|
Packit |
857059 |
Dest->fullTimeSyncFail = ntoh32(Dest->fullTimeSyncFail);
|
|
Packit |
857059 |
Dest->fullTimeLastSync = ntoh32(Dest->fullTimeLastSync);
|
|
Packit |
857059 |
Dest->informSyncStatus = ntoh32(Dest->informSyncStatus);
|
|
Packit |
857059 |
Dest->informSyncFailCount = ntoh32(Dest->informSyncFailCount);
|
|
Packit |
857059 |
Dest->informTimeSyncFail = ntoh32(Dest->informTimeSyncFail);
|
|
Packit |
857059 |
Dest->informTimeLastSync = ntoh32(Dest->informTimeLastSync);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Dest->groupSyncStatus = ntoh32(Dest->groupSyncStatus);
|
|
Packit |
857059 |
Dest->groupSyncFailCount = ntoh32(Dest->groupSyncFailCount);
|
|
Packit |
857059 |
Dest->groupTimeSyncFail = ntoh32(Dest->groupTimeSyncFail);
|
|
Packit |
857059 |
Dest->groupTimeLastSync = ntoh32(Dest->groupTimeLastSync);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Dest->serviceSyncStatus = ntoh32(Dest->serviceSyncStatus);
|
|
Packit |
857059 |
Dest->serviceSyncFailCount = ntoh32(Dest->serviceSyncFailCount);
|
|
Packit |
857059 |
Dest->serviceTimeSyncFail = ntoh32(Dest->serviceTimeSyncFail);
|
|
Packit |
857059 |
Dest->serviceTimeLastSync = ntoh32(Dest->serviceTimeLastSync);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Dest->mcrootSyncStatus = ntoh32(Dest->mcrootSyncStatus);
|
|
Packit |
857059 |
Dest->mcrootSyncFailCount = ntoh32(Dest->mcrootSyncFailCount);
|
|
Packit |
857059 |
Dest->mcrootTimeSyncFail = ntoh32(Dest->mcrootTimeSyncFail);
|
|
Packit |
857059 |
Dest->mcrootTimeLastSync = ntoh32(Dest->mcrootTimeLastSync);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Dest->datelineGuidSyncStatus = ntoh32(Dest->datelineGuidSyncStatus);
|
|
Packit |
857059 |
Dest->datelineGuidSyncFailCount = ntoh32(Dest->datelineGuidSyncFailCount);
|
|
Packit |
857059 |
Dest->datelineGuidTimeSyncFail = ntoh32(Dest->datelineGuidTimeSyncFail);
|
|
Packit |
857059 |
Dest->datelineGuidTimeLastSync = ntoh32(Dest->datelineGuidTimeLastSync);
|
|
Packit |
857059 |
}
|
|
Packit |
857059 |
|
|
Packit |
857059 |
static __inline
|
|
Packit |
857059 |
void
|
|
Packit |
857059 |
BSWAPCOPY_SM_DBSYNC_CCC_DATA(SMDBCCCSyncp Src, SMDBCCCSyncp Dest)
|
|
Packit |
857059 |
{
|
|
Packit |
857059 |
memcpy(Dest, Src, sizeof(*Src));
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Dest->protocolVersion = ntoh32(Dest->protocolVersion);
|
|
Packit |
857059 |
Dest->smVfChecksum = ntoh32(Dest->smVfChecksum);
|
|
Packit |
857059 |
Dest->smConfigChecksum = ntoh32(Dest->smConfigChecksum);
|
|
Packit |
857059 |
Dest->pmConfigChecksum = ntoh32(Dest->pmConfigChecksum);
|
|
Packit |
857059 |
Dest->emConfigChecksum = ntoh32(Dest->emConfigChecksum);
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Dest->spare1 = ntoh32(Dest->spare1);
|
|
Packit |
857059 |
Dest->spare2 = ntoh32(Dest->spare2);
|
|
Packit |
857059 |
Dest->spare3 = ntoh32(Dest->spare3);
|
|
Packit |
857059 |
Dest->spare4 = ntoh32(Dest->spare4);
|
|
Packit |
857059 |
Dest->spare5 = ntoh32(Dest->spare5);
|
|
Packit |
857059 |
Dest->spare6 = ntoh32(Dest->spare6);
|
|
Packit |
857059 |
Dest->spare7 = ntoh32(Dest->spare7);
|
|
Packit |
857059 |
}
|
|
Packit |
857059 |
|
|
Packit |
857059 |
static __inline
|
|
Packit |
857059 |
void
|
|
Packit |
857059 |
BSWAPCOPY_SM_DBSYNC_FILE_DATA(SMDBSyncFilep Src, SMDBSyncFilep Dest)
|
|
Packit |
857059 |
{
|
|
Packit |
857059 |
memcpy(Dest, Src, sizeof(*Src));
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Dest->version = ntoh32(Dest->version);
|
|
Packit |
857059 |
Dest->length = ntoh32(Dest->length);
|
|
Packit |
857059 |
Dest->activate = ntoh32(Dest->activate);
|
|
Packit |
857059 |
Dest->type = ntoh32(Dest->type);
|
|
Packit |
857059 |
Dest->size = ntoh32(Dest->size);
|
|
Packit |
857059 |
Dest->spare1 = ntoh32(Dest->spare1);
|
|
Packit |
857059 |
Dest->spare2 = ntoh32(Dest->spare2);
|
|
Packit |
857059 |
Dest->spare3 = ntoh32(Dest->spare3);
|
|
Packit |
857059 |
Dest->spare4 = ntoh32(Dest->spare4);
|
|
Packit |
857059 |
}
|
|
Packit |
857059 |
|
|
Packit |
857059 |
static __inline
|
|
Packit |
857059 |
void
|
|
Packit |
857059 |
BSWAPCOPY_SM_DBSYNC_SUBSKEY_DATA(SubscriberKeyp Src, SubscriberKeyp Dest)
|
|
Packit |
857059 |
{
|
|
Packit |
857059 |
memcpy(Dest, Src, sizeof(*Src));
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Dest->lid = ntoh32(Dest->lid);
|
|
Packit |
857059 |
Dest->trapnum = ntoh16(Dest->trapnum);
|
|
Packit |
857059 |
Dest->qpn = ntoh32(Dest->qpn);
|
|
Packit |
857059 |
Dest->pkey = ntoh16(Dest->pkey);
|
|
Packit |
857059 |
Dest->qkey = ntoh32(Dest->qkey);
|
|
Packit |
857059 |
Dest->startLid = ntoh32(Dest->startLid);
|
|
Packit |
857059 |
Dest->endLid = ntoh32(Dest->endLid);
|
|
Packit |
857059 |
}
|
|
Packit |
857059 |
|
|
Packit |
857059 |
static __inline
|
|
Packit |
857059 |
void
|
|
Packit |
857059 |
BSWAPCOPY_SM_DBSYNC_MC_GROUP_DATA(McGroupSync_t *Src, McGroupSync_t *Dest)
|
|
Packit |
857059 |
{
|
|
Packit |
857059 |
memcpy(Dest, Src, sizeof(*Src));
|
|
Packit |
857059 |
|
|
Packit |
857059 |
Dest->members_full = ntoh32(Dest->members_full);
|
|
Packit |
857059 |
Dest->qKey = ntoh32(Dest->qKey);
|
|
Packit |
857059 |
Dest->pKey = ntoh16(Dest->pKey);
|
|
Packit |
857059 |
Dest->mLid = ntoh32(Dest->mLid);
|
|
Packit |
857059 |
Dest->flowLabel = ntoh32(Dest->flowLabel);
|
|
Packit |
857059 |
Dest->membercount = ntoh16(Dest->membercount);
|
|
Packit |
857059 |
Dest->index_pool = ntoh32(Dest->index_pool);
|
|
Packit |
857059 |
}
|
|
Packit |
857059 |
|
|
Packit |
857059 |
static __inline
|
|
Packit |
857059 |
void
|
|
Packit |
857059 |
BSWAPCOPY_SM_DBSYNC_RECORD_CNT(uint32_t *Src, uint32_t *Dest)
|
|
Packit |
857059 |
{
|
|
Packit |
857059 |
memcpy(Dest, Src, sizeof(*Src));
|
|
Packit |
857059 |
|
|
Packit |
857059 |
*Dest = ntoh32(*Dest);
|
|
Packit |
857059 |
}
|
|
Packit |
857059 |
|
|
Packit |
857059 |
/*
|
|
Packit |
857059 |
* Sm dbsync prototypes
|
|
Packit |
857059 |
*/
|
|
Packit |
857059 |
void sm_dbsync(uint32_t, uint8_t **); /* sm db sync main function */
|
|
Packit |
857059 |
Status_t sm_dbsync_filter_add(IBhandle_t fd, Filter_t *filter, uint8_t mclass,
|
|
Packit |
857059 |
uint8_t method, uint16_t aid, uint32_t amod, uint64_t tid, const char *subRoutine);
|
|
Packit |
857059 |
void sm_dbsync_queueMsg(DBSyncType_t syncType, DBSyncDatTyp_t syncDataTye, STL_LID lid, Guid_t portguid, uint8_t isEmbedded, SMSyncData_t);
|
|
Packit |
857059 |
void sm_dbsync_addSm(Node_t *, Port_t *, STL_SMINFO_RECORD *);
|
|
Packit |
857059 |
void sm_dbsync_deleteSm(uint64_t);
|
|
Packit |
857059 |
void sm_dbsync_updateSm(SmRecKey_t, STL_SM_INFO *);
|
|
Packit |
857059 |
Status_t sm_dbsync_fullSyncCheck(SmRecKey_t);
|
|
Packit |
857059 |
Status_t sm_dbsync_upSmDbsync(SmRecKey_t, SMDBSyncp);
|
|
Packit |
857059 |
Status_t sm_dbsync_upSmDbsyncCap(SmRecKey_t, DBSyncCap_t);
|
|
Packit |
857059 |
Status_t sm_dbsync_upSmDbsyncStat(SmRecKey_t, DBSyncDatTyp_t, DBSyncStat_t);
|
|
Packit |
857059 |
Status_t sm_dbsync_configCheck(SmRecKey_t, SMDBCCCSyncp);
|
|
Packit |
857059 |
Status_t sm_dbsync_disableStandbySm(SmRecp, SmCsmMsgCondition_t);
|
|
Packit |
857059 |
DBSyncStat_t sm_dbsync_getSmDbsyncStat(SmRecKey_t);
|
|
Packit |
857059 |
Status_t sm_dbsync_getSmDbsync(SmRecKey_t, SMDBSyncp);
|
|
Packit |
857059 |
boolean sm_dbsync_isUpToDate(SmRecKey_t, char **reason);
|
|
Packit |
857059 |
DBSyncCap_t sm_dbsync_getDbsyncSupport(SmRecKey_t);
|
|
Packit |
857059 |
Status_t sm_dbsync_checksums(uint32_t vfCsum, uint32_t smCsum, uint32_t pmCsum);
|
|
Packit |
857059 |
Status_t sm_dbsync_em_checksums(uint32_t emCsum);
|
|
Packit |
857059 |
Status_t sm_dbsync_recInit(void);
|
|
Packit |
857059 |
void sm_dbsync_kill(void);
|
|
Packit |
857059 |
void sm_dbsync_init(void);
|
|
Packit |
857059 |
void sm_dbsync_recDelete(void);
|
|
Packit |
857059 |
void sm_dbsync_recClear(void);
|
|
Packit |
857059 |
void sm_dbsync_procReq(void);
|
|
Packit |
857059 |
int sm_dbsync_getSmCount(void);
|
|
Packit |
857059 |
int sm_dbsync_getActiveSmCount(void);
|
|
Packit |
857059 |
Status_t sm_dbsync_upsmlist(SweepContext_t *);
|
|
Packit |
857059 |
Status_t sm_dbsync_syncService(DBSyncType_t, OpaServiceRecordp);
|
|
Packit |
857059 |
Status_t sm_dbsync_syncInform(DBSyncType_t, SubscriberKeyp, STL_INFORM_INFO_RECORD *);
|
|
Packit |
857059 |
Status_t sm_dbsync_syncGroup(DBSyncType_t, IB_GID*);
|
|
Packit |
857059 |
Status_t sm_dbsync_syncMCRoot(DBSyncType_t synctype);
|
|
Packit |
857059 |
Status_t sm_dbsync_syncFile(DBSyncType_t synctype, SMDBSyncFile_t*);
|
|
Packit |
857059 |
Status_t sm_dbsync_syncDatelineSwitchGUID(DBSyncType_t);
|
|
Packit |
857059 |
void sm_dbsync_showSms(void);
|
|
Packit |
857059 |
void sm_dbsync_standbyHello(SmRecKey_t);
|
|
Packit |
857059 |
void sm_dbsync_standbyCheck(void);
|
|
Packit |
857059 |
int sm_send_pm_image(uint64_t portguid, uint32_t histindex, char *histImgFile);
|
|
Packit |
857059 |
int sm_send_pm_image_complete(uint64_t portguid, Status_t status);
|
|
Packit |
857059 |
#endif // _SM_DBSYNC_H_
|