Пример #1
0
int rmm_modules_init(unsigned int modules, unsigned int jipmi_port_attr, unsigned int jsonrpcapi_bitmap)
{
#define INIT_MAX_RETRY    10

	int port = 0;
	int ret = -1;
	
	if (modules | MODULEINIT_LOG) {
		ret = rmm_log_init();
		if (ret == -1)
			return -1;
	}

	if (modules | MODULEINIT_COREDUMP)
		enable_core_dump();

	if (modules | MODULEINIT_REDFISHD) {
		port = rmm_cfg_get_port(REDFISHD_PORT);
		ret = rf_connect(INADDR_LOOPBACK, port);
		if (ret == -1)
			return -1;
		port = rmm_cfg_get_port(SNMPAGENTD_PORT);
		ret = snmp_subagentd_connect(INADDR_LOOPBACK, port);
		if (ret == -1)
			return -1;
	}

	if (modules | MODULEINIT_GAMI_REG) {
		ret = is_gami_reg_ready(INIT_MAX_RETRY);
		if (ret == -1)
			return -1;
	}

	if (modules | MODULEINIT_ASSETD) {
		ret = is_assetd_ready(INIT_MAX_RETRY);
		if (ret == -1)
			return -1;
	}

	if (jsonrpcapi_bitmap) {
		port  = rmm_cfg_get_port(jipmi_port_attr);
		libjsonrpcapi_init(JSONRPCINIT_MEMDB | JSONRPCINIT_JIPMI, port);
		if (jsonrpcapi_bitmap | JSONRPCINIT_MEMDB)
			ret = libdb_is_ready(DB_RMM, LOCK_ID_NULL, -1);

		if (ret == -1)
			return -1; 
	}

	return 0;
}
Пример #2
0
int main(int argc, char **argv)
{
	reg_sigterm_handler(sigterm_handler);
	rmm_log_init();
	enable_core_dump();

	init_ipmi_subscribe();

	ipmi_init();

	register_ipmb_resp();

	register_rmcp_resp();

	IPMI_LOG_INFO("IPMI-Daemon is Running ...\n");

	fd_events_main_loop();
	return 0;
}