1.2.1 update
git-svn-id: http://172.17.0.253/svn/soft_pkgs/sys_nicmonitor@181 09c3743a-b0dd-45d3-b506-aa74c7a2a6ef
This commit is contained in:
@@ -9,7 +9,7 @@ all:sys_nicmonitor libnic_shm.so
|
|||||||
CFLAGS += -Wall -Wformat=2 -Wno-format-extra-args -Wformat-security -Wformat-nonliteral #-g
|
CFLAGS += -Wall -Wformat=2 -Wno-format-extra-args -Wformat-security -Wformat-nonliteral #-g
|
||||||
|
|
||||||
sys_nicmonitor:mnic.o read_netcard.o send_alarm.o
|
sys_nicmonitor:mnic.o read_netcard.o send_alarm.o
|
||||||
$(CC) -lman -ldotconf -lpthread -o $@ $^
|
$(CC) -ldotconf -lpthread -o $@ $^
|
||||||
libnic_shm.so:nicinfo_shm.c
|
libnic_shm.so:nicinfo_shm.c
|
||||||
$(CC) -fpic -shared -o $@ $^
|
$(CC) -fpic -shared -o $@ $^
|
||||||
clean:
|
clean:
|
||||||
|
|||||||
@@ -92,6 +92,8 @@ static char log_flag = 1;
|
|||||||
static int sem_id = 0;
|
static int sem_id = 0;
|
||||||
static char process_name[64];
|
static char process_name[64];
|
||||||
char log_path[1024];
|
char log_path[1024];
|
||||||
|
char shm_path[1024];
|
||||||
|
char sem_path[1024];
|
||||||
|
|
||||||
int host_name_size = 0;
|
int host_name_size = 0;
|
||||||
char host_name[HOST_NAME_SIZE];
|
char host_name[HOST_NAME_SIZE];
|
||||||
@@ -188,7 +190,7 @@ static void init_sem(int *semid, CONFIG_FILE_ST *ptr)
|
|||||||
|
|
||||||
/* write error in logfile */
|
/* write error in logfile */
|
||||||
memset(error_str, 0, sizeof(error_str));
|
memset(error_str, 0, sizeof(error_str));
|
||||||
if ((key = ftok(SEM_PATH, SEM_PROJ_ID)) == -1) {
|
if ((key = ftok(sem_path, SEM_PROJ_ID)) == -1) {
|
||||||
snprintf(error_str, sizeof(error_str), "EMERG: ftok():%s\n", strerror(errno));
|
snprintf(error_str, sizeof(error_str), "EMERG: ftok():%s\n", strerror(errno));
|
||||||
record_log(error_str);
|
record_log(error_str);
|
||||||
return;
|
return;
|
||||||
@@ -213,8 +215,8 @@ static void init_shm(SHM **ptr, CONFIG_FILE_ST *p)
|
|||||||
|
|
||||||
mode_t mask_tmp;
|
mode_t mask_tmp;
|
||||||
mask_tmp = umask(0000);
|
mask_tmp = umask(0000);
|
||||||
if((fd = open(SHM_PATH, O_RDWR|O_CREAT|O_TRUNC, 0666)) == -1){
|
if((fd = open(shm_path, O_RDWR|O_CREAT|O_TRUNC, 0666)) == -1){
|
||||||
printf("could not create %s\n", SHM_PATH);
|
printf("could not create %s\n", shm_path);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
umask(mask_tmp);
|
umask(mask_tmp);
|
||||||
@@ -874,6 +876,7 @@ int find_nic_config(char *dev_name){
|
|||||||
DOTCONF_CB(cb_str)
|
DOTCONF_CB(cb_str)
|
||||||
{
|
{
|
||||||
int i, index, card_info_index;
|
int i, index, card_info_index;
|
||||||
|
char wrong_ip[125] = {0};
|
||||||
|
|
||||||
//"ping"选项的处理
|
//"ping"选项的处理
|
||||||
if((strcmp(cmd ->name, myconf[13]) == 0) && (nicnum <= MAXNICNUM)){
|
if((strcmp(cmd ->name, myconf[13]) == 0) && (nicnum <= MAXNICNUM)){
|
||||||
@@ -894,10 +897,15 @@ DOTCONF_CB(cb_str)
|
|||||||
card_info_index = index;
|
card_info_index = index;
|
||||||
|
|
||||||
while(cmd->data.list[i]){
|
while(cmd->data.list[i]){
|
||||||
if((int)(inet_addr(cmd->data.list[i])) != -1){
|
if((int)(inet_addr(cmd->data.list[i])) == -1){
|
||||||
strncpy(conf.nic[card_info_index].ping_ip[i-1], cmd->data.list[i], strlen(cmd->data.list[i]) >= IPLEN ? IPLEN-1 : strlen(cmd->data.list[i]));
|
sprintf(wrong_ip,"%s'%s'","The wrong IP address:",cmd->data.list[i]);
|
||||||
i++;
|
strcat(wrong_ip,"\n");
|
||||||
|
record_log(wrong_ip);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
strncpy(conf.nic[card_info_index].ping_ip[conf.nic[card_info_index].gw_num++], cmd->data.list[i], strlen(cmd->data.list[i]) >= IPLEN ? IPLEN-1 : strlen(cmd->data.list[i]));
|
||||||
}
|
}
|
||||||
|
i++;
|
||||||
}
|
}
|
||||||
conf.nic[card_info_index].gw_num = i-1;
|
conf.nic[card_info_index].gw_num = i-1;
|
||||||
}
|
}
|
||||||
@@ -1083,7 +1091,7 @@ void create_logdir(void)
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
strcpy(log_path, LOG_PATH);
|
//strcpy(log_path, LOG_PATH);
|
||||||
mode_t mask_tmp;
|
mode_t mask_tmp;
|
||||||
mask_tmp = umask(0000);
|
mask_tmp = umask(0000);
|
||||||
if(mkdir(log_path, 0777) != 0){
|
if(mkdir(log_path, 0777) != 0){
|
||||||
@@ -1091,7 +1099,7 @@ void create_logdir(void)
|
|||||||
strcpy(log_path, "/tmp/");
|
strcpy(log_path, "/tmp/");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if((ret = open(SEM_PATH, O_RDWR | O_CREAT, 0666)) != -1){
|
if((ret = open(sem_path, O_RDWR | O_CREAT, 0666)) != -1){
|
||||||
close(ret);
|
close(ret);
|
||||||
}
|
}
|
||||||
umask(mask_tmp);
|
umask(mask_tmp);
|
||||||
@@ -1227,8 +1235,17 @@ int main(int argc, char ** argv)
|
|||||||
NETCARD_INFO_ST inc_info_list, *listp = NULL;
|
NETCARD_INFO_ST inc_info_list, *listp = NULL;
|
||||||
D5000_NIC_ALARM Malarm;
|
D5000_NIC_ALARM Malarm;
|
||||||
struct sigaction sig;
|
struct sigaction sig;
|
||||||
|
struct passwd *user;
|
||||||
proc_invocation prcm;
|
proc_invocation prcm;
|
||||||
|
|
||||||
|
user = getpwnam("d5000");
|
||||||
|
sprintf(log_path, "%s", user->pw_dir);
|
||||||
|
strcat(log_path, LOG_PATH);
|
||||||
|
sprintf(shm_path, "%s", user->pw_dir);
|
||||||
|
strcat(shm_path, SHM_PATH);
|
||||||
|
sprintf(sem_path, "%s", user->pw_dir);
|
||||||
|
strcat(sem_path, SEM_PATH);
|
||||||
|
|
||||||
memset(&conf, 0, sizeof(CONFIG_FILE_ST));
|
memset(&conf, 0, sizeof(CONFIG_FILE_ST));
|
||||||
if(isrun(argv[0]) == 1){
|
if(isrun(argv[0]) == 1){
|
||||||
printf("the program is already started!\n");
|
printf("the program is already started!\n");
|
||||||
|
|||||||
@@ -14,9 +14,9 @@
|
|||||||
|
|
||||||
#include "nicinfo_shm.h"
|
#include "nicinfo_shm.h"
|
||||||
|
|
||||||
#define SHM_PATH "/tmp/sys_netcard_shm_path"
|
#define SHM_PATH "/home/d5000/tmp/sys_netcard_shm_path"
|
||||||
#define SEM_PATH "/tmp/sys_netcard_sem_path"
|
#define SEM_PATH "/home/d5000/tmp/sys_netcard_sem_path"
|
||||||
#define LOG_PATH "/var/log/netcard/"
|
#define LOG_PATH "/home/d5000/var/log/netcard/"
|
||||||
|
|
||||||
typedef struct net_info{
|
typedef struct net_info{
|
||||||
NETCARD_INFO info[MAXNICNUM];
|
NETCARD_INFO info[MAXNICNUM];
|
||||||
|
|||||||
Reference in New Issue
Block a user