这篇教程C++ uip_ds6_addr_add函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中uip_ds6_addr_add函数的典型用法代码示例。如果您正苦于以下问题:C++ uip_ds6_addr_add函数的具体用法?C++ uip_ds6_addr_add怎么用?C++ uip_ds6_addr_add使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了uip_ds6_addr_add函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: PROCESS_THREAD/*---------------------------------------------------------------------------*/PROCESS_THREAD(unicast_sender_process, ev, data){ static struct etimer periodic_timer; static struct etimer send_timer; uip_ipaddr_t global_ipaddr; PROCESS_BEGIN(); printf("App: %u starting/n", node_id); uip_ip6addr(&root_ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 1); if(node_id == ROOT_ID) { memcpy(&global_ipaddr, &root_ipaddr, 16); uip_ds6_addr_add(&global_ipaddr, 0, ADDR_MANUAL); rpl_dag_t *dag = rpl_set_root(RPL_DEFAULT_INSTANCE, &global_ipaddr); rpl_set_prefix(dag, &global_ipaddr, 64); } else { uip_ip6addr(&global_ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&global_ipaddr, &uip_lladdr); uip_ds6_addr_add(&global_ipaddr, 0, ADDR_AUTOCONF); } orpl_init(&global_ipaddr, node_id == ROOT_ID, 1); simple_udp_register(&unicast_connection, UDP_PORT, NULL, UDP_PORT, receiver); if(node_id == ROOT_ID) { NETSTACK_RDC.off(1); } else { etimer_set(&periodic_timer, SEND_INTERVAL); while(1) { etimer_set(&send_timer, random_rand() % (SEND_INTERVAL)); PROCESS_WAIT_UNTIL(etimer_expired(&send_timer)); if(orpl_current_edc() != 0xffff) { app_send_to(ROOT_ID); } else { printf("App: not in DODAG/n"); } PROCESS_WAIT_UNTIL(etimer_expired(&periodic_timer)); etimer_reset(&periodic_timer); } } PROCESS_END();}
开发者ID:Johnyren,项目名称:orpl,代码行数:49,
示例2: PROCESS_THREAD/*---------------------------------------------------------------------------*/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 UIP_CONF_ROUTER uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 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();}
开发者ID:13416795,项目名称:contiki,代码行数:30,
示例3: PROCESS_THREAD/*---------------------------------------------------------------------------*/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();}
开发者ID:1uk3,项目名称:contiki,代码行数:34,
示例4: uip_ds6_init/*---------------------------------------------------------------------------*/voiduip_ds6_init(void){ PRINTF("Init of IPv6 data structures/n"); PRINTF("%u neighbors/n%u default routers/n%u prefixes/n%u routes/n%u unicast addresses/n%u multicast addresses/n%u anycast addresses/n", UIP_DS6_NBR_NB, UIP_DS6_DEFRT_NB, UIP_DS6_PREFIX_NB, UIP_DS6_ROUTE_NB, UIP_DS6_ADDR_NB, UIP_DS6_MADDR_NB, UIP_DS6_AADDR_NB); memset(uip_ds6_prefix_list, 0, sizeof(uip_ds6_prefix_list)); memset(&uip_ds6_if, 0, sizeof(uip_ds6_if)); memset(uip_ds6_routing_table, 0, sizeof(uip_ds6_routing_table)); /* Set interface parameters */ uip_ds6_if.link_mtu = UIP_LINK_MTU; uip_ds6_if.cur_hop_limit = UIP_TTL; uip_ds6_if.maxdadns = 0; /* Create link local address, prefix, multicast addresses, anycast addresses */ uip_create_linklocal_prefix(&loc_fipaddr); uip_ds6_prefix_add(&loc_fipaddr, UIP_DEFAULT_PREFIX_LEN, 0, 0, 0, 0); uip_ds6_set_addr_iid(&loc_fipaddr, &uip_lladdr); uip_ds6_addr_add(&loc_fipaddr, 0, ADDR_AUTOCONF); uip_create_linklocal_allnodes_mcast(&loc_fipaddr); uip_ds6_maddr_add(&loc_fipaddr); uip_create_linklocal_allrouters_mcast(&loc_fipaddr); uip_ds6_maddr_add(&loc_fipaddr); PRINTF("DS: init set timer to %u/n",UIP_DS6_PERIOD); return;}
开发者ID:Feandil,项目名称:RPL_Gateway,代码行数:30,
示例5: PROCESS_THREAD//**************************************************************************************************************************************************//PROCESS_THREAD(RSSI_SCAN, ev, data){ static struct etimer rssitimer; static struct rtimer rt; PROCESS_BEGIN(); // Set the local address uip_ip6addr(&my_addr, 0, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&my_addr, &uip_lladdr); uip_ds6_addr_add(&my_addr, 0, ADDR_MANUAL); //listening to port 3001 from beacons and sensors listen_conn = udp_new(NULL, UIP_HTONS(0), NULL); //Server Listen connection is bound too port 4001 udp_bind(listen_conn, UIP_HTONS(RECEIVER_PORT)); while(1) { //printf("inside while/n/r"); //etimer_set(&rssitimer, CLOCK_SECOND/200); //GPIO_SET_PIN(GPIO_C_BASE, GPIO_PIN_MASK(1)); //PROCESS_YIELD(); PROCESS_WAIT_EVENT_UNTIL(ev == tcpip_event); if ((ev == tcpip_event)) { recv_handler(); } } PROCESS_END();}
开发者ID:pjdeavers,项目名称:MotionNetContiki,代码行数:31,
示例6: rpl_set_prefixintrpl_set_prefix(rpl_dag_t *dag, uip_ipaddr_t *prefix, int len){ uip_ipaddr_t ipaddr; if(len <= 128) { memset(&dag->prefix_info.prefix, 0, 16); memcpy(&dag->prefix_info.prefix, prefix, (len + 7) / 8); dag->prefix_info.length = len; dag->prefix_info.flags = 0x40; PRINTF("RPL: Prefix set - will announce this in DIOs/n"); /* Autoconfigure an address if this node does not already have an address with this prefix. */ /* assume that the prefix ends with zeros! */ memcpy(&ipaddr, &dag->prefix_info.prefix, 16); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); if(uip_ds6_addr_lookup(&ipaddr) == NULL) { PRINTF("RPL: adding global IP address "); PRINT6ADDR(&ipaddr); PRINTF("/n"); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); } return 1; } return 0;}
开发者ID:Feandil,项目名称:RPL_Gateway,代码行数:27,
示例7: uip_ds6_set_lladdr/*---------------------------------------------------------------------------*/void uip_ds6_set_lladdr(uip_lladdr_t *lladdr){ /* First remove the current address from system as this function * can be called many times. */ uip_ds6_addr_rm(uip_ds6_addr_lookup(&loc_fipaddr)); /* Create link local address, prefix, multicast addresses, * anycast addresses */ uip_create_linklocal_prefix(&loc_fipaddr);#if UIP_CONF_ROUTER uip_ds6_prefix_add(&loc_fipaddr, UIP_DEFAULT_PREFIX_LEN, 0, 0, 0, 0);#else /* UIP_CONF_ROUTER */ uip_ds6_prefix_add(&loc_fipaddr, UIP_DEFAULT_PREFIX_LEN, 0);#endif /* UIP_CONF_ROUTER */ memcpy(&uip_lladdr, lladdr, sizeof(uip_lladdr)); uip_ds6_set_addr_iid(&loc_fipaddr, &uip_lladdr); uip_ds6_addr_add(&loc_fipaddr, 0, ADDR_AUTOCONF); uip_create_linklocal_allnodes_mcast(&loc_fipaddr); uip_ds6_maddr_add(&loc_fipaddr);#if UIP_CONF_ROUTER uip_create_linklocal_allrouters_mcast(&loc_fipaddr); uip_ds6_maddr_add(&loc_fipaddr);#endif /* UIP_CONF_ROUTER */}
开发者ID:CurieBSP,项目名称:zephyr,代码行数:31,
示例8: set_net_addressvoid set_net_address(void){ uip_ipaddr_t ipaddr;#if RPL_BORDER_ROUTER rpl_dag_t *dag;#endif uip_ip6addr(&ipaddr, NET_ADDR_A, NET_ADDR_B, NET_ADDR_C, NET_ADDR_D, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_TENTATIVE); //#if !UIP_CONF_ROUTER// uip_ds6_prefix_add(&ipaddr, 64, 0); // For on-link determination.//#else// uip_ds6_prefix_add(&ipaddr, 64, 0, 0, 600, 600);//#endif print_addresses(); #if RPL_BORDER_ROUTER dag = rpl_set_root(RPL_DEFAULT_INSTANCE,&ipaddr); if(dag != NULL) { PRINTF("This node is setted as root of a DAG./r/n"); } else { PRINTF("Error while setting this node as root of a DAG./r/n"); }#endif }
开发者ID:chanhemow,项目名称:contiki-fork,代码行数:31,
示例9: set_global_address/*---------------------------------------------------------------------------*/static uip_ipaddr_t *set_global_address(void){ static uip_ipaddr_t ipaddr; int i; uint8_t state; 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); printf("IPv6 addresses: "); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { uip_debug_ipaddr_print(&uip_ds6_if.addr_list[i].ipaddr); printf("/n"); if(state == ADDR_TENTATIVE) { uip_ds6_if.addr_list[i].state = ADDR_PREFERRED; } } } return &ipaddr;}
开发者ID:lab-anaws,项目名称:lab2,代码行数:27,
示例10: set_global_address/*---------------------------------------------------------------------------*/static uip_ipaddr_t *set_global_address(void){ static uip_ipaddr_t ipaddr; int i; uint8_t state; /* Assign a unique local address (RFC4193, http://tools.ietf.org/html/rfc4193). */#if CONTIKI_TARGET_TRXEB1120 || CONTIKI_TARGET_ETH1120 || CONTIKI_TARGET_TRXEB2520 || CONTIKI_TARGET_TRXEB1101 || CONTIKI_TARGET_ETH1101 || CONTIKI_TARGET_ETH2520 uip_ip6addr(&ipaddr, 0xfc00, 0, 0xabba, 0xabba, 0, 0, 0, 0);#else /* CONTIKI_TARGET_TRXEB1120 */ uip_ip6addr(&ipaddr, 0xfc00, 0, 0, 0, 0, 0, 0, 0);#endif /* CONTIKI_TARGET_TRXEB1120 */ uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); printf("IPv6 addresses: "); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { uip_debug_ipaddr_print(&uip_ds6_if.addr_list[i].ipaddr); printf("/n"); } } return &ipaddr;}
开发者ID:exziled,项目名称:WeatherSystem,代码行数:30,
示例11: set_global_addressvoid set_global_address(void) { uip_ipaddr_t ipaddr; 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);}
开发者ID:EmuxEvans,项目名称:contiki-cc2530eb,代码行数:7,
示例12: join_mcast_group/*---------------------------------------------------------------------------*/static uip_ds6_maddr_t *join_mcast_group(void){ uip_ipaddr_t addr; uip_ds6_maddr_t *rv; /* First, set our v6 global */ uip_ip6addr(&addr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&addr, &uip_lladdr); uip_ds6_addr_add(&addr, 0, ADDR_AUTOCONF); /* * IPHC will use stateless multicast compression for this destination * (M=1, DAC=0), with 32 inline bits (1E 89 AB CD) */ uip_ip6addr(&addr, 0xFF1E,0,0,0,0,0,0x89,0xABCD); rv = uip_ds6_maddr_add(&addr); if(rv) { PRINTF("Joined multicast group "); PRINT6ADDR(&uip_ds6_maddr_lookup(&addr)->ipaddr); PRINTF("/n"); } return rv;}
开发者ID:PureEngineering,项目名称:contiki,代码行数:26,
示例13: set_global_address/*---------------------------------------------------------------------------*/static uip_ipaddr_t *set_global_address(void){ static uip_ipaddr_t ipaddr; int i; uint8_t state; /* Assign a unique local address (RFC4193, http://tools.ietf.org/html/rfc4193). */ uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); printf("IPv6 addresses: "); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { uip_debug_ipaddr_print(&uip_ds6_if.addr_list[i].ipaddr); printf("/n"); } } return &ipaddr;}
开发者ID:0009281,项目名称:contiki,代码行数:26,
示例14: set_own_addresses/*---------------------------------------------------------------------------*/static voidset_own_addresses(void){ int i; uint8_t state; rpl_dag_t *dag; uip_ipaddr_t ipaddr; 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); PRINTF("Our IPv6 addresses:/n"); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { PRINTF(" "); PRINT6ADDR(&uip_ds6_if.addr_list[i].ipaddr); PRINTF("/n"); if(state == ADDR_TENTATIVE) { uip_ds6_if.addr_list[i].state = ADDR_PREFERRED; } } } /* Become root of a new DODAG with ID our global v6 address */ dag = rpl_set_root(RPL_DEFAULT_INSTANCE, &ipaddr); if(dag != NULL) { rpl_set_prefix(dag, &ipaddr, 64); PRINTF("Created a new RPL dag with ID: "); PRINT6ADDR(&dag->dag_id); PRINTF("/n"); }}
开发者ID:200018171,项目名称:contiki,代码行数:36,
示例15: set_global_address/*-----------------------------------------------------------------------*/static void set_global_address(void){ uip_ipaddr_t ipaddr; 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); /* set sink address */ uip_ip6addr(&sink_ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 1);}
开发者ID:RanHuang,项目名称:nick-project-contiki,代码行数:10,
示例16: set_global_addressstatic voidset_global_address(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF);}
开发者ID:PureEngineering,项目名称:contiki,代码行数:9,
示例17: PROCESS_THREAD/*---------------------------------------------------------------------------*/PROCESS_THREAD(udp_server_process, ev, data){ uip_ipaddr_t ipaddr; struct uip_ds6_addr *root_if; PROCESS_BEGIN(); PROCESS_PAUSE(); SENSORS_ACTIVATE(button_sensor); PRINTF("UDP server started/n");#if UIP_CONF_ROUTER uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 1); /* uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); */ uip_ds6_addr_add(&ipaddr, 0, ADDR_MANUAL); root_if = uip_ds6_addr_lookup(&ipaddr); if(root_if != NULL) { rpl_dag_t *dag; rpl_set_root((uip_ip6addr_t *)&ipaddr); dag = rpl_get_dag(RPL_ANY_INSTANCE); uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); rpl_set_prefix(dag, &ipaddr, 64); PRINTF("created a new RPL dag/n"); } else { PRINTF("failed to create a new RPL DAG/n"); }#endif /* UIP_CONF_ROUTER */ print_local_addresses(); /* The data sink runs with a 100% duty cycle in order to ensure high packet reception rates. */ NETSTACK_RDC.off(1); server_conn = udp_new(NULL, UIP_HTONS(UDP_CLIENT_PORT), NULL); udp_bind(server_conn, UIP_HTONS(UDP_SERVER_PORT)); PRINTF("Created a server connection with remote address "); PRINT6ADDR(&server_conn->ripaddr); PRINTF(" local/remote port %u/%u/n", UIP_HTONS(server_conn->lport), UIP_HTONS(server_conn->rport)); while(1) { PROCESS_YIELD(); if(ev == tcpip_event) { tcpip_handler(); } else if (ev == sensors_event && data == &button_sensor) { PRINTF("Initiaing global repair/n"); rpl_repair_dag(rpl_get_dag(RPL_ANY_INSTANCE)); } } PROCESS_END();}
开发者ID:uoaerg,项目名称:wise,代码行数:57,
示例18: set_prefix_64/*---------------------------------------------------------------------------*/voidset_prefix_64(uip_ipaddr_t *prefix_64){ uip_ipaddr_t ipaddr; memcpy(&prefix, prefix_64, 16); memcpy(&ipaddr, prefix_64, 16); prefix_set = 1; uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF);}
开发者ID:CaptFrank,项目名称:contiki-stm32w,代码行数:11,
示例19: init_dtlsvoidinit_dtls() { static dtls_handler_t cb = { .write = send_to_peer, .read = read_from_peer, .event = NULL,#ifdef DTLS_PSK .get_psk_info = get_psk_info,#endif /* DTLS_PSK */#ifdef DTLS_ECC .get_ecdsa_key = get_ecdsa_key, .verify_ecdsa_key = verify_ecdsa_key#endif /* DTLS_ECC */ };#if 0 uip_ipaddr_t ipaddr; /* struct uip_ds6_addr *root_if; */#endif /* UIP_CONF_ROUTER */ PRINTF("DTLS server started/n");#if 0 /* TEST */ memset(&tmp_addr, 0, sizeof(rimeaddr_t)); if(get_eui64_from_eeprom(tmp_addr.u8));#if UIP_CONF_IPV6 memcpy(&uip_lladdr.addr, &tmp_addr.u8, 8);#endif#endif /* TEST */#if 0/* 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); *//* create_rpl_dag(&ipaddr); *//* #else */ /* uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); */ uip_ip6addr(&ipaddr, 0xaaaa, 0,0,0,0x0200,0,0,0x0003); uip_ds6_addr_add(&ipaddr, 0, ADDR_MANUAL); create_rpl_dag(&ipaddr);#endif /* UIP_CONF_ROUTER */ server_conn = udp_new(NULL, 0, NULL); udp_bind(server_conn, UIP_HTONS(20220)); dtls_set_log_level(DTLS_LOG_DEBUG); dtls_context = dtls_new_context(server_conn); if (dtls_context) dtls_set_handler(dtls_context, &cb);}
开发者ID:jamella,项目名称:MyRepository,代码行数:53,
示例20: set_global_addressstatic void set_global_address(void){ uip_ipaddr_t ipaddr; uip_ip6addr(&ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); /*where is the uip_lladdr defined?*/ uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); /* Mode 2 - 16 bits inline */ /* Set sink address. What if more than one sink? */ uip_ip6addr(&sink_ipaddr, 0xaaaa, 0, 0, 0, 0, 0x00ff, 0xfe00, 1);}
开发者ID:RanHuang,项目名称:nick-project-contiki,代码行数:12,
示例21: uip_ds6_init/*---------------------------------------------------------------------------*/voiduip_ds6_init(void){ uip_ds6_route_init(); PRINTF("Init of IPv6 data structures/n"); PRINTF("%u neighbors/n%u default routers/n%u prefixes/n%u routes/n%u unicast addresses/n%u multicast addresses/n%u anycast addresses/n", UIP_DS6_NBR_NB, UIP_DS6_DEFRT_NB, UIP_DS6_PREFIX_NB, UIP_DS6_ROUTE_NB, UIP_DS6_ADDR_NB, UIP_DS6_MADDR_NB, UIP_DS6_AADDR_NB); memset(uip_ds6_nbr_cache, 0, sizeof(uip_ds6_nbr_cache)); // memset(uip_ds6_defrt_list, 0, sizeof(uip_ds6_defrt_list)); memset(uip_ds6_prefix_list, 0, sizeof(uip_ds6_prefix_list)); memset(&uip_ds6_if, 0, sizeof(uip_ds6_if)); // memset(uip_ds6_routing_table, 0, sizeof(uip_ds6_routing_table)); uip_ds6_addr_size = sizeof(struct uip_ds6_addr); uip_ds6_netif_addr_list_offset = offsetof(struct uip_ds6_netif, addr_list); /* Set interface parameters */ uip_ds6_if.link_mtu = UIP_LINK_MTU; uip_ds6_if.cur_hop_limit = UIP_TTL; uip_ds6_if.base_reachable_time = UIP_ND6_REACHABLE_TIME; uip_ds6_if.reachable_time = uip_ds6_compute_reachable_time(); uip_ds6_if.retrans_timer = UIP_ND6_RETRANS_TIMER; uip_ds6_if.maxdadns = UIP_ND6_DEF_MAXDADNS; /* Create link local address, prefix, multicast addresses, anycast addresses */ uip_create_linklocal_prefix(&loc_fipaddr);#if UIP_CONF_ROUTER uip_ds6_prefix_add(&loc_fipaddr, UIP_DEFAULT_PREFIX_LEN, 0, 0, 0, 0);#else /* UIP_CONF_ROUTER */ uip_ds6_prefix_add(&loc_fipaddr, UIP_DEFAULT_PREFIX_LEN, 0);#endif /* UIP_CONF_ROUTER */ uip_ds6_set_addr_iid(&loc_fipaddr, &uip_lladdr); uip_ds6_addr_add(&loc_fipaddr, 0, ADDR_AUTOCONF); uip_create_linklocal_allnodes_mcast(&loc_fipaddr); uip_ds6_maddr_add(&loc_fipaddr);#if UIP_CONF_ROUTER uip_create_linklocal_allrouters_mcast(&loc_fipaddr); uip_ds6_maddr_add(&loc_fipaddr);#if UIP_ND6_SEND_RA stimer_set(&uip_ds6_timer_ra, 2); /* wait to have a link local IP address */#endif /* UIP_ND6_SEND_RA */#else /* UIP_CONF_ROUTER */ etimer_set(&uip_ds6_timer_rs, random_rand() % (UIP_ND6_MAX_RTR_SOLICITATION_DELAY * CLOCK_SECOND));#endif /* UIP_CONF_ROUTER */ etimer_set(&uip_ds6_timer_periodic, UIP_DS6_PERIOD); return;}
开发者ID:chanderbgoel,项目名称:contiki,代码行数:54,
示例22: sizeofconst ipv6_addr_t *stack_add_prefix(int iface, const ipv6_addr_t *prefix, uint8_t prefix_len){ ipv6_addr_t addr = IPV6_ADDR_UNSPECIFIED; netdev2_t *netdev = (netdev2_t *)&netdevs[iface]; (void)iface; netdev->driver->get(netdev, NETOPT_IPV6_IID, &addr.u64[1], sizeof(addr.u64[1])); ipv6_addr_init_prefix(&addr, prefix, prefix_len); return (ipv6_addr_t *)&(uip_ds6_addr_add((uip_ipaddr_t *)&addr, 0, ADDR_MANUAL)->ipaddr);}
开发者ID:miri64,项目名称:RIOT_playground,代码行数:13,
示例23: PROCESS_THREAD/*---------------------------------------------------------------------------*/PROCESS_THREAD(example_servreg_server_process, ev, data){ uip_ipaddr_t ipaddr; PROCESS_BEGIN(); /* Set a global address. */ uip_ip6addr(&ipaddr, UIP_DS6_DEFAULT_PREFIX, 0, 0, 0, 0, 0, 0, 0); uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); servreg_hack_register(188, &ipaddr); PROCESS_END();}
开发者ID:13416795,项目名称:contiki,代码行数:15,
示例24: set_global_addressstatic voidset_global_address(void){ uip_ipaddr_t ipaddr; 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); /* set server address */ uip_ip6addr(&server_ipaddr, 0xaaaa, 0, 0, 0, 0, 0, 0, 1); //uip_ip6addr(&server_ipaddr, 0xfe80, 0, 0, 0,0x0212, 0x7401, 1, 0x0101);}
开发者ID:alirezapourbahram,项目名称:IoT-Wormhole-IDS,代码行数:14,
示例25: uip_sock_init/*-------------------------------------------| Name:uip_sock_init| Description:| Parameters:| Return Type:| Comments:| See:---------------------------------------------*/int uip_sock_init(void) {#if defined (USE_UIP) int i; socketList = (socket_t*)&_socketList; socksconn_state_list = (struct socksconn_state*)&_socksconn_state_list; uip_init(); #if UIP_CONF_IPV6 { uip_ip6addr_t ip6addr; memcpy(uip_lladdr.addr, "/x00/x0c/x29/x28/x23/x45", 6); // Set in zigbeestack.cpp (UID) uip_ip6addr(&ip6addr, 0xfe80,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0002); uip_sethostaddr(&ip6addr); uip_ipaddr_copy(&uip_hostaddr, &ip6addr); tcpip_init(); // rpl_init() is called inside tcpip_init() clock_init(); uip_ds6_addr_add(&ip6addr, 0, ADDR_MANUAL); } #endif //ethernet #if defined(USE_IF_ETHERNET) #if !UIP_CONF_IPV6 uip_arp_init(); #endif#endif for(i=0; i<MAX_SOCKET; i++) { #if UIP_CONF_IPV6 socketList[i].addr_in.sin6_port=0; #else socketList[i].addr_in.sin_port=0; #endif socketList[i].socksconn=NULL; socketList[i].desc = -1; } for(i=0; i<UIP_CONNS; i++) { socksconn_state_list[i].hsocks=NULL; uip_conns[i].appstate.state = &socksconn_state_list[i]; } for(;i<(UIP_CONNS+UIP_UDP_CONNS);i++){ socksconn_state_list[i].hsocks=NULL; uip_udp_conns[i-UIP_CONNS].appstate.state = &socksconn_state_list[i]; }#else return -1;#endif return 0;}
开发者ID:lepton-distribution,项目名称:lepton,代码行数:57,
示例26: net_init/*---------------------------------------------------------------------------*/static voidnet_init(uip_ipaddr_t *br_prefix){ uip_ipaddr_t global_ipaddr; if(br_prefix) { /* We are RPL root. Will be set automatically as TSCH pan coordinator via the tsch-rpl module */ memcpy(&global_ipaddr, br_prefix, 16); uip_ds6_set_addr_iid(&global_ipaddr, &uip_lladdr); uip_ds6_addr_add(&global_ipaddr, 0, ADDR_AUTOCONF); rpl_set_root(RPL_DEFAULT_INSTANCE, &global_ipaddr); rpl_set_prefix(rpl_get_any_dag(), br_prefix, 64); rpl_repair_root(RPL_DEFAULT_INSTANCE); } NETSTACK_MAC.on();}
开发者ID:matzTada,项目名称:contiki,代码行数:18,
示例27: set_prefix_64/*---------------------------------------------------------------------------*/voidset_prefix_64(uip_ipaddr_t *prefix_64){ rpl_dag_t *dag; uip_ipaddr_t ipaddr; memcpy(&prefix, prefix_64, 16); memcpy(&ipaddr, prefix_64, 16); prefix_set = 1; uip_ds6_set_addr_iid(&ipaddr, &uip_lladdr); uip_ds6_addr_add(&ipaddr, 0, ADDR_AUTOCONF); dag = rpl_set_root(RPL_DEFAULT_INSTANCE, &ipaddr); if(dag != NULL) { rpl_set_prefix(dag, &prefix, 64); PRINTF("created a new RPL dag/n"); }}
开发者ID:jamella,项目名称:MyRepository,代码行数:18,
注:本文中的uip_ds6_addr_add函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ uip_ds6_addr_lookup函数代码示例 C++ uip_datalen函数代码示例 |