          TOPPERS/JSP  TCP/IP ץȥ륹åTINET
        ꡼ 1.1.1 ꡼ 1.2 ؤΰܹԡ2004/7/27

1.  ܹˡ

  TINET ꡼ 1.1.1  TINET ꡼ 1.2 ذܹԤǤϡ TINET ꡼
 1.2 ۥե TINET ꡼ 1.1.1 ˾񤭤뤳ȤϿ侩
ʤ ϡTINET ꡼ 1.2 ۥե˴ޤޤƤ륳ѥ
ե졼ѥ᡼եtinet_cpu_config.h 
ˤꡢ TINET ꡼ 1.1.1 ѤȼΥѥե졼
ѥ᡼եƤǽ뤿Ǥ롣 äơ
TINET ꡼ 1.2 ۥեɬۤʤǥ쥯ȥŸƤ
ܹԤ뤳Ȥ侩롣
  IPv4 Ѥαѥץ IPv6 Ѥѹ뤳Ȥ˴ؤƤϡ ץ
ץꥱ򻲹ͤˤ뤳ȡ 
  ǤϡIPv4 ˤѥץ TINET TINET ꡼ 1.1.1
 TINET ꡼ 1.2 ˰ܹԤҤ٤롣

   (1)   TINET ꡼ 1.1.1  JSP 롼ȥǥ쥯ȥ $(DIR_1.1.1)
         TINET ꡼ 1.2  JSP 롼ȥǥ쥯ȥ $(DIR_1.2) Ȥ롣

   (2)   $(DIR_1.2) ˡ TINET ꡼ 1.2 ۥե
         tinet-1.2.tar.gz Ÿ롣

   (3)   $(DIR_1.1.1) Υǥ쥯ȥ tinet 롣

   (4)   $(DIR_1.2) Υǥ쥯ȥ tinet  $(DIR_1.1.1) ˥ԡ롣

   (5)   $(DIR_1.2)/tinet/cfg ǡTINET ե졼롣

   (6)   ѹɬܹܤѹ롣

   (7)   ѥץΥǥ쥯ȥǡmake clean Ԥäϡ̾
         αѥץƱǤ롣 

2.  ѹɬܹ

  ʲˡ꡼ 1.2 ѹ졢бɬפʹܤ򼨤

   (1)   ͥåȥ׾net_count

         [1]   net_count_ip4 ϡɸ T_NET_COUNT ¤Τ顢
               ٤׾󶡤뤿 T_NET_COUNT_VAL ѹ
               Ƥ롣
         [2]   net_count_ether_nic  net_count_ether_nic_??? ϡɸ
                T_NET_COUNT ¤Τ T_NET_COUNT_VAL ѿ顢 
               ܺ٤׾󶡤뤿 T_NET_COUNT_VAL 
               ѹƤ롣

   (2)   IPv4 ɥ쥹μ

            IF_IPV4_ADDR_LOCAL
            IF_IPV4_ADDR_LOCAL_MASK
            IF_IPV4_ADDR_LOCAL_BC

         ޥƤ嵭ιܤϡ ͥåȥ󥿥ե
         ¤ T_IFNET ͳƥ褦ѹƤ롣
         ʲ˼

            T_IFNET *ifp = IF_GET_IFNET();
            T_IN4_ADDR bc = (ifp->in_ifaddr.addr & ifp->in_ifaddr.mask) |
                            ~ifp->in_ifaddr.mask;

         ƥޥб

            IF_IPV4_ADDR_LOCAL             ifp->in_ifaddr.addr
            IF_IPV4_ADDR_LOCAL_MASK        ifp->in_ifaddr.mask

         Ǥꡢ IF_IPV4_ADDR_LOCAL_BC ϡ 嵭λΤ褦ˡ
         ifp->in_ifaddr.addr  ifp->in_ifaddr.mask ׻롣

   (3)   TCP إåڥɥޥ
         ʲ˼ޥϡ netinet/tcp.h 
         netinet/tcp_var.h ѹƤꡢ 󥯥롼ɤե
         Ȥ netinet/tcp_var.h ɲä롣ޤޥѹ
         ܤǤꡢ ʲΤ褦ѹ롣

            IP4_TCP_HDR_SIZE               IP_TCP_HDR_SIZE
            IF_IP4_TCP_HDR_SIZE            IF_IP_TCP_HDR_SIZE
            GET_IP4_TCP_HDR_SIZE           GET_IP_TCP_HDR_SIZE
            GET_IF_IP4_TCP_HDR_SIZE        GET_IF_IP_TCP_HDR_SIZE

   (4)   UDP إåڥɥޥ
         ʲ˼ޥϡ netinet/udp.h 
         netinet/udp_var.h ѹƤꡢ 󥯥롼ɤե
         Ȥ netinet/udp_var.h ɲä롣ޤޥѹ
         ܤǤꡢʲΤ褦ѹ롣 

            IP4_UDP_HDR_SIZE               IP_UDP_HDR_SIZE
            IF_IP4_UDP_HDR_SIZE            IF_IP_UDP_HDR_SIZE
            GET_IP4_UDP_HDR_SIZE           GET_IP_UDP_HDR_SIZE
            GET_IF_IP4_UDP_HDR_SIZE        GET_IF_IP_UDP_HDR_SIZE

   (5)   IPv4 ɥ쥹ʸѴ륵ݡȴؿ ip2str
           ꡼ 1.1 ǤƤʤäݡȴؿ ip2str ̾
         ͲѤ _tinet_ פˤʤäޤѹˤʤ
         Ƥ롣

         [1]   :

                  extern UB *ip2str (UB *buf, const T_IN4_ADDR *ipaddr);

         [2]    buf: ʸ IPv4 ɥ쥹  16 ХȤΰ
               ɬפǤ롣
         [3]    ipaddr: IPv4 ɥ쥹
         [4]   :  buf
         [5]   󥯥롼ɥե: <netinet/in.h>

3.  ѹ侩

  ʲˡѹޤϿ٤ܤ򼨤ιܤ
¤ꡢ꡼ 1.2 Ǥϥ꡼ 1.1 ȤθߴݻƤ뤿ᡢɬ
ѹɬפʤ Υ꡼ǤѹɬܹܤˤʤͽǤ롣 

   (1)   ѥե졼ѥ᡼
         ʲ˼ѥե졼ѥ᡼̾
         롣

            ICMP4_REPLY_ERROR              ICMP_REPLY_ERROR
            TMO_ICMP4_OUTPUT               TMO_ICMP_OUTPUT
            NUM_ROUTE_ENTRY                NUM_STATIC_ROUTE_ENTRY

         ʲ˼ѥե졼ѥ᡼롣

         [1]   TMO_IN_REDIRECT
               ľåꤵ줿롼ƥ󥰾ͭ
               ֤ꤹ롣ɸͤ 10*60*1000 [ms] Ǥ롣

   (2)   ϩɽι¤̾
         T_RT_ENTRY  T_IN4_RTENTRY ѹ롣

   (3)   ѥե졼ѥ᡼
         NUM_REDIRECT_ROUTE_ENTRY
         ѥե졼󡦥եΤ줫
         롣ICMP θľå̵뤹

            #define NUM_REDIRECT_ROUTE_ENTRY 0

         롣

   (4)   $(APP_DIR)/route_cfg.c
         󥯥롼ɥե

            #include <t_services.h>
            #include <tinet_defs.h>
            #include <tinet_config.h>
            #include <net/route.h>

         

            #include <s_services.h>
            #include <t_services.h>
            #include <tinet_defs.h>
            #include <tinet_config.h>
            #include <netinet/in.h>
            #include <netinet/in_var.h>

         ѹ롣

   (5)   $(APP_DIR)/Makefile

            #PPP_CFG_MODEM = true         # PPP ǡǥ³ξ

         θˡʲεҤɲä롣

            #  ͥåȥؤ򡢲줫򤹤롣
            
            SUPPORT_INET4 = true
            #SUPPORT_INET6 = true

   (6)   TCP إåڥɥޥ
         ޥʲΤ褦ѹ롣 

            IP4_TCP_HDR_SIZE               IP_TCP_HDR_SIZE
            IF_IP4_TCP_HDR_SIZE            IF_IP_TCP_HDR_SIZE
            GET_IP4_TCP_HDR_SIZE           GET_IP_TCP_HDR_SIZE
            GET_IF_IP4_TCP_HDR_SIZE        GET_IF_IP_TCP_HDR_SIZE

   (7)   UDP إåڥɥޥ
         ޥʲΤ褦ѹ롣 

            IP4_UDP_HDR_SIZE               IP_UDP_HDR_SIZE
            IF_IP4_UDP_HDR_SIZE            IF_IP_UDP_HDR_SIZE
            GET_IP4_UDP_HDR_SIZE           GET_IP_UDP_HDR_SIZE
            GET_IF_IP4_UDP_HDR_SIZE        GET_IF_IP_UDP_HDR_SIZE
