/*int freelanceEnabled;*/
WSADATA WSAjunk;
int i;
- int cm_noIPAddr; /* number of client network interfaces */
- int cm_IPAddr[CM_MAXINTERFACE_ADDR]; /* client's IP address in host order */
- int cm_SubnetMask[CM_MAXINTERFACE_ADDR];/* client's subnet mask in host order*/
- int cm_NetMtu[CM_MAXINTERFACE_ADDR]; /* client's MTU sizes */
- int cm_NetFlags[CM_MAXINTERFACE_ADDR]; /* network flags */
DWORD dwPriority;
OSVERSIONINFO osVersion;
cacheBlocks = ((afs_uint64)cacheSize * 1024) / blockSize;
/* get network related info */
- cm_noIPAddr = CM_MAXINTERFACE_ADDR;
- code = syscfg_GetIFInfo(&cm_noIPAddr,
- cm_IPAddr, cm_SubnetMask,
- cm_NetMtu, cm_NetFlags);
-
+ code = cm_UpdateIFInfo();
if ( (cm_noIPAddr <= 0) || (code <= 0 ) )
afsi_log("syscfg_GetIFInfo error code %d", code);
else
lock_ObtainRead(&cm_syscfgLock);
if (cm_LanAdapterChangeDetected) {
lock_ConvertRToW(&cm_syscfgLock);
- if (cm_LanAdapterChangeDetected) {
- /* get network related info */
- cm_noIPAddr = CM_MAXINTERFACE_ADDR;
- code = syscfg_GetIFInfo(&cm_noIPAddr,
- cm_IPAddr, cm_SubnetMask,
- cm_NetMtu, cm_NetFlags);
- cm_LanAdapterChangeDetected = 0;
- }
+ if (cm_LanAdapterChangeDetected) {
+ code = cm_UpdateIFInfo();
+ }
lock_ConvertWToR(&cm_syscfgLock);
}
if (cm_LanAdapterChangeDetected) {
lock_ConvertRToW(&cm_syscfgLock);
if (cm_LanAdapterChangeDetected) {
- /* get network related info */
- cm_noIPAddr = CM_MAXINTERFACE_ADDR;
- code = syscfg_GetIFInfo(&cm_noIPAddr,
- cm_IPAddr, cm_SubnetMask,
- cm_NetMtu, cm_NetFlags);
- cm_LanAdapterChangeDetected = 0;
+ code = cm_UpdateIFInfo();
}
lock_ConvertWToR(&cm_syscfgLock);
}
lock_ReleaseMutex(&serverp->mx);
}
+afs_int32 cm_UpdateIFInfo(void)
+{
+ afs_int32 code;
+ /* get network related info */
+ cm_noIPAddr = CM_MAXINTERFACE_ADDR;
+ code = syscfg_GetIFInfo(&cm_noIPAddr,
+ cm_IPAddr, cm_SubnetMask,
+ cm_NetMtu, cm_NetFlags);
+ cm_LanAdapterChangeDetected = 0;
+ return code;
+}
+
void cm_SetServerIPRank(cm_server_t * serverp)
{
unsigned long serverAddr; /* in host byte order */
unsigned long myAddr, myNet, mySubnet;/* in host byte order */
unsigned long netMask;
int i;
- long code;
+ afs_int32 code;
lock_ObtainRead(&cm_syscfgLock);
if (cm_LanAdapterChangeDetected) {
lock_ConvertRToW(&cm_syscfgLock);
if (cm_LanAdapterChangeDetected) {
- /* get network related info */
- cm_noIPAddr = CM_MAXINTERFACE_ADDR;
- code = syscfg_GetIFInfo(&cm_noIPAddr,
- cm_IPAddr, cm_SubnetMask,
- cm_NetMtu, cm_NetFlags);
- cm_LanAdapterChangeDetected = 0;
- }
+ code = cm_UpdateIFInfo();
+ }
lock_ConvertWToR(&cm_syscfgLock);
}
extern void cm_SetServerIPRank(cm_server_t * serverp);
+extern afs_int32 cm_UpdateIFInfo(void);
+
extern void cm_InsertServerList(cm_serverRef_t** list,cm_serverRef_t* element);
extern long cm_ChangeRankServer(cm_serverRef_t** list, cm_server_t* server);