Ignore:
Timestamp:
May 22, 2019, 10:03:37 PM (5 years ago)
Author:
coas-nagasima
Message:

ビルドが通るよう更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ethernet.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
    11  *  述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
    12  *  を改変したものを含む.以下同じ)を使用・複製・改変・再é
    13 å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
    14  *  利用と呼ぶ)することを無償で許諾する.
    15  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17  *      スコード中に含まれていること.
    18  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19  *      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22  *      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24  *      の無保証規定を掲載すること.
    25  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26  *      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®æ¡ä»¶ã‚’満たすこと.
    28  *    (a) 再é
    29 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    30 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    31  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    32  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    33  *      害からも,上記著作権è€
    34 ãŠã‚ˆã³TOPPERSプロジェクトをå
    35 è²¬ã™ã‚‹ã“と.
     7 *  上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation
     8 *  によって公表されている GNU General Public License の Version 2 に記
     9 *  述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
     10 *  を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
     11 *  利用と呼ぶ)することを無償で許諾する.
     12 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     13 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     14 *      スコード中に含まれていること.
     15 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     16 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     17 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     18 *      の無保証規定を掲載すること.
     19 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     20 *      用できない形で再配布する場合には,次の条件を満たすこと.
     21 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     22 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     23 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     24 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    3625 *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    4533
    4634/*
    47  *  Ethernet 処理タスクの本体
     35 *  Ethernet 処理タスクの本体
    4836 */
    4937
     
    9381
    9482/*
    95  *  変数
     83 *  変数
    9684 */
    9785
     
    10694
    10795/*
    108  *  変数
    109  */
    110 
    111 /* ネットワークインタフェース構造体 */
     96 *  変数
     97 */
     98
     99/* ネットワークインタフェース構造体 */
    112100
    113101static T_IFNET ether_ifnet;
     
    115103#ifdef SUPPORT_MIB
    116104
    117 /*  SNMP の 管理æƒ
    118 å ±ãƒ™ãƒ¼ã‚¹ (MIB) */
     105/*  SNMP の 管理情報ベース (MIB) */
    119106
    120107T_IF_STATS if_stats;
     
    125112
    126113/*
    127  *  関数
     114 *  関数
    128115 */
    129116
     
    131118
    132119/*
    133  *  ieee_802_input -- IEEE 802.3 å
    134 ¥åŠ›å‡¦ç†
     120 *  ieee_802_input -- IEEE 802.3 入力処理
    135121 */
    136122
     
    150136
    151137/*
    152  *  ether_srand -- 乱数を初期値を返す。
     138 *  ether_srand -- 乱数を初期値を返す。
    153139 */
    154140
     
    178164
    179165/*
    180  *  ether_get_ifnet -- ネットワークインタフェース構造体を返す。
     166 *  ether_get_ifnet -- ネットワークインタフェース構造体を返す。
    181167 */
    182168
     
    190176
    191177/*
    192  *  ether_in6_resolve_multicast -- イーサネットのマルチキャストアドレスへの変換
     178 *  ether_in6_resolve_multicast -- イーサネットのマルチキャストアドレスへの変換
    193179 */
    194180
     
    196182ether_in6_resolve_multicast (T_ETHER_ADDR *ifaddr, const T_IN6_ADDR *maddr)
    197183{
    198         /* マルチキャストアドレスかチェックする。*/
     184        /* マルチキャストアドレスかチェックする。*/
    199185        if (!IN6_IS_ADDR_MULTICAST(maddr))
    200186                return E_PAR;
    201187
    202         /* イーサネットのマルチキャストアドレスへの変換 */
     188        /* イーサネットのマルチキャストアドレスへの変換 */
    203189        ether_map_ipv6_multicast(ifaddr, maddr);
    204190
     
    209195
    210196/**
    211  * ether_set_link_up -- リンクしたときにNICから呼び出される
     197 * ether_set_link_up -- リンクしたときにNICから呼び出される
    212198 */
    213199void
     
    219205                if (ether_ifnet.flags & IF_FLAG_UP) {
    220206#if defined(_IP4_CFG) && defined(SUPPORT_ETHER)
    221                         /* ARP再構築? */
     207                        /* ARP再構築? */
    222208#endif /* #if defined(_IP4_CFG) && defined(SUPPORT_ETHER) */
    223209
    224210#ifdef SUPPORT_IGMP
    225                         /* IGMP参加 */
     211                        /* IGMP参加 */
    226212#endif /* #ifdef SUPPORT_IGMP */
    227213                        }
     
    233219
    234220/**
    235  * ether_set_link_up -- リンクが切断したときにNICから呼び出される
     221 * ether_set_link_up -- リンクが切断したときにNICから呼び出される
    236222 */
    237223void
     
    247233
    248234/*
    249  * ether_set_up -- DHCPでアドレスが設定されたとき呼び出される
     235 * ether_set_up -- DHCPでアドレスが設定されたとき呼び出される
    250236 */
    251237
     
    262248
    263249/*
    264  * ether_set_down -- DHCPでアドレスが解放されたとき呼び出される
     250 * ether_set_down -- DHCPでアドレスが解放されたとき呼び出される
    265251 */
    266252
     
    277263
    278264/*
    279  * ether_set_link_callback -- リンク状æ
    280 ‹å¤‰åŒ–時のコールバック登録
     265 * ether_set_link_callback -- リンク状態変化時のコールバック登録
    281266 */
    282267
     
    291276
    292277/*
    293  *  ether_raw_output -- Ethernet インタフェースの出力関数、MAC アドレス解決無し
     278 *  ether_raw_output -- Ethernet インタフェースの出力関数、MAC アドレス解決無し
    294279 */
    295280
     
    299284        ER error = E_OK;
    300285
    301         /* Ethernet 出力キューに投å
    302 ¥ã™ã‚‹ã€‚*/
     286        /* Ethernet 出力キューに投入する。*/
    303287        if ((error = tsnd_dtq(DTQ_ETHER_OUTPUT, (intptr_t)output, tmout)) != E_OK) {
    304288                NET_COUNT_ETHER(net_count_ether.out_err_packets, 1);
    305289                NET_COUNT_MIB(if_stats.ifOutDiscards, 1);
    306290
    307                 /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     291                /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    308292                if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    309293                        syscall(rel_net_buf(output));
     
    318302
    319303/*
    320  *  ether_output -- Ethernet インタフェースの出力関数、MAC アドレス解決有り
     304 *  ether_output -- Ethernet インタフェースの出力関数、MAC アドレス解決有り
    321305 */
    322306
     
    328312        T_ETHER_HDR *eth;
    329313
    330         /* 送信å
    331 ƒ MAC アドレスを設定する。*/
     314        /* 送信元 MAC アドレスを設定する。*/
    332315        ic = IF_ETHER_NIC_GET_SOFTC();
    333316        eth = GET_ETHER_HDR(output);
     
    340323        case ETHER_TYPE_IP:             /* IPv4 */
    341324#ifdef ETHER_CFG_MULTICAST
    342                 /* マルチキャストアドレスの場合 */
     325                /* マルチキャストアドレスの場合 */
    343326                if(IN4_IS_ADDR_MULTICAST(*(uint32_t*)dst)){
    344                         /* イーサネットのマルチキャストアドレスへの変換 */
     327                        /* イーサネットのマルチキャストアドレスへの変換 */
    345328                        ether_map_ipv4_multicast((T_ETHER_ADDR *)&eth->dhost, *(T_IN4_ADDR*)dst);
    346329                        error = ether_raw_output(output, tmout);
     
    348331                        }
    349332#endif
    350                 if (arp_resolve(&ic->ifaddr, output, *(uint32_t*)dst)) {        /* true ならアドレス解決済 */
     333                if (arp_resolve(&ic->ifaddr, output, *(uint32_t*)dst)) {        /* true ならアドレス解決済 */
    351334                        error = ether_raw_output(output, tmout);
    352335                        }
     
    363346                        error = ether_raw_output(output, tmout);
    364347
    365                 /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     348                /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    366349                else if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    367350                        syscall(rel_net_buf(output));
     
    377360                NET_COUNT_MIB(if_stats.ifOutErrors, 1);
    378361
    379                 /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     362                /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    380363                if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    381364                        syscall(rel_net_buf(output));
     
    394377
    395378/*
    396  *  Ethernet 出力タスク
     379 *  Ethernet 出力タスク
    397380 */
    398381
     
    448431
    449432/*
    450  *  Ethernet å
    451 ¥åŠ›ã‚¿ã‚¹ã‚¯
     433 *  Ethernet 入力タスク
    452434 */
    453435
     
    462444        uint8_t         rcount = 0;
    463445
    464         /* ネットワークインタフェース管理を初期化する。*/
     446        /* ネットワークインタフェース管理を初期化する。*/
    465447        ifinit();
    466448
    467         /* イーサネットネットワークインタフェース管理を初期化する。*/
     449        /* イーサネットネットワークインタフェース管理を初期化する。*/
    468450
    469451#if defined(_IP4_CFG)
    470452
    471         ether_ifnet.in4_ifaddr.addr = IPV4_ADDR_LOCAL;          /* IPv4 アドレス            */
    472         ether_ifnet.in4_ifaddr.mask = IPV4_ADDR_LOCAL_MASK;     /* サブネットマスク             */
     453        ether_ifnet.in4_ifaddr.addr = IPV4_ADDR_LOCAL;          /* IPv4 アドレス            */
     454        ether_ifnet.in4_ifaddr.mask = IPV4_ADDR_LOCAL_MASK;     /* サブネットマスク             */
    473455
    474456#endif  /* of #if defined(_IP4_CFG) */
    475457
    476         /* NIC を初期化する。*/
     458        /* NIC を初期化する。*/
    477459        ic = IF_ETHER_NIC_GET_SOFTC();
    478460        IF_ETHER_NIC_PROBE(ic);
    479461        IF_ETHER_NIC_INIT(ic);
    480462
    481         /* Ethernet 出力タスクを起動する */
     463        /* Ethernet 出力タスクを起動する */
    482464        syscall(act_tsk(ETHER_OUTPUT_TASK));
    483465
    484         /* ネットワークタイマタスクを起動する */
     466        /* ネットワークタイマタスクを起動する */
    485467        syscall(act_tsk(NET_TIMER_TASK));
    486468
     
    492474#if defined(_IP4_CFG)
    493475
    494         /* ARP を初期化する。*/
     476        /* ARP を初期化する。*/
    495477        arp_init();
    496478
     
    499481        ether_ifnet.ic = ic;
    500482
    501         /* 乱数生成を初期化する。*/
     483        /* 乱数生成を初期化する。*/
    502484        net_srand(0);
    503485
     
    511493                        proto = ntohs(eth->type);
    512494
    513                         /* 乱数生成を初期化する。*/
     495                        /* 乱数生成を初期化する。*/
    514496                        if (rcount == 0) {
    515497
Note: See TracChangeset for help on using the changeset viewer.