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; }
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(); } }
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; }