Ignore:
Timestamp:
Jul 3, 2020, 7:19:17 PM (4 years ago)
Author:
coas-nagasima
Message:

ASP3, TINET, mbed を更新

Location:
EcnlProtoTool/trunk/asp3_dcre/tinet/netapp
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netapp/Makefile.netapp

    r331 r429  
    183183                NETAPP_COBJS := $(NETAPP_COBJS) udp6_echo_cli.o
    184184                NETAPP_KERNEL_CFG := $(NETAPP_KERNEL_CFG) $(NETAPP_DIRS)/udp6_echo_cli.cfg
    185        
     185
    186186                ifeq ($(SUPPORT_INET4),true)
    187187                        ifeq ($(USE_UDP4_ECHO_CLI),true)
     
    191191                        endif
    192192                endif
    193         else
     193                else
    194194                ifeq ($(SUPPORT_INET4),true)
    195195                        SUPPORT_UDP = true
     
    364364ifeq ($(TARGET_KERNEL),ASP)
    365365
    366         APPLDIR := $(APPLDIR) $(NETAPP_DIRS)
     366        APPLDIRS := $(APPLDIRS) $(NETAPP_DIRS)
    367367        APPL_COBJS := $(APPL_COBJS) $(NETAPP_COBJS)
    368368        APPL_CFLAGS := $(APPL_CFLAGS) -fno-strict-aliasing
     
    382382ifeq ($(TARGET_KERNEL),ASP)
    383383
    384         APPLDIR := $(APPLDIR) $(SRCDIR)/pdic/sc1602
     384        APPLDIRS := $(APPLDIRS) $(SRCDIR)/pdic/sc1602
    385385
    386386endif
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netapp/dbg_cons.c

    r331 r429  
    666666                    "IX Expire State      MAC Address       IP Address\n");
    667667
    668         /* expire の単位は [ms]。*/
     668        /* expire の単位は [us]。*/
    669669        get_tim(&now);
    670670        cache = nd6_get_cache();
     
    705705                    "IX Expire MAC Address       IP Address\n");
    706706
    707         /* expire の単位は [ms]。*/
     707        /* expire の単位は [us]。*/
    708708        cache = arp_get_cache();
    709709        for (ix = 0; ix < NUM_ARP_ENTRY; ix ++) {
     
    753753        WAI_NET_CONS_PRINTF();
    754754        get_tim(&now);
    755         cons_printf(portid, "ネットワーク統計情報\t経過時間[ms]\t%lu\t", now);
     755        cons_printf(portid, "ネットワーク統計情報\t経過時間[us]\t%lu\t", now);
    756756        if (now > (1000 * 3600 * 24))
    757757                cons_printf(portid, "%3lu日 %2lu時間 %2lu分 %2lu秒\n",
     
    938938                }
    939939
    940         cons_printf(portid, "\nネットワーク統計情報\t経過時間[ms]\t%lu\t", now);
     940        cons_printf(portid, "\nネットワーク統計情報\t経過時間[us]\t%lu\t", now);
    941941        if (now > (1000 * 3600 * 24))
    942942                cons_printf(portid, "%3lu日 %2lu時間 %2lu分 %2lu秒\n",
     
    10651065        WAI_NET_CONS_PRINTF();
    10661066        get_tim(&now);
    1067         cons_printf(portid, "ネットワークバッファ情報\t経過時間[ms]\t%u\n", now);
     1067        cons_printf(portid, "ネットワークバッファ情報\t経過時間[us]\t%u\n", now);
    10681068
    10691069#if NET_COUNT_ENABLE
     
    15771577        cons_printf(portid, " IP Address\n");
    15781578
    1579         /* expire の単位は [ms]。*/
     1579        /* expire の単位は [us]。*/
    15801580        get_tim(&now);
    15811581        dr = nd6_get_drl(&count);
     
    22982298
    22992299        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);
    23022302        cons_printf(portid, "  NUM_IP6_DAD_COUNT:        %5d\n",     NUM_IP6_DAD_COUNT);
    23032303        cons_printf(portid, "  NUM_ND6_CACHE_ENTRY:      %5d\n",     NUM_ND6_CACHE_ENTRY);
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netapp/dhcp4.h

    r331 r429  
    9393        uint8_t         file   [DHCP4_FILE_LEN];                /* boot file name               */
    9494        uint8_t         options[DHCP4_DFLT_OPT_LEN];    /* optional parameters field    */
    95         } T_DHCP4_MSG;
     95        } __attribute__((packed)) T_DHCP4_MSG;
    9696
    9797/* packet type の定義 */
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netapp/dhcp4_cli.c

    r331 r429  
    206206#endif
    207207
     208#ifdef SEM_DHCP4_CLI_TIMER
     209#define DHCP4_CLI_TIMER_LOCK() do { syscall(wai_sem(SEM_DHCP4_CLI_TIMER)); } while(0)
     210#define DHCP4_CLI_TIMER_UNLOCK() do { syscall(sig_sem(SEM_DHCP4_CLI_TIMER)); } while(0)
     211#else
     212#define DHCP4_CLI_TIMER_LOCK() do { } while(0)
     213#define DHCP4_CLI_TIMER_UNLOCK() do { } while(0)
     214#endif
     215
     216#ifdef SEM_DHCP4_CLI_READY
     217#define DHCP4_CLI_READY_WAIT(ct) do { syscall(wai_sem(SEM_DHCP4_CLI_READY)); } while(0)
     218#define DHCP4_CLI_READY_SIGNAL(ct) do { syscall(sig_sem(SEM_DHCP4_CLI_READY)); } while(0)
     219#else
     220#define DHCP4_CLI_READY_WAIT(ct) do { } while(0)
     221#define DHCP4_CLI_READY_SIGNAL(ct) do { ct->sig = 1; syscall(wup_tsk(ct->tskid)); } while(0)
     222#endif
     223
    208224/*
    209225 *  dhcp4_cksum -- チェックサムの計算関数
     
    381397#endif  /* of #ifdef USE_LCD */
    382398#endif
    383 
     399                ether_set_down();
    384400                }
    385401        }
     
    508524                lcd_putc(LCD_PORTID, '\n');
    509525#endif  /* of #ifdef USE_LCD */
    510         if (ct->set_addr_callback != NULL)
    511                 ct->set_addr_callback();
    512 
     526                ether_set_up();
    513527                }
    514528        }
     
    951965        int ix;
    952966
    953         syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     967        DHCP4_CLI_TIMER_LOCK();
    954968        for (ix = NUM_DHCP4C_TIMERS; ix -- > 0; )
    955969                ct->timers[ix] = 0;
    956         syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
     970        DHCP4_CLI_TIMER_UNLOCK();
    957971        }
    958972
     
    970984
    971985        /* OFFER メッセージ受信タイムアウトを設定する。*/
    972         syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     986        DHCP4_CLI_TIMER_LOCK();
    973987        ct->timers[DHCP4C_TIMER_RCV_OFFER] = SYSTIM2TIMER(TMO_DHCP4C_OFFER);
    974         syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
     988        DHCP4_CLI_TIMER_UNLOCK();
    975989
    976990        /* 送信å
     
    9871001        /* DISCOVER メッセージを送信する。*/
    9881002        ct->flags |= DHCP4C_FLAG_TMOUT_SND_DISC;
    989         syscall(sig_sem(SEM_DHCP4_CLI_READY));
     1003        DHCP4_CLI_READY_SIGNAL(ct);
    9901004        }
    9911005
     
    10181032
    10191033        /* EXPIRE、RENEW、REBIND タイマーを設定する。*/
    1020         syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     1034        DHCP4_CLI_TIMER_LOCK();
    10211035        ct->timers[DHCP4C_TIMER_EXPIRE] = SYSTIM2TIMER(ct->expire);             /* EXPIRE      までの時間 */
    10221036        ct->timers[DHCP4C_TIMER_REBIND] = SYSTIM2TIMER(ct->rebind);             /* REBIND(T2)までの時間 */
    10231037        ct->timers[DHCP4C_TIMER_RENEW]  = SYSTIM2TIMER(ct->renew);              /* RENEW (T1)までの時間 */
    1024         syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
     1038        DHCP4_CLI_TIMER_UNLOCK();
    10251039
    10261040        /* BOUND 状æ
     
    10481062‹ãŒ RENEW 以外では ACK/NAK メッセージ受信タイムアウトを設定する。*/
    10491063        if (fsm != DHCP4_FSM_RENEW) {
    1050                 syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     1064                DHCP4_CLI_TIMER_LOCK();
    10511065                ct->timers[DHCP4C_TIMER_RCV_ACK] = SYSTIM2TIMER(TMO_DHCP4C_ACK);
    1052                 syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
     1066                DHCP4_CLI_TIMER_UNLOCK();
    10531067                }
    10541068
     
    10731087        /* REQUEST メッセージを送信する。*/
    10741088        ct->flags |= DHCP4C_FLAG_TMOUT_SND_REQ;
    1075         syscall(sig_sem(SEM_DHCP4_CLI_READY));
     1089        DHCP4_CLI_READY_SIGNAL(ct);
    10761090        }
    10771091
     
    11031117        /* RELEASE メッセージを送信する。*/
    11041118        ct->flags |= DHCP4C_FLAG_TMOUT_SND_REL;
    1105         syscall(sig_sem(SEM_DHCP4_CLI_READY));
     1119        DHCP4_CLI_READY_SIGNAL(ct);
    11061120        }
    11071121
     
    11161130        uint8_t *option;
    11171131
    1118         memset((void*)&ct->snd_msg->msg, sizeof(ct->snd_msg->msg), 0);
     1132        memset((void*)&ct->snd_msg->msg, 0, sizeof(ct->snd_msg->msg));
    11191133        ct->snd_msg->len = sizeof(ct->snd_msg->msg);
    11201134
     
    14101424
    14111425                /* REQUEST メッセージ送信タイマーを停止する。*/
    1412                 syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     1426                DHCP4_CLI_TIMER_LOCK();
    14131427                ct->timers[DHCP4C_TIMER_SND_REQ] = 0;
    1414                 syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
     1428                DHCP4_CLI_TIMER_UNLOCK();
    14151429
    14161430                /*
     
    14641478
    14651479                /* ACK/NAK メッセージ受信タイマーを停止する。*/
    1466                 syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     1480                DHCP4_CLI_TIMER_LOCK();
    14671481                ct->timers[DHCP4C_TIMER_RCV_ACK] = 0;
    1468                 syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
     1482                DHCP4_CLI_TIMER_UNLOCK();
    14691483
    14701484                /*
     
    15441558
    15451559        /* 再送信タイムアウトを設定する。*/
    1546         syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     1560        DHCP4_CLI_TIMER_LOCK();
    15471561        ct->timers[DHCP4C_TIMER_SND_REQ] = SYSTIM2TIMER(ct->interval);
    1548         syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
     1562        DHCP4_CLI_TIMER_UNLOCK();
    15491563        }
    15501564
     
    15821596        /* メッセージ送信å¾
    15831597ちを行う。*/
    1584         syscall(wai_sem(SEM_DHCP4_CLI_READY));
     1598        DHCP4_CLI_READY_WAIT(ct);
    15851599
    15861600        /* SLEEP 状æ
     
    16021616
    16031617                /* DISCOVER メッセージ送信タイマーを停止する。*/
    1604                 syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     1618                DHCP4_CLI_TIMER_LOCK();
    16051619                ct->timers[DHCP4C_TIMER_SND_DISC] = 0;
    1606                 syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
     1620                DHCP4_CLI_TIMER_UNLOCK();
    16071621
    16081622                /* REQUEST メッセージを送信して REQUEST 状æ
     
    16341648
    16351649                /* OFFER メッセージ受信タイマーを停止する。*/
    1636                 syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     1650                DHCP4_CLI_TIMER_LOCK();
    16371651                ct->timers[DHCP4C_TIMER_RCV_OFFER] = 0;
    1638                 syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
     1652                DHCP4_CLI_TIMER_UNLOCK();
    16391653
    16401654                /* REQUEST メッセージを送信して REQUEST 状æ
     
    16921706
    16931707        /* 再送信タイムアウトを設定する。*/
    1694         syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     1708        DHCP4_CLI_TIMER_LOCK();
    16951709        ct->timers[DHCP4C_TIMER_SND_DISC] = SYSTIM2TIMER(ct->interval);
    1696         syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
    1697         }
     1710        DHCP4_CLI_TIMER_UNLOCK();
     1711        }
     1712
     1713#ifdef DHCP4_CLI_TASK
    16981714
    16991715/*
     
    17061722        int ix;
    17071723
    1708         syscall(wai_sem(SEM_DHCP4_CLI_TIMER));
     1724        DHCP4_CLI_TIMER_LOCK();
    17091725        for (ix = NUM_DHCP4C_TIMERS; ix -- > 0; ) {
    17101726                if (ct->timers[ix] != 0) {
     
    17121728                        if (ct->timers[ix] == 0) {
    17131729                                ct->flags = (ct->flags & ~DHCP4C_FLAG_TMOUT_MASK) | DHCP4C_FLAG_TMOUT_TIMER | ix;
    1714                                 syscall(sig_sem(SEM_DHCP4_CLI_READY));
     1730                                DHCP4_CLI_READY_SIGNAL(ct);
    17151731                                }
    17161732                        }
    17171733                }
    1718         syscall(sig_sem(SEM_DHCP4_CLI_TIMER));
     1734        DHCP4_CLI_TIMER_UNLOCK();
    17191735
    17201736        /* 1秒毎にタイムアウトする。*/
    17211737        timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ);
    17221738        }
     1739
     1740#endif
    17231741
    17241742/*
     
    18321850        }
    18331851
     1852#ifdef DHCP4_CLI_TASK
     1853
    18341854/*
    18351855 *  dispatch_event -- イベント毎の処理
     
    18451865                /* メッセージの受信とタイムアウトをå¾
    18461866つ。*/
    1847                 syscall(wai_sem(SEM_DHCP4_CLI_READY));
     1867                DHCP4_CLI_READY_WAIT(ct);
    18481868
    18491869                if (ct->flags & DHCP4C_FLAG_RCV_MSG) {
     
    18631883        }
    18641884
     1885#endif
     1886
    18651887/*
    18661888 *  init_context -- DHCP クライアントコンテキスト構造体を初期化する。
     
    18681890
    18691891static void
    1870 init_context (T_DHCP4_CLI_CONTEXT *ct, ID cepid)
     1892init_context (T_DHCP4_CLI_CONTEXT *ct, ID tskid, ID cepid)
    18711893{
    18721894        memset(ct, 0, sizeof(*ct));
     1895        ct->tskid       = tskid;
    18731896        ct->cepid       = cepid;
    18741897        ct->sc          = IF_ETHER_NIC_GET_SOFTC();
    18751898        ct->dst.portno  = DHCP4_SRV_CFG_PORTNO;
    18761899        ct->dst.ipaddr  = IPV4_ADDRANY;
    1877         ct->set_addr_callback = DHCP4_CLI_SET_ADDR_CALLBACK;
    18781900        }
    18791901
     
    19681990
    19691991                /* SLEEP を解除する。*/
    1970                 wup_tsk(DHCP4_CLI_TASK);
     1992                context.req = 1;
     1993                wup_tsk(context.tskid);
    19711994                return E_OK;
    19721995                }
     
    20612084                                }
    20622085                        }
    2063                 syscall(sig_sem(SEM_DHCP4_CLI_READY));
     2086                DHCP4_CLI_READY_SIGNAL((&context));
    20642087                }
    20652088        return E_OK;
    20662089        }
     2090
     2091#ifdef DHCP4_CLI_TASK
    20672092
    20682093/*
     
    20752100        T_DHCP4_CLI_CONTEXT     *ct;
    20762101        ID                      tskid;
    2077         ER                      error;
     2102        ER                      error = E_OK;
    20782103
    20792104        dly_tsk(1000);
     
    20842109
    20852110        /* DHCP クライアントコンテキスト構造体を初期化する。*/
    2086         init_context(ct, (ID)exinf);
     2111        init_context(ct, tskid, (ID)exinf);
     2112        ct->fsm = DHCP4_FSM_SLEEP;
    20872113
    20882114        while (true) {
    2089 
    2090                 /* 1秒毎にタイムアウトするようにタイマーを設定する。*/
    2091                 timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ / DHCP4C_TIMER_HZ);
    2092 
    2093                 /* メッセージ構造体を初期化する。*/
    2094                 if ((error = init_cli_msg(ct)) == E_OK) {
    2095 
    2096                         /* SELECT 状æ
    2097 ‹ã«é·ç§»ã™ã‚‹ã€‚*/
    2098                         start_select(ct);
    2099 
    2100                         /* メインループ */
    2101                         error = dispatch_event(ct);
    2102                         }
    2103 
    2104                 /* å
    2105 ¨ã¦ã® TIMER をキャンセルする。*/
    2106                 cancel_all_timers(ct);
    2107 
    2108                 /* タイマーを停止する。*/
    2109                 untimeout((callout_func)dhcpc_timer, ct);
    2110 
    2111                 /* メッセージ構造体を解放する。*/
    2112                 rel_cli_msg (ct);
    21132115
    21142116                /* リースを解放後、再取得が指定されていなければ休止する。*/
     
    21162118
    21172119                        /* 休止する。*/
    2118                         if (error == E_OK)
    2119                                 syslog(LOG_NOTICE, "[DHCP4C] lease released, go to sleep.");
     2120                        if (error == E_OK) {
     2121                                if (ct->fsm != DHCP4_FSM_SLEEP)
     2122                                        syslog(LOG_NOTICE, "[DHCP4C] lease released, go to sleep.");
     2123                        }
    21202124                        else {
    21212125                                syslog(LOG_NOTICE, "[DHCP4C] server not available, go to sleep, error: %s.", itron_strerror(error));
     
    21262130                ct->flags = 0;
    21272131                ct->error = E_OK;
    2128                 }
    2129         }
    2130 
     2132
     2133                /* 1秒毎にタイムアウトするようにタイマーを設定する。*/
     2134                timeout((callout_func)dhcpc_timer, ct, NET_TIMER_HZ / DHCP4C_TIMER_HZ);
     2135
     2136                /* メッセージ構造体を初期化する。*/
     2137                if ((error = init_cli_msg(ct)) == E_OK) {
     2138
     2139                        /* SELECT 状æ
     2140‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2141                        start_select(ct);
     2142
     2143                        /* メインループ */
     2144                        error = dispatch_event(ct);
     2145                        }
     2146
     2147                /* å
     2148¨ã¦ã® TIMER をキャンセルする。*/
     2149                cancel_all_timers(ct);
     2150
     2151                /* タイマーを停止する。*/
     2152                untimeout((callout_func)dhcpc_timer, ct);
     2153
     2154                /* メッセージ構造体を解放する。*/
     2155                rel_cli_msg (ct);
     2156                }
     2157        }
     2158
     2159#else
     2160
     2161T_DHCP4_CLI_CONTEXT *
     2162dhcp4_cli_initialize(ID tskid, ID cepid)
     2163{
     2164        T_DHCP4_CLI_CONTEXT *ct = &context;
     2165        /* DHCP クライアントコンテキスト構造体を初期化する。*/
     2166        init_context(ct, tskid, cepid);
     2167        ct->fsm = DHCP4_FSM_SLEEP;
     2168        ct->timer = TMO_FEVR;
     2169        return ct;
     2170        }
     2171
     2172int
     2173dhcp4_cli_get_timer(T_DHCP4_CLI_CONTEXT *ct)
     2174{
     2175        if (ct->fsm == DHCP4_FSM_SLEEP)
     2176                return TMO_FEVR;
     2177
     2178        return ct->timer;
     2179        }
     2180
     2181void
     2182dhcp4_cli_progress(T_DHCP4_CLI_CONTEXT *ct, int elapse)
     2183{
     2184        int ix;
     2185
     2186        if ((ct->fsm == DHCP4_FSM_SLEEP) || (ct->timer == TMO_FEVR))
     2187                return;
     2188
     2189        ct->timer -= elapse;
     2190        if (ct->timer > 0)
     2191                return;
     2192
     2193        /* 1秒毎にタイムアウトするようにタイマーを設定する。*/
     2194        ct->timer = 1000 * 1000;
     2195
     2196        for (ix = NUM_DHCP4C_TIMERS; ix-- > 0; ) {
     2197                if (ct->timers[ix] != 0) {
     2198                        ct->timers[ix] --;
     2199                        if (ct->timers[ix] <= 0) {
     2200                                ct->timers[ix] = 0;
     2201                                ct->flags = (ct->flags & ~DHCP4C_FLAG_TMOUT_MASK) | DHCP4C_FLAG_TMOUT_TIMER | ix;
     2202                                DHCP4_CLI_READY_SIGNAL(ct);
     2203                                }
     2204                        }
     2205                }
     2206        }
     2207
     2208void
     2209dhcp4_cli_wakeup(T_DHCP4_CLI_CONTEXT *ct)
     2210{
     2211        if (ct->req) {
     2212                ct->req = 0;
     2213                if (ct->snd_msg == NULL) {
     2214                        ct->flags = 0;
     2215                        ct->error = E_OK;
     2216
     2217                        /* メッセージ構造体を初期化する。*/
     2218                        if ((ct->error = init_cli_msg(ct)) != E_OK)
     2219                                return;
     2220
     2221                        ct->timer = 1000 * 1000;
     2222
     2223                        /* SELECT 状æ
     2224‹ã«é·ç§»ã™ã‚‹ã€‚*/
     2225                        start_select(ct);
     2226                        }
     2227                }
     2228
     2229        if (!ct->sig)
     2230                return;
     2231        ct->sig = 0;
     2232
     2233        if (ct->flags & DHCP4C_FLAG_RCV_MSG) {
     2234                while (ct->val_lst != NULL) {
     2235                        ct->error = eval_rcv_msg(ct);
     2236                        }
     2237                ct->flags &= ~DHCP4C_FLAG_RCV_MSG;
     2238                }
     2239        }
     2240
     2241void
     2242dhcp4_cli_timeout(T_DHCP4_CLI_CONTEXT *ct)
     2243{
     2244        if (ct->flags & DHCP4C_FLAG_TMOUT_MASK)
     2245                ct->error = dispatch_timeout(ct);
     2246
     2247        if (ct->error != E_OK || ct->fsm == DHCP4_FSM_SLEEP) {
     2248                /* å
     2249¨ã¦ã® TIMER をキャンセルする。*/
     2250                cancel_all_timers(ct);
     2251                ct->timer = TMO_FEVR;
     2252
     2253                /* メッセージ構造体を解放する。*/
     2254                rel_cli_msg(ct);
     2255
     2256                /* リースを解放後、再取得が指定されていなければ休止する。*/
     2257                if (!(ct->flags & DHCP4C_FLAG_RENEW)) {
     2258
     2259                        /* 休止する。*/
     2260                        if (ct->error == E_OK) {
     2261                                if (ct->fsm != DHCP4_FSM_SLEEP)
     2262                                        syslog(LOG_NOTICE, "[DHCP4C] lease released, go to sleep.");
     2263                        }
     2264                        else {
     2265                                syslog(LOG_NOTICE, "[DHCP4C] server not available, go to sleep, error: %s.", itron_strerror(ct->error));
     2266                                ct->error = E_OK;
     2267                                ct->fsm = DHCP4_FSM_SLEEP;
     2268                                }
     2269                        }
     2270                }
     2271        }
     2272
     2273#endif /* DHCP4_CLI_TASK */
    21312274#endif  /* of #ifdef DHCP4_CLI_CFG */
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netapp/dhcp4_cli.h

    r331 r429  
    206206
    207207/* 受信タイムアウト     */
    208 #define TMO_DHCP4C_OFFER        ULONG_C(120*1000)       /* OFFER メッセージ        */
    209 #define TMO_DHCP4C_ACK          ULONG_C(60*1000)        /* ACK/NAK メッセージ      */
     208#define TMO_DHCP4C_OFFER        (ULONG_C(120)*SYSTIM_HZ)        /* OFFER メッセージ        */
     209#define TMO_DHCP4C_ACK          (ULONG_C(60)*SYSTIM_HZ) /* ACK/NAK メッセージ      */
    210210
    211211/* リース時間の既定値  */
    212 #define TMO_DHCP4C_DEF_LEASE    ULONG_C(12*60*60*1000)  /* 標準時間 */
    213 #define TMO_DHCP4C_MIN_LEASE    ULONG_C(60*1000)        /* 最小時間 */
     212#define TMO_DHCP4C_DEF_LEASE    (ULONG_C(12*60*60)*SYSTIM_HZ)   /* 標準時間 */
     213#define TMO_DHCP4C_MIN_LEASE    (ULONG_C(60)*SYSTIM_HZ) /* 最小時間 */
    214214
    215215/* メッセージの送信周期       */
    216 #define TMO_DHCP4C_INIT_INTVL   ULONG_C(3*1000)         /* 初期値    */
    217 #define TMO_DHCP4C_MAX_BACKOFF  ULONG_C(15*1000)        /* 制限値    */
     216#define TMO_DHCP4C_INIT_INTVL   (ULONG_C(3)*SYSTIM_HZ)          /* 初期値    */
     217#define TMO_DHCP4C_MAX_BACKOFF  (ULONG_C(15)*SYSTIM_HZ) /* 制限値    */
    218218
    219219/* DHCP サーバへの UDP 送信タイムアウト    */
     
    230230ち時間       */
    231231#define TMO_DHCP4C_SND_REL_WAIT ULONG_C(1000000)        /* [us] */
    232 
    233 /* DHCP でアドレスが更新された時に呼び出すコールバック関数 */
    234 #ifndef DHCP4_CLI_SET_ADDR_CALLBACK
    235 #define DHCP4_CLI_SET_ADDR_CALLBACK NULL
    236 #endif
    237232
    238233#ifndef _MACRO_ONLY
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netapp/dhcp4_cli_var.h

    r331 r429  
    181181        RELTIM          interval;       /* 送信間隔                 */
    182182        ER_UINT         error;          /* エラー・データ長             */
    183         ID              cepid;          /* CEP ID                       */
     183        ID                      tskid;          /* タスクID */
     184        ID                      cepid;          /* CEP ID                       */
    184185        uint32_t        xid;            /* トランザクション ID          */
    185186        uint16_t        flags;          /* 各種フラグ                      */
     
    188189        uint8_t         fsm;            /* 現在の状æ
    189190‹                       */
    190         void (* set_addr_callback)();   /* アドレス設定時のコールバック */
     191        uint8_t         req;
     192        uint8_t         sig;
     193        int timer;
    191194        } T_DHCP4_CLI_CONTEXT;
    192195
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netapp/netapp_subr.c

    r331 r429  
    4444#include <sil.h>
    4545#include <syssvc/serial.h>
    46 #include <syssvc/logtask.h>
     46#include <target_syssvc.h>
     47#define LOGTASK_PORTID SIO_PORTID
    4748#include <t_syslog.h>
    4849#include "kernel_cfg.h"
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netapp/resolver.c

    r331 r429  
    5959#include <kernel.h>
    6060#include <t_syslog.h>
    61 #include <syssvc/logtask.h>
     61#include <target_syssvc.h>
     62#define LOGTASK_PORTID SIO_PORTID
    6263#include "kernel_cfg.h"
    6364#include "tinet_cfg.h"
     
    253254{
    254255        uint_t          label_len;
    255         uint8_t         *tail;
     256        char            *tail;
    256257
    257258        while (*name != '\0') {
     
    265266
    266267                /* ラベル長を設定する。*/
    267                 label_len = tail - (uint8_t*)name;
     268                label_len = tail - name;
    268269                if (label_len > DNS_LABEL_LENGTH) {     /* 63 オクテットをè¶
    269270えるとエラー */
     
    421422
    422423                        /* ドメイン名を追加する。*/
    423                         if ((offset = add_name(msg, msg_size, offset, dns_domain_name)) < 0)
     424                        if ((offset = add_name(msg, msg_size, offset, (char *)dns_domain_name)) < 0)
    424425                                return offset;
    425426
     
    10751076
    10761077        if (new == NULL)
    1077                 strcpy(dns_domain_name, RSLV_CFG_DNS_DOMAIN_NAME_STR);
     1078                strcpy((char *)dns_domain_name, RSLV_CFG_DNS_DOMAIN_NAME_STR);
    10781079        else {
    10791080                dst = dns_domain_name;
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netapp/resolver.h

    r331 r429  
    7070 */
    7171
    72 #define TMO_DNS_UDP_SND         ULONG_C(1*1000) /* [ms]、DNS サーバへの   UDP 送信タイムアウト    */
    73 #define TMO_DNS_UDP_RCV         ULONG_C(5*1000) /* [ms]、DNS サーバからの UDP 受信タイムアウト   */
     72#define TMO_DNS_UDP_SND         ULONG_C(1*1000*1000)    /* [us]、DNS サーバへの   UDP 送信タイムアウト    */
     73#define TMO_DNS_UDP_RCV         ULONG_C(5*1000*1000)    /* [us]、DNS サーバからの UDP 受信タイムアウト   */
    7474#define NUM_DNS_UDP_RETRY       1               /* リトライ回数                                   */
    7575
  • EcnlProtoTool/trunk/asp3_dcre/tinet/netapp/wwws.c

    r331 r429  
    708708        len += put_str(cepid, srbuf, response);
    709709        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]",
    711711                           cepid, len, (finish - start) * 1000 / SYSTIM_HZ);
    712712        return E_OK;
     
    16091609
    16101610        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]",
    16121612                           cepid, len, (finish - start) * 1000 / SYSTIM_HZ);
    16131613        return E_OK;
Note: See TracChangeset for help on using the changeset viewer.