/*---------------------------------------------------------------------------*/ PROCESS_THREAD(udp_server_process, ev, data) { #if UIP_CONF_ROUTER uip_ipaddr_t ipaddr; #endif /* UIP_CONF_ROUTER */ PROCESS_BEGIN(); PRINTF("UDP server started\n"); #if RESOLV_CONF_SUPPORTS_MDNS resolv_set_hostname("contiki-udp-server"); #endif #if UIP_CONF_ROUTER uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); #endif /* UIP_CONF_ROUTER */ print_local_addresses(); server_conn = udp_new(NULL, UIP_HTONS(3001), NULL); udp_bind(server_conn, UIP_HTONS(3000)); while(1) { PROCESS_YIELD(); if(ev == tcpip_event) { tcpip_handler(); } } PROCESS_END(); }
void cetic_6lbr_init_finalize(void) { #if CETIC_6LBR_WITH_RPL if(rpl_fast_startup) { cetic_6lbr_start_dodag_root(); } else { cetic_6lbr_start_delayed_dodag_root(1); } #endif #if CETIC_6LBR_WITH_IP64 if((nvm_data.global_flags & CETIC_GLOBAL_IP64) != 0) { LOG6LBR_INFO("Starting IP64\n"); ip64_eth_addr_set((struct ip64_eth_addr *)eth_mac_addr); if((nvm_data.eth_ip64_flags & CETIC_6LBR_IP64_RFC6052_PREFIX) != 0) { uip_ip6addr_t ip64_prefix = {{ 0, 0x64, 0xff, 0x9b, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}}; ip64_addr_set_prefix(&ip64_prefix, 96); } ip64_init(); if((nvm_data.eth_ip64_flags & CETIC_6LBR_IP64_DHCP) == 0) { memcpy(ð_ip64_addr, nvm_data.eth_ip64_addr, sizeof(nvm_data.eth_ip64_addr)); memcpy(ð_ip64_netmask, nvm_data.eth_ip64_netmask, sizeof(nvm_data.eth_ip64_netmask)); memcpy(ð_ip64_gateway, nvm_data.eth_ip64_gateway, sizeof(nvm_data.eth_ip64_gateway)); ip64_set_ipv4_address(ð_ip64_addr, ð_ip64_netmask); ip64_set_draddr(ð_ip64_gateway); LOG6LBR_4ADDR(INFO, ð_ip64_addr, "IPv4 address : "); } else { ip64_ipv4_dhcp_init(); } } #endif #if RESOLV_CONF_SUPPORTS_MDNS if((nvm_data.global_flags & CETIC_GLOBAL_MDNS) != 0) { LOG6LBR_INFO("Starting MDNS\n"); process_start(&resolv_process, NULL); resolv_set_hostname((char *)nvm_data.dns_host_name); #if RESOLV_CONF_SUPPORTS_DNS_SD if((nvm_data.dns_flags & CETIC_6LBR_DNS_DNS_SD) != 0) { resolv_add_service("_6lbr._tcp", "", nvm_data.webserver_port); } #endif } #endif LOG6LBR_INFO("Starting as " CETIC_6LBR_MODE "\n"); #if CONTIKI_TARGET_NATIVE cetic_6lbr_save_ip(); #endif }