237 lines
6.9 KiB
C
237 lines
6.9 KiB
C
|
#ifndef COMMONNLB_H
|
||
|
#define COMMONNLB_H
|
||
|
|
||
|
#include "stdafx.h"
|
||
|
|
||
|
#include "DataSinkI.h"
|
||
|
|
||
|
#include "LeftView.h"
|
||
|
|
||
|
#include "MNLBUIData.h"
|
||
|
#include "MNLBNetCfg.h"
|
||
|
|
||
|
#include "Common.h"
|
||
|
|
||
|
class CommonNLB
|
||
|
{
|
||
|
|
||
|
public:
|
||
|
|
||
|
enum CommonNLB_Error
|
||
|
{
|
||
|
CommonNLB_SUCCESS = 0,
|
||
|
};
|
||
|
|
||
|
#if 0
|
||
|
class NicNLBBound
|
||
|
{
|
||
|
public:
|
||
|
_bstr_t fullNicName;
|
||
|
_bstr_t adapterGuid;
|
||
|
_bstr_t friendlyName;
|
||
|
|
||
|
bool isDHCPEnabled;
|
||
|
|
||
|
vector<_bstr_t> ipsOnNic;
|
||
|
vector<_bstr_t> subnetMasks;
|
||
|
|
||
|
bool isBoundToNLB;
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
class NicNLBBound : public NicInfo
|
||
|
{
|
||
|
public:
|
||
|
bool isBoundToNLB;
|
||
|
};
|
||
|
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
connectToClusterDirectOld( const _bstr_t& clusterIP,
|
||
|
ClusterData* clusterData,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
connectToClusterDirect( const _bstr_t& clusterIP,
|
||
|
const _bstr_t& hostMember,
|
||
|
ClusterData* p_clusterData,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
connectToClusterIndirect( const _bstr_t& clusterIP,
|
||
|
const vector<_bstr_t>& connectionIPS,
|
||
|
ClusterData* clusterData,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
connectToClusterIndirectNew( const _bstr_t& clusterIP,
|
||
|
const vector<_bstr_t>& connectionIPS,
|
||
|
vector< ClusterData>* clusterDataStore,
|
||
|
bool& clusterPropertiesMatched,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
connectToMachine( const _bstr_t& machineToConnect,
|
||
|
_bstr_t& machineServerName,
|
||
|
vector< NicNLBBound >& nicList,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
changeNLBHostSettings( const ClusterData* oldSettings,
|
||
|
const ClusterData* newSettings,
|
||
|
const _bstr_t& machineName,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
addHostToClusterOld( const ClusterData* clusterToAddTo,
|
||
|
const _bstr_t& machineName,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
addHostToCluster( const ClusterData* clusterToAddTo,
|
||
|
const _bstr_t& machineName,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
changeNLBClusterSettings( const ClusterData* oldSettings,
|
||
|
const ClusterData* newSettings,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
changeNLBHostPortSettings( const ClusterData* oldSettings,
|
||
|
const ClusterData* newSettings,
|
||
|
const _bstr_t& machineName,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
changeNLBClusterAndPortSettings( const ClusterData* oldSettings,
|
||
|
const ClusterData* newSettings,
|
||
|
DataSinkI* dataSinkObj,
|
||
|
bool* pbClusterIpChanged);
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
removeCluster( const ClusterData* clusterSettings,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
removeHost( const ClusterData* clusterSettings,
|
||
|
const _bstr_t& machineName,
|
||
|
DataSinkI* dataSinkObj );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
runControlMethodOnCluster( const ClusterData* clusterSettings,
|
||
|
DataSinkI* dataSinkObj,
|
||
|
const _bstr_t& methodToRun,
|
||
|
unsigned long portToAffect = Common::ALL_PORTS
|
||
|
);
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
runControlMethodOnHost( const ClusterData* clusterSettings,
|
||
|
const _bstr_t& machineName,
|
||
|
DataSinkI* dataSinkObj,
|
||
|
const _bstr_t& methodToRun,
|
||
|
unsigned long portToAffect = Common::ALL_PORTS
|
||
|
);
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
getWLBSErrorString( unsigned long retVal,
|
||
|
_bstr_t& errString );
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
private:
|
||
|
static
|
||
|
UINT
|
||
|
DummyThread( LPVOID pParam );
|
||
|
|
||
|
static
|
||
|
UINT
|
||
|
UnbindThread( LPVOID pParam );
|
||
|
|
||
|
static
|
||
|
UINT
|
||
|
BindAndConfigureThread( LPVOID pParam );
|
||
|
|
||
|
static
|
||
|
UINT
|
||
|
ModifyClusterPropertiesThread( LPVOID pParam );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
findPortRulesAddedUnchangedRemovedELB(
|
||
|
const ClusterData* oldSettings,
|
||
|
const ClusterData* newSettings,
|
||
|
DataSinkI* dataSinkObj,
|
||
|
vector<long>& rulesAdded,
|
||
|
vector<long>& rulesUnchanged,
|
||
|
vector<long>& rulesRemoved );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
findPortRulesAddedUnchangedRemovedULB(
|
||
|
const ClusterData* oldSettings,
|
||
|
const ClusterData* newSettings,
|
||
|
DataSinkI* dataSinkObj,
|
||
|
vector<long>& rulesAdded,
|
||
|
vector<long>& rulesUnchanged,
|
||
|
vector<long>& rulesRemoved );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
findPortRulesAddedUnchangedRemovedD(
|
||
|
const ClusterData* oldSettings,
|
||
|
const ClusterData* newSettings,
|
||
|
DataSinkI* dataSinkObj,
|
||
|
vector<long>& rulesAdded,
|
||
|
vector<long>& rulesUnchanged,
|
||
|
vector<long>& rulesRemoved );
|
||
|
|
||
|
static
|
||
|
CommonNLB_Error
|
||
|
findPortRulesAddedUnchangedRemovedF(
|
||
|
const ClusterData* oldSettings,
|
||
|
const ClusterData* newSettings,
|
||
|
DataSinkI* dataSinkObj,
|
||
|
vector<long>& rulesAdded,
|
||
|
vector<long>& rulesUnchanged,
|
||
|
vector<long>& rulesRemoved );
|
||
|
|
||
|
|
||
|
struct BindAndConfigureParameters
|
||
|
{
|
||
|
MNLBNetCfg* nlbNetCfg;
|
||
|
ClusterData* clusterData;
|
||
|
_bstr_t* machineName;
|
||
|
};
|
||
|
typedef struct BindAndConfigureParameters ModifyClusterPropertiesParameters;
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
|