Exemple #1
0
	struct lisp_db *
ms_init_db()
{
	struct prefix p;
	struct db_node *dn;
	struct lisp_db *db;
	db = calloc(1, sizeof(struct lisp_db));

	//make new tree
	db->lisp_db4 = db_table_init(&ms_free_node);
	db->lisp_db6 = db_table_init(&ms_free_node);

	//assign 0.0.0.0/0 as root of ipv4 tree
	str2prefix("0.0.0.0/0",&p);
	apply_mask(&p);
	dn = db_node_get(db->lisp_db4,&p);
	assert(dn == (db->lisp_db4->top));
	dn->flags = ms_new_node_ex(_ROOT);

	//and 0::/0 as root of ipv6 tree
	str2prefix("0::/0",&p);
	apply_mask(&p);
	dn = db_node_get(db->lisp_db6,&p);
	assert(dn == (db->lisp_db6->top));
	dn->flags = ms_new_node_ex(_ROOT);

	return db;
}
Exemple #2
0
void MainWindow::db_connect()
{
    // SQLlite3 database driver
    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

    //db.setDatabaseName(path);
    db.setDatabaseName("contacts.db");

    if(!db.open()) {
        statusBar()->showMessage(codec->toUnicode("DB 접속 실패 하였습니다."));
        g_DB_Connection = false;
    } else {
        statusBar()->showMessage(codec->toUnicode("DB에 접속 하였습니다."));
        g_DB_Connection = true;
        db_table_init();
    }
}
Exemple #3
0
int main(int argc,char **argv)
{
/*
	Tell my thread id
*/

	app_module_inst_init();

	npd_init_tell_whoami("NpdMain",0);

    system_cpu_num = npd_system_cpu_num();

	/* TODO: how many threads should be created here need to be considered carefully later*/
/*
      Open the syslog to record the init info
*/
    npd_log_init();   

    npd_log_set_debug_value(NPD_LOG_FLAG_ALL);

    db_table_init();
	npd_dbtable_sync_startup();
/* 
	Read software version and build number
 */
 	npd_init_sw_version();
	syslog_ax_main_dbg("system software version %d.%d.%d build %d\n",sw_maj_v,sw_min_v,sw_comp_v,sw_build_v);

/*
	Read cpld and get product id and module id information.
*/	

	syslog_ax_main_dbg("init product info\n");
	product_init();


/*	
	Probe chassis slot status and build slots data
*/
	syslog_ax_main_dbg("init chassis info\n");
	npd_init_chassis_slots();

    syslog_ax_main_dbg("init ASIC chip\n");
	npd_fw_engines_init();

/*
	Wait until ASIC initialization process done
*/
	npd_fw_engine_initialization_check();
	syslog_ax_main_dbg("Local ASIC initialization done!\n");

/*
    Initialize NETIF event structure
*/
    netif_event_init();

/*
	Build vlan data
*/
	syslog_ax_main_dbg("init vlan info\n");
	npd_init_vlan();

/*
	Build port data
*/
	syslog_ax_main_dbg("init eth port info\n");
	npd_init_eth_ports();

#ifdef HAVE_POE
	syslog_ax_main_dbg("init poe info\n");
	npd_poe_init();
#endif
#ifdef HAVE_SFLOW
	npd_sflow_init();
#endif
/*
	Build trunk data
*/
	syslog_ax_main_dbg("init trunk info\n");
	npd_init_trunks();

	syslog_ax_main_dbg("init switch port info\n");
    npd_init_switch_ports();

/* 
	Init socket for packet Rx/Tx
*/
	syslog_ax_main_dbg("init packet sockets\n");
	npd_init_packet_socket();


#ifdef HAVE_PVLAN
/*
	Init private vlan
*/
	syslog_ax_main_dbg("init pvlan info\n");
	npd_pvlan_init();
#endif

#ifdef HAVE_BRIDGE_STP
    syslog_ax_main_dbg("Init stp info\n");
    npd_init_stp();
#endif


#ifdef HAVE_ACL
/*
	Init Acl Rule structure
 */
	syslog_ax_main_dbg("init acl info\n");
#ifndef HAVE_DIFF_OS
    npd_qos_init();
#endif

#endif

#ifdef HAVE_UDLD
    npd_udld_init();
#endif

#ifdef HAVE_ERPP
    npd_erpp_init();
#endif
/*
	Init static FDB database
 */
 	syslog_ax_main_dbg("init fdb info\n");
 	npd_fdb_table_init();

#ifdef HAVE_MIRROR
/*
	Init mirror init();	
*/
	syslog_ax_main_dbg("init mirror\n");
	npd_mirror_init();
#endif

#ifdef HAVE_LACP
    syslog_ax_main_dbg("Init lacp info\n");
    npd_lacp_init();
#endif

#ifdef HAVE_IGMP_SNP
	syslog_ax_main_dbg("init igmp info\n");
    igmp_snp_init();
#endif


/*
	Build L3 interface data
*/
	syslog_ax_main_dbg("init intf info\n");
	npd_intf_init();


/*
	add DHCP table
*/
#ifdef HAVE_DHCP_SNP
    syslog_ax_main_dbg("init dhcp snooping\n");
	npd_dhcp_snp_init();
	npd_ip_source_guard_init();
#endif


#ifdef HAVE_IP_TUNNEL
/*
	Init x-over-ip tunnel 
*/
	syslog_ax_main_dbg("init tunnel info\n");
	npd_tunnel_init();
#endif

/*
	Init ARP Snooping Hash table
 */
	syslog_ax_main_dbg("init arp snooping info\n");
 	npd_init_arpsnooping();
#ifdef HAVE_NPD_IPV6	
/*
	Init neighbour Snooping Hash table
 */
	syslog_ax_main_dbg("init neighbour snooping info\n");
 	npd_init_neighbour_snooping();
#endif //HAVE_NPD_IPV6

#ifdef  HAVE_VRRP
/*
    npd init tracking group
*/
    npd_tracking_init();
#endif

#ifdef HAVE_ZEBRA
/*
	add netlink sysinfo
*/
	syslog_ax_main_dbg("init route info\n");
	npd_route_init();
#endif

#ifdef HAVE_DHCP_RELAY
	npd_dhcpr_init();
#endif	

#if defined(HAVE_NPD_IPV6) && defined(HAVE_DHCPV6_RELAY)
    npd_dhcpv6_relay_table_init();
#endif
/*
	Init dbus to get ready for accept management command
*/	
	syslog_ax_main_dbg("init dbus info\n");
	npd_dbus_init();

	syslog_ax_main_dbg("init chassis probe thread\n");
	npd_init_chassis_manage_thread();	

    syslog_ax_main_dbg("wait chassis ready\n");
	npd_chassis_manage_initialization_check();
	syslog_ax_main_dbg("chassis init done!\n");

	npd_eth_port_register_notifier_hook();

#ifdef HAVE_BRIDGE_STP
	syslog_ax_main_dbg("Create rstp msg thread\n");
	npd_rstp_msg_init();
#endif
#ifdef HAVE_IGMP_SNP
	syslog_ax_main_dbg("Create IGMP snooping msg thread\n");
	npd_igmp_snp_msg_init();
#endif

#ifdef HAVE_VRRP
    syslog_ax_main_dbg("Create vrrp thread\n");
	npd_vrrp_msg_init();
#endif
#ifdef HAVE_SMART_LINK
    syslog_ax_main_dbg("Create smart-link thread\n");
	npd_smart_link_msg_init();
#endif
#ifdef HAVE_IP_TUNNEL
	/* tunnel netlink */
	syslog_ax_main_dbg("Create Tunnel Net Link thread\n");
	nam_thread_create("TunnelNetlink",(void *)npd_tunnel_recv_netlink_msg,NULL,NPD_TRUE,NPD_FALSE);
#endif
#ifdef HAVE_DLDP
	syslog_ax_main_dbg("Create DLDP msg thread\n");
	npd_dldp_msg_init();
#endif
#ifdef HAVE_AAA
	syslog_ax_main_dbg("Create ASD msg thread\n");
	npd_asd_msg_init();
#endif
#ifdef HAVE_CAPWAP_ENGINE	
	syslog_ax_main_dbg("Create CAPWAP thread\n");
    npd_capwap_init();
#endif //HAVE_CAPWAP_ENGINE
#ifdef HAVE_M4_TUNNEL
	npd_ip_tunnel_init();
#endif
/* 
	check if system has started up correctly and then open asic interrupt
*/
	syslog_ax_main_dbg("Create SFP Polling thread\n");
	nam_thread_create("SysWaitSfpPoll",(void *)npd_check_system_startup_state,NULL,NPD_TRUE,NPD_FALSE);

	syslog_ax_main_dbg("Create Attack Check Polling thread\n");
	nam_thread_create("SysAttackCheck",(void *)npd_check_system_attack,NULL,NPD_TRUE,NPD_FALSE);
#if defined(HAVE_CHASSIS_SUPPORT) || defined(HAVE_STACKING)
    if(!SYS_LOCAL_MODULE_ISMASTERACTIVE)
        nam_thread_create("NpdDBSync",(void *)npd_dbtable_thread_main,NULL,NPD_TRUE,NPD_FALSE);
#endif
    npd_app_msg_run();
#ifndef HAVE_LOGTOOL_NONE
/*
	  close the syslog 
*/

	npd_log_set_debug_value(0);
#endif
	
	syslog_ax_main_dbg("Create NPD DBUS thread\n");

	nam_thread_create("NpdDBUS",(void *)npd_dbus_thread_main,NULL,NPD_TRUE,NPD_TRUE);
	while(1)
	{
		osTimerWkAfter(10000);
	    syslog_ax_main_dbg("Mainthread is running ... \n");
	}
	return 0;
}