Changeset 364 for asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet
- Timestamp:
- Feb 1, 2019, 9:57:09 PM (5 years ago)
- Location:
- asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet
- Files:
-
- 23 edited
Legend:
- Unmodified
- Added
- Removed
-
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/Makefile.tinet
r352 r364 93 93 in_subr.o route_cfg.o 94 94 TINET_CFG_COBJS := $(TINET_CFG_COBJS) tinet_cfg.o 95 TINET_CFG2_OUT_SRCS := $(TINET_CFG2_OUT_SRCS) tinet_cfg.h tinet_cfg.c 95 96 96 97 # IPv6 … … 328 329 329 330 CFG_COBJS := $(CFG_COBJS) $(TINET_CFG_COBJS) 331 CFG2_OUT_SRCS := $(CFG2_OUT_SRCS) $(TINET_CFG2_OUT_SRCS) 330 332 331 333 CLEAN_FILES := $(CLEAN_FILES) $(TINET_CFG_OUT) $(MAKE_TINET_LIB) -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/net/ethernet.h
r352 r364 98 98 #endif /* of #ifndef IF_ETHER_NIC_HDR_ALIGN */ 99 99 100 #if defined(__RX) || defined(_MSC_VER)101 100 #if defined(__RX) 102 101 #pragma pack 103 #el se102 #elif defined(_MSC_VER) 104 103 #pragma pack(push, 1) 105 104 #endif 105 106 #if defined(__RX) || defined(_MSC_VER) 107 106 108 typedef struct t_ether_header { 107 109 … … 116 118 uint16_t type; 117 119 } T_ETHER_HDR; 118 #if defined(__RX)119 #pragma packoption120 #else121 #pragma pack(pop)122 #endif123 120 124 121 #elif defined(TOPPERS_S810_CLG3_85) /* of #if defined(__RX) */ … … 166 163 uint8_t lladdr[ETHER_ADDR_LEN]; 167 164 } __attribute__((packed, aligned(2))) T_ETHER_ADDR; 165 166 #if defined(__RX) 167 #pragma packoption 168 #elif defined(_MSC_VER) 169 #pragma pack(pop) 170 #endif 168 171 169 172 /* -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/net/net_asp.cfg
r352 r364 41 41 42 42 INCLUDE("net/net.cfg"); 43 44 #ifndef NOUSE_MPF_NET_BUF 43 45 44 46 /* … … 169 171 }); 170 172 #endif /* of #if defined(NUM_MPF_NET_BUF6_65536) && NUM_MPF_NET_BUF6_65536 > 0 */ 173 174 #endif -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/net/net_buf.c
r352 r364 68 68 #include <netinet/tcp_var.h> 69 69 70 #ifndef NOUSE_MPF_NET_BUF 71 70 72 /* 71 73 * 関数 … … 226 228 #endif /* of #if defined(NUM_MPF_NET_BUF_128) && NUM_MPF_NET_BUF_128 > 0 */ 227 229 228 #if defined(_IP4_CFG) 230 #if defined(_IP6_CFG) 231 232 #if defined(NUM_MPF_NET_BUF_CSEG) && NUM_MPF_NET_BUF_CSEG > 0 233 { 234 MPF_NET_BUF_CSEG, 235 IF_HDR_SIZE + IP_HDR_SIZE + TCP_HDR_SIZE, 236 237 #if NET_COUNT_ENABLE & PROTO_FLG_NET_BUF 238 239 NUM_MPF_NET_BUF_CSEG, 240 241 #endif /* of #if NET_COUNT_ENABLE & PROTO_FLG_NET_BUF */ 242 243 }, 244 #endif /* of #if defined(NUM_MPF_NET_BUF_CSEG) && NUM_MPF_NET_BUF_CSEG > 0 */ 245 246 #endif /* of #if defined(_IP6_CFG) */ 229 247 230 248 #if defined(NUM_MPF_NET_BUF_64) && NUM_MPF_NET_BUF_64 > 0 … … 242 260 #endif /* of #if defined(NUM_MPF_NET_BUF_64) && NUM_MPF_NET_BUF_64 > 0 */ 243 261 244 # endif /* of #if defined(_IP4_CFG) */262 #if defined(_IP4_CFG) && !defined(_IP6_CFG) 245 263 246 264 #if defined(NUM_MPF_NET_BUF_CSEG) && NUM_MPF_NET_BUF_CSEG > 0 … … 257 275 }, 258 276 #endif /* of #if defined(NUM_MPF_NET_BUF_CSEG) && NUM_MPF_NET_BUF_CSEG > 0 */ 277 278 #endif /* of #if defined(_IP4_CFG) && !defined(_IP6_CFG) */ 259 279 260 280 }; … … 307 327 308 328 while (1) { 309 if ((error = tget_mpf((ID)net_buf_table[ix].index, (void *)buf, ix == 0 ? tmout : TMO_POL)) == E_OK) {329 if ((error = tget_mpf((ID)net_buf_table[ix].index, (void **)buf, ix == 0 ? tmout : TMO_POL)) == E_OK) { 310 330 (*buf)->idix = (uint8_t)ix; 311 331 (*buf)->len = (uint16_t)minlen; … … 320 340 return error; 321 341 } 322 else if (ix == 0 || net_buf_table[ix].size > maxlen) 342 ix --; 343 if (ix < 0 || net_buf_table[ix].size > maxlen) 323 344 break; 324 ix --;325 345 } 326 346 … … 351 371 352 372 while (1) { 353 if ((error = tget_mpf((ID)net_buf_table[ix].index, (void *)buf,373 if ((error = tget_mpf((ID)net_buf_table[ix].index, (void **)buf, 354 374 ix == sizeof(net_buf_table) / sizeof(T_NET_BUF_ENTRY) - 1 ? tmout : TMO_POL)) == E_OK) { 355 375 (*buf)->idix = (uint8_t)ix; … … 359 379 (*buf)->conn_pos = 0; 360 380 #endif 381 361 382 #if NET_COUNT_ENABLE & PROTO_FLG_NET_BUF 362 383 NET_COUNT_NET_BUF(net_buf_table[ix].allocs, 1); … … 454 475 /* 固定メモリプールに返す。*/ 455 476 456 #if NET_COUNT_ENABLE & PROTO_FLG_NET_BUF 457 net_buf_table[buf->idix].busies --; 458 #endif 459 if ((error = rel_mpf((ID)net_buf_table[buf->idix].index, buf)) != E_OK) { 460 syslog(LOG_WARNING, "[NET BUF] %s, ID=%d.", itron_strerror(error), buf->idix); 477 int idix = buf->idix; 478 #if NET_COUNT_ENABLE & PROTO_FLG_NET_BUF 479 net_buf_table[idix].busies --; 480 #endif 481 if ((error = rel_mpf((ID)net_buf_table[idix].index, buf)) != E_OK) { 482 syslog(LOG_WARNING, "[NET BUF] %s, ID=%d.", itron_strerror(error), idix); 461 483 } 462 484 } … … 509 531 return (uint_t)net_buf_table[0].size; 510 532 } 533 534 #else 535 #include <stdlib.h> 536 537 /* 538 * tget_net_buf_ex -- ネットワークバッファを獲得する(拡張機能)。 539 */ 540 541 ER 542 tget_net_buf_ex (T_NET_BUF **buf, uint_t minlen, uint_t maxlen, ATR nbatr, TMO tmout) 543 { 544 uint_t len = (minlen > maxlen) ? minlen : maxlen; 545 *buf = (T_NET_BUF *)malloc(sizeof(T_NET_BUF) - sizeof(((T_NET_BUF *)0)->buf) + len); 546 if (*buf == NULL) 547 return E_NOMEM; 548 549 (*buf)->idix = 0; 550 (*buf)->len = (uint16_t)len; 551 (*buf)->flags = 0; 552 #ifdef IF_ETHER_MULTI_NIC 553 (*buf)->conn_pos = 0; 554 #endif 555 556 return E_OK; 557 } 558 559 /* 560 * tget_net_buf -- ネットワークバッファを獲得する(互換)。 561 */ 562 563 ER 564 tget_net_buf (T_NET_BUF **buf, uint_t len, TMO tmout) 565 { 566 return tget_net_buf_ex(buf, len, len, NBA_SEARCH_ASCENT, tmout); 567 } 568 569 570 /* 571 * rel_net_buf -- ネットワークバッファを返却する。 572 */ 573 574 ER 575 rel_net_buf (T_NET_BUF *buf) 576 { 577 free(buf); 578 579 return E_OK; 580 } 581 582 583 /* 584 * net_buf_max_siz -- ネットワークバッファの最大サイズを返す。 585 */ 586 587 uint_t 588 net_buf_max_siz (void) 589 { 590 return (uint_t)IF_PDU_SIZE; 591 } 592 593 #endif -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netapp/dbg_cons.c
r352 r364 666 666 "IX Expire State MAC Address IP Address\n"); 667 667 668 /* expire の単位は [ ms]。*/668 /* expire の単位は [us]。*/ 669 669 get_tim(&now); 670 670 cache = nd6_get_cache(); … … 705 705 "IX Expire MAC Address IP Address\n"); 706 706 707 /* expire の単位は [ ms]。*/707 /* expire の単位は [us]。*/ 708 708 cache = arp_get_cache(); 709 709 for (ix = 0; ix < NUM_ARP_ENTRY; ix ++) { … … 753 753 WAI_NET_CONS_PRINTF(); 754 754 get_tim(&now); 755 cons_printf(portid, "ネットワーク統計情報\t経過時間[ ms]\t%lu\t", now);755 cons_printf(portid, "ネットワーク統計情報\t経過時間[us]\t%lu\t", now); 756 756 if (now > (1000 * 3600 * 24)) 757 757 cons_printf(portid, "%3lu日 %2lu時間 %2lu分 %2lu秒\n", … … 938 938 } 939 939 940 cons_printf(portid, "\nネットワーク統計情報\t経過時間[ ms]\t%lu\t", now);940 cons_printf(portid, "\nネットワーク統計情報\t経過時間[us]\t%lu\t", now); 941 941 if (now > (1000 * 3600 * 24)) 942 942 cons_printf(portid, "%3lu日 %2lu時間 %2lu分 %2lu秒\n", … … 1065 1065 WAI_NET_CONS_PRINTF(); 1066 1066 get_tim(&now); 1067 cons_printf(portid, "ネットワークバッファ情報\t経過時間[ ms]\t%u\n", now);1067 cons_printf(portid, "ネットワークバッファ情報\t経過時間[us]\t%u\n", now); 1068 1068 1069 1069 #if NET_COUNT_ENABLE … … 1577 1577 cons_printf(portid, " IP Address\n"); 1578 1578 1579 /* expire の単位は [ ms]。*/1579 /* expire の単位は [us]。*/ 1580 1580 get_tim(&now); 1581 1581 dr = nd6_get_drl(&count); … … 2298 2298 2299 2299 cons_printf(portid, "ND:\n"); 2300 cons_printf(portid, " TMO_ND6_RTR_SOL_DELAY: %5d[ ms]\n", TMO_ND6_RTR_SOL_DELAY);2301 cons_printf(portid, " TMO_ND6_RTR_SOL_INTERVAL: %5d[ ms]\n", TMO_ND6_RTR_SOL_INTERVAL);2300 cons_printf(portid, " TMO_ND6_RTR_SOL_DELAY: %5d[us]\n", TMO_ND6_RTR_SOL_DELAY); 2301 cons_printf(portid, " TMO_ND6_RTR_SOL_INTERVAL: %5d[us]\n", TMO_ND6_RTR_SOL_INTERVAL); 2302 2302 cons_printf(portid, " NUM_IP6_DAD_COUNT: %5d\n", NUM_IP6_DAD_COUNT); 2303 2303 cons_printf(portid, " NUM_ND6_CACHE_ENTRY: %5d\n", NUM_ND6_CACHE_ENTRY); -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netapp/dhcp4_cli.c
r352 r364 2031 2031 2032 2032 /* 休止する。*/ 2033 if (error == E_OK) 2034 syslog(LOG_NOTICE, "[DHCP4C] lease released, go to sleep."); 2033 if (error == E_OK) { 2034 if (ct->fsm != DHCP4_FSM_SLEEP) 2035 syslog(LOG_NOTICE, "[DHCP4C] lease released, go to sleep."); 2036 } 2035 2037 else { 2036 2038 syslog(LOG_NOTICE, "[DHCP4C] server not available, go to sleep, error: %s.", itron_strerror(error)); … … 2158 2160 2159 2161 /* 休止する。*/ 2160 if (ct->error == E_OK) 2161 syslog(LOG_NOTICE, "[DHCP4C] lease released, go to sleep."); 2162 if (ct->error == E_OK) { 2163 if (ct->fsm != DHCP4_FSM_SLEEP) 2164 syslog(LOG_NOTICE, "[DHCP4C] lease released, go to sleep."); 2165 } 2162 2166 else { 2163 2167 syslog(LOG_NOTICE, "[DHCP4C] server not available, go to sleep, error: %s.", itron_strerror(ct->error)); -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netapp/wwws.c
r352 r364 708 708 len += put_str(cepid, srbuf, response); 709 709 get_tim(&finish); 710 syslog(LOG_NOTICE, "[WWWn:%02u SND] send: index.html, len: %4u, time: %lu [ ms]",710 syslog(LOG_NOTICE, "[WWWn:%02u SND] send: index.html, len: %4u, time: %lu [us]", 711 711 cepid, len, (finish - start) * 1000 / SYSTIM_HZ); 712 712 return E_OK; … … 1609 1609 1610 1610 get_tim(&finish); 1611 syslog(LOG_NOTICE, "[WWWn:%02u SND]send: stat.html, len: %4u, time: %lu [ ms]",1611 syslog(LOG_NOTICE, "[WWWn:%02u SND]send: stat.html, len: %4u, time: %lu [us]", 1612 1612 cepid, len, (finish - start) * 1000 / SYSTIM_HZ); 1613 1613 return E_OK; -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet/icmp6.h
r352 r364 291 291 typedef struct t_router_advert_hdr { 292 292 T_ICMP6_HDR hdr; 293 uint32_t reachable; /* [ ms] 到達可能時間 */294 uint32_t retransmit; /* [ ms] 近隣要請送信間隔 */293 uint32_t reachable; /* [us] 到達可能時間 */ 294 uint32_t retransmit; /* [us] 近隣要請送信間隔 */ 295 295 /* この後にオプションが続く */ 296 296 } __attribute__((packed, aligned(2))) T_ROUTER_ADVERT_HDR; -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet/in4_subr.c
r352 r364 287 287 288 288 /* IP ヘッダを設定する。*/ 289 if ((error = in4_set_header(*nbuf, len, dstaddr, srcaddr, proto, ttl)) != E_OK) 289 if ((error = in4_set_header(*nbuf, len, dstaddr, srcaddr, proto, ttl)) != E_OK) { 290 syscall(rel_net_buf(*nbuf)); 291 *nbuf = NULL; 290 292 return error; 293 } 291 294 292 295 /* 4 オクテット境界までパディングで埋める。*/ -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet/in_itron.h
r352 r364 62 62 #define TFN_TCP_ALL (0) 63 63 64 #define TEV_TCP_RCV_OOB ( -0x201)64 #define TEV_TCP_RCV_OOB (0x201) 65 65 66 66 /* UDP 関係 */ … … 75 75 #define TFN_UDP_ALL (0) 76 76 77 #define TEV_UDP_RCV_DAT ( -0x221)77 #define TEV_UDP_RCV_DAT (0x221) 78 78 79 79 /* 一般 */ -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet/tcp_input.c
r352 r364 1364 1364 NTOHS(tcph->dport); 1365 1365 1366 /* SDU 長 より 緊急ポインタが大きい場合 */ 1367 if (tcph->urp > tcph->sum) 1368 goto drop; 1369 1366 1370 find_cep: 1367 1371 -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet/tcp_output.c
r352 r364 369 369 tcph->flags |= TCP_FLG_URG; 370 370 } 371 else 371 else { 372 tcph->urp = 0; 372 373 cep->snd_up = cep->snd_una; 374 } 373 375 374 376 #endif /* of #ifdef TCP_CFG_EXTENTIONS */ -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet/tcp_usrreq.c
r352 r364 897 897 898 898 /* tcp_rcv_buf の割当て長をリセットする。*/ 899 cep->rcv_buf_len = 0;899 cep->rcv_buf_len -= len; 900 900 901 901 /* 通信端点のロックを解除する。*/ -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet/udp_var.h
r352 r364 101 101 typedef ER (*t_udp_callback)(ID cepid, FN fncd, void *p_parblk); 102 102 103 typedef struct t_udp_rcv_dat_para { 104 uint_t len; 105 T_NET_BUF *input; 106 uint_t off; 107 union { 108 T_IPV4EP rep4; 109 T_IPV6EP rep6; 110 }; 111 } T_UDP_RCV_DAT_PARA; 112 103 113 /* 104 114 * UDP 通信端点 -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet/udpn_input.c
r352 r364 75 75 { 76 76 T_UDP_HDR *udph; 77 uint_t len;77 T_UDP_RCV_DAT_PARA para; 78 78 79 79 udph = (T_UDP_HDR *)(input->buf + off); 80 len = (uint_t)(ntohs(udph->ulen) - UDP_HDR_SIZE);80 para.len = (uint_t)(ntohs(udph->ulen) - UDP_HDR_SIZE); 81 81 82 82 if (cep->rcv_tskid != TA_NULL) { /* 非ノンブロッキングコールでペンディング中 */ … … 98 98 /* データをバッファに移す。*/ 99 99 memcpy(cep->rcv_data, GET_UDP_SDU(input, off), 100 (size_t)( len < cep->rcv_len ?len : cep->rcv_len));100 (size_t)(para.len < cep->rcv_len ? para.len : cep->rcv_len)); 101 101 syscall(rel_net_buf(input)); 102 102 … … 104 104 105 105 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 106 (*cep->callback)(GET_UDP_CEPID(cep), TFN_UDP_RCV_DAT, (void*)(uint32_t) len);106 (*cep->callback)(GET_UDP_CEPID(cep), TFN_UDP_RCV_DAT, (void*)(uint32_t)para.len); 107 107 #else 108 (*cep->callback)(GET_UDP_CEPID(cep), TFN_UDP_RCV_DAT, (void*)& len);108 (*cep->callback)(GET_UDP_CEPID(cep), TFN_UDP_RCV_DAT, (void*)¶.len); 109 109 #endif 110 110 else … … 121 121 122 122 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 123 (*cep->callback)(GET_UDP_CEPID(cep), TEV_UDP_RCV_DAT, (void*)(uint32_t) len);123 (*cep->callback)(GET_UDP_CEPID(cep), TEV_UDP_RCV_DAT, (void*)(uint32_t)para.len); 124 124 #else 125 (*cep->callback)(GET_UDP_CEPID(cep), TEV_UDP_RCV_DAT, (void*)&len); 125 para.input = input; 126 para.off = off; 127 #if API_PROTO == API_PROTO_IPV4 128 para.rep4.portno = ntohs(udph->sport); 129 IN_COPY_TO_HOST(¶.rep4.ipaddr, input); 130 #else 131 para.rep6.portno = ntohs(udph->sport); 132 IN_COPY_TO_HOST(¶.rep6.ipaddr, input); 133 #endif 134 (*cep->callback)(GET_UDP_CEPID(cep), TEV_UDP_RCV_DAT, (void*)¶.len); 126 135 #endif 127 136 /* … … 129 138 * データを読み出さなかったことになるので、捨てる。 130 139 */ 131 if (cep->cb_netbuf != NULL) 132 syscall(rel_net_buf(cep->cb_netbuf)); 140 if (cep->cb_netbuf != NULL) { 141 if ((input->flags & NB_FLG_NOREL_IFOUT) == 0) 142 syscall(rel_net_buf(cep->cb_netbuf)); 143 cep->cb_netbuf = NULL; 144 } 133 145 } 134 146 else { -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet/udpn_usrreq.c
r352 r364 411 411 return E_NOEXS; 412 412 #if defined(SUPPORT_INET6) 413 #endif 414 #if defined(SUPPORT_INET4) && defined(SUPPORT_IGMP) && TNUM_UDP4_CEPID > 0 413 #elif defined(SUPPORT_INET4) && defined(SUPPORT_IGMP) && TNUM_UDP4_CEPID > 0 415 414 switch (optname) { 416 415 case IP_MULTICAST_LOOP: … … 488 487 return E_NOEXS; 489 488 #if defined(SUPPORT_INET6) 490 #endif 491 #if defined(SUPPORT_INET4) && defined(SUPPORT_IGMP) && TNUM_UDP4_CEPID > 0 489 #elif defined(SUPPORT_INET4) && defined(SUPPORT_IGMP) && TNUM_UDP4_CEPID > 0 492 490 switch (optname) { 493 491 case IP_MULTICAST_LOOP: -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet/udpn_usrreq_nblk.c
r352 r364 122 122 123 123 #ifdef TCP_CFG_NON_BLOCKING_COMPAT14 124 (*cep->callback)(GET_UDP_CEPID(cep), TFN_UDP_ RCV_DAT, (void*)error);124 (*cep->callback)(GET_UDP_CEPID(cep), TFN_UDP_CAN_CEP, (void*)error); 125 125 #else 126 (*cep->callback)(GET_UDP_CEPID(cep), TFN_UDP_ RCV_DAT, (void*)&error);126 (*cep->callback)(GET_UDP_CEPID(cep), TFN_UDP_CAN_CEP, (void*)&error); 127 127 #endif 128 128 else -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet6/in6_subr.c
r352 r364 369 369 370 370 /* IPv6 ヘッダを設定する。*/ 371 if ((error = in6_set_header(*nbuf, len, dstaddr, srcaddr, next, hlim)) != E_OK) 371 if ((error = in6_set_header(*nbuf, len, dstaddr, srcaddr, next, hlim)) != E_OK) { 372 syscall(rel_net_buf(*nbuf)); 373 *nbuf = NULL; 372 374 return error; 375 } 373 376 374 377 /* 4 オクテット境界までパディングで埋める。*/ … … 662 665 * in6_rtredirect -- ルーティング表にエントリを登録する。 663 666 * 664 * 注意: 引数 tmo の単位は [ ms]。667 * 注意: 引数 tmo の単位は [us]。 665 668 */ 666 669 -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet6/in6_var.h
r352 r364 184 184 * vltime と pltime は、追加/変更してからの相対時間 185 185 */ 186 uint32_t vltime; /* 有効時間 [ ms] */187 uint32_t pltime; /* 推奨有効時間 [ ms] */186 uint32_t vltime; /* 有効時間 [us] */ 187 uint32_t pltime; /* 推奨有効時間 [us] */ 188 188 } __attribute__((packed, aligned(2)))T_IN6_ADDR_LIFETIME; 189 189 -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet6/nd6.c
r352 r364 353 353 if (nd6_cache[mix].hold != NULL) { 354 354 syscall(rel_net_buf(nd6_cache[mix].hold)); 355 nd6_cache[mix].hold = NULL; 355 356 } 356 357 fix = mix; … … 562 563 if (ln->hold != NULL) { 563 564 syscall(rel_net_buf(ln->hold)); 565 ln->hold = NULL; 564 566 } 565 567 -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/netinet6/nd6.h
r352 r364 81 81 T_NET_BUF *hold; 82 82 TMO tmout; 83 SYSTIM expire; /* [ ms] 有効時間が切れる時刻 */83 SYSTIM expire; /* [us] 有効時間が切れる時刻 */ 84 84 T_IF_ADDR ifaddr; 85 85 uint8_t state; … … 183 183 typedef struct t_def_router { 184 184 T_IN6_ADDR addr; 185 SYSTIM expire; /* [ ms] 有効時間が切れる時刻 */186 uint32_t lifetime; /* [ ms] 有効時間 */185 SYSTIM expire; /* [us] 有効時間が切れる時刻 */ 186 uint32_t lifetime; /* [us] 有効時間 */ 187 187 uint16_t plistmap; /* プレフィックスマップ */ 188 188 uint8_t flags; /* ルータ通知のフラグ */ -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/tcpip_sym.def
r352 r364 15 15 TMO_UDP_OUTPUT 16 16 TMO_ICMP_OUTPUT 17 TMO_IGMP_OUTPUT 17 18 TMO_ND6_NS_OUTPUT 18 19 TMO_ND6_NA_OUTPUT -
asp3_tinet_ecnl_arm/trunk/asp3_dcre/tinet/tinet_asp.cfg
r352 r364 73 73 INCLUDE("netinet/if_ether.cfg"); 74 74 INCLUDE("netinet/ip.cfg"); 75 INCLUDE("netinet/ip_igmp.cfg"); 75 76 INCLUDE("netinet/tcp.cfg"); 76 77 INCLUDE("netinet/udp.cfg");
Note:
See TracChangeset
for help on using the changeset viewer.