示例#1
0
文件: list_port.c 项目: n-tada/trema
static void
print_all_port_status( void *param, size_t entries, const topology_port_status *s ) {
  size_t i;

  UNUSED( param );

  printf( "datapath-id      no    name         ethernet-address  state\n" );
  for ( i = 0; i < entries; i++ ) {
    print_port_status( &s[ i ] );
  }

  stop_messenger();
}
示例#2
0
static void manual_cmd_handler(int sig_no)
{
	FILE *fp;
	char line[300], *t1=NULL, *t2=NULL, *t3=NULL, *t4=NULL;
	int num;
	char tmp_buf[100];
	char cmd_rsp[MAX_HOST_CMD_LEN];
	
	fp = fopen(CMD_FILE, "r");	
	
	if (fp == NULL) {
		DEBUG_ERR("manual cmd file empty!\n");
		return;
	}
		
	fgets(line, sizeof(line), fp);
	fclose(fp);
	unlink(CMD_FILE);
	
	num = get_token(line,  &t1, &t2, &t3, &t4);
	

	if (!strcmp(t1, DUMP_ALL_MIB)) {
		printf("\n------ Read/Write MIB ------\n");
		sprintf(tmp_buf,"%s ",t2);
		dump_mib( 1, tmp_buf);
	}
	else if (num == 2 && !strcmp(t1, "getstainfo")) {
		printf("\n--------getstainfo---------- \n");
		strcpy(cmd_rsp,t2);
		if(do_cmd(id_getstainfo,cmd_rsp,strlen(t2)+1, 0) < 0)
			DEBUG_ERR("getstainfo failed !\n");	
		else//ok
			print_stainfo(cmd_rsp);
	}
	else if (num == 2 && !strcmp(t1, "getassostanum")) {
		printf("\n--------getassostanum---------- \n");
		strcpy(cmd_rsp,t2);
		if(do_cmd(id_getassostanum,cmd_rsp,strlen(t2)+1, 0) < 0)
			DEBUG_ERR("getassostanum failed !\n");	
		else
			printf("Associated statsion number = %d \n",(unsigned char)cmd_rsp[0]);
	}
	else if (num == 2 &&  !strcmp(t1, "getbssinfo")) {
		printf("\n--------getbssinfo---------- \n");
		strcpy(cmd_rsp,t2);
		if(do_cmd(id_getbssinfo,cmd_rsp,strlen(t2)+1, 0) < 0)
			DEBUG_ERR("getbssinfo failed !\n");	
		else//ok
			print_bssinfo(cmd_rsp);
	}
	else if (num == 2 && !strcmp(t1, "set_mib")) {
		if(do_cmd(id_set_mib,t2,strlen(t2)+1, 0) < 0)
			DEBUG_ERR("set_mib failed : [%s]!\n", t2);	
		else//ok
			printf("set_mib ok: [%s]\n", t2);	
	}
	else if (num == 2 && !strcmp(t1, "get_mib")) { 
		if(do_cmd(id_get_mib,t2,strlen(t2)+1, 0) < 0)
			DEBUG_ERR("get_mib failed : [%s]!\n", t2);	
		else//ok
			printf("get_mib ok: [%s]\n", t2);
		//printf("get_mib [%s] :",t2);	
		//dump_mib( 0, t2);
	}
	else if (num == 2 && !strcmp(t1, "sysinit")) {
		strcpy(tmp_buf,t2);
		if(do_cmd(id_sysinit,t2,strlen(t2)+1, 0) < 0)
			DEBUG_ERR("sysinit failed : [%s]!\n", tmp_buf);	
		else//ok
			printf("sysinit ok: [%s]\n", tmp_buf);	
	}
	else if (num == 2 && !strcmp(t1, "getlanstatus")) {
		strcpy(cmd_rsp,t2);
		if(do_cmd(id_getlanstatus,cmd_rsp,strlen(t2)+1, 0) < 0)
			DEBUG_ERR("getlanstatus failed : [%s]!\n", t2);	
		else//ok
		{			
			printf("getlanstatus ok: [%s]\n", t2);	
			print_port_status(cmd_rsp);
		}	
	}
	else if (num == 2 && !strcmp(t1, "getstats")) {
		strcpy(cmd_rsp,t2);
		if(do_cmd(id_getstats,cmd_rsp,strlen(t2)+1, 0) < 0)
			DEBUG_ERR("getstats failed : [%s]!\n", t2);	
		else//ok
		{
			printf("getstats ok: [%s] \n", t2);	
			print_port_stats(cmd_rsp);
		}	
	}
	else {
		DEBUG_ERR("%s: invalid cmd! [num=%d, t1=%s, t2=%s, t3=%s]\n", 
							__FUNCTION__, num, t1, t2, t3);
	}
}