Ignore:
Timestamp:
Aug 23, 2017, 9:27:43 AM (7 years ago)
Author:
coas-nagasima
Message:

文字コードを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/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
    r270 r321  
    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
     
    9280
    9381/*
    94  *  変数
     82 *  変数
    9583 */
    9684
     
    10593
    10694/*
    107  *  変数
    108  */
    109 
    110 /* ネットワークインタフェース構造体 */
     95 *  変数
     96 */
     97
     98/* ネットワークインタフェース構造体 */
    11199
    112100#if defined(SUPPORT_INET4)
    113101
    114102static T_IFNET ether_ifnet = {
    115         NULL,                   /* ネットワークインタフェースのソフトウェアæƒ
    116 å ±     */
     103        NULL,                   /* ネットワークインタフェースのソフトウェア情報       */
    117104        {
    118                 IPV4_ADDR_LOCAL,        /* IPv4 アドレス            */
    119                 IPV4_ADDR_LOCAL_MASK,   /* サブネットマスク             */
     105                IPV4_ADDR_LOCAL,        /* IPv4 アドレス            */
     106                IPV4_ADDR_LOCAL_MASK,   /* サブネットマスク             */
    120107                },
    121108        };
     
    126113
    127114static T_IFNET ether_ifnet = {
    128         NULL,                   /* ネットワークインタフェースのソフトウェアæƒ
    129 å ±     */
    130         {0},                    /* IPv6 アドレスæƒ
    131 å ±                             */
    132         {0},                    /* マルチキャスト IPv6 アドレス                      */
    133         0,                              /* フラグ                                    */
     115        NULL,                   /* ネットワークインタフェースのソフトウェア情報       */
     116        {0},                    /* IPv6 アドレス情報                          */
     117        {0},                    /* マルチキャスト IPv6 アドレス                    */
     118        0,                              /* フラグ                                  */
    134119        };
    135120
     
    139124
    140125/*
    141  *  SNMP の 管理æƒ
    142 å ±ãƒ™ãƒ¼ã‚¹ (MIB)
     126 *  SNMP の 管理情報ベース (MIB)
    143127 */
    144128
     
    150134
    151135/*
    152  *  関数
     136 *  関数
    153137 */
    154138
     
    156140
    157141/*
    158  *  ieee_802_input -- IEEE 802.3 å
    159 ¥åŠ›å‡¦ç†
     142 *  ieee_802_input -- IEEE 802.3 入力処理
    160143 */
    161144
     
    175158
    176159/*
    177  *  ether_get_ifnet -- ネットワークインタフェース構造体を返す。
     160 *  ether_get_ifnet -- ネットワークインタフェース構造体を返す。
    178161 */
    179162
     
    187170
    188171/*
    189  *  ether_in6_resolve_multicast -- イーサネットのマルチキャストアドレスへの変換
     172 *  ether_in6_resolve_multicast -- イーサネットのマルチキャストアドレスへの変換
    190173 */
    191174
     
    193176ether_in6_resolve_multicast (T_ETHER_ADDR *ifaddr, T_IN6_ADDR *maddr)
    194177{
    195         /* マルチキャストアドレスかチェックする。*/
     178        /* マルチキャストアドレスかチェックする。*/
    196179        if (!IN6_IS_ADDR_MULTICAST(maddr))
    197180                return E_PAR;
    198181
    199         /* イーサネットのマルチキャストアドレスへの変換 */
     182        /* イーサネットのマルチキャストアドレスへの変換 */
    200183        ether_map_ipv6_multicast(ifaddr, maddr);
    201184
     
    249232
    250233/*
    251  *  ether_raw_output -- Ethernet インタフェースの出力関数、MAC アドレス解決無し
     234 *  ether_raw_output -- Ethernet インタフェースの出力関数、MAC アドレス解決無し
    252235 */
    253236
     
    257240        ER error = E_OK;
    258241
    259         /* Ethernet 出力キューに投å
    260 ¥ã™ã‚‹ã€‚*/
     242        /* Ethernet 出力キューに投入する。*/
    261243        if ((error = tsnd_dtq(DTQ_ETHER_OUTPUT, (intptr_t)output, tmout)) != E_OK) {
    262244                NET_COUNT_ETHER(net_count_ether.out_err_packets, 1);
    263245                NET_COUNT_MIB(if_stats.ifOutDiscards, 1);
    264246
    265                 /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     247                /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    266248                if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    267249                        syscall(rel_net_buf(output));
     
    276258
    277259/*
    278  *  ether_output -- Ethernet インタフェースの出力関数、MAC アドレス解決有り
     260 *  ether_output -- Ethernet インタフェースの出力関数、MAC アドレス解決有り
    279261 */
    280262
     
    286268        T_ETHER_HDR *eth;
    287269
    288         /* 送信å
    289 ƒ MAC アドレスを設定する。*/
     270        /* 送信元 MAC アドレスを設定する。*/
    290271        ic = IF_ETHER_NIC_GET_SOFTC();
    291272        eth = GET_ETHER_HDR(output);
     
    298279        case ETHER_TYPE_IP:             /* IPv4 */
    299280#ifdef ETHER_CFG_MULTICAST
    300                 /* マルチキャストアドレスの場合 */
     281                /* マルチキャストアドレスの場合 */
    301282                if(IN4_IS_ADDR_MULTICAST(*(uint32_t*)dst)){
    302                         /* イーサネットのマルチキャストアドレスへの変換 */
     283                        /* イーサネットのマルチキャストアドレスへの変換 */
    303284                        ether_map_ipv4_multicast((T_ETHER_ADDR *)&eth->dhost, *(T_IN4_ADDR*)dst);
    304285                        error = ether_raw_output(output, tmout);
     
    306287                        }
    307288#endif
    308                 if (arp_resolve(&ic->ifaddr, output, *(uint32_t*)dst)) {        /* true ならアドレス解決済 */
     289                if (arp_resolve(&ic->ifaddr, output, *(uint32_t*)dst)) {        /* true ならアドレス解決済 */
    309290                        error = ether_raw_output(output, tmout);
    310291                        }
     
    321302                        error = ether_raw_output(output, tmout);
    322303
    323                 /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     304                /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    324305                else if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    325306                        syscall(rel_net_buf(output));
     
    335316                NET_COUNT_MIB(if_stats.ifOutErrors, 1);
    336317
    337                 /* IF でネットワークバッファを開放しないフラグをチェックする。*/
     318                /* IF でネットワークバッファを開放しないフラグをチェックする。*/
    338319                if ((output->flags & NB_FLG_NOREL_IFOUT) == 0) {
    339320                        syscall(rel_net_buf(output));
     
    352333
    353334/*
    354  *  Ethernet 出力タスク
     335 *  Ethernet 出力タスク
    355336 */
    356337
     
    406387
    407388/*
    408  *  Ethernet å
    409 ¥åŠ›ã‚¿ã‚¹ã‚¯
     389 *  Ethernet 入力タスク
    410390 */
    411391
     
    419399        uint16_t        proto;
    420400
    421         /* ネットワークインタフェース管理を初期化する。*/
     401        /* ネットワークインタフェース管理を初期化する。*/
    422402        ifinit();
    423403
    424         /* NIC を初期化する。*/
     404        /* NIC を初期化する。*/
    425405        ic = IF_ETHER_NIC_GET_SOFTC();
    426406        IF_ETHER_NIC_PROBE(ic);
    427407        IF_ETHER_NIC_INIT(ic);
    428408
    429         /* Ethernet 出力タスクを起動する */
     409        /* Ethernet 出力タスクを起動する */
    430410        syscall(act_tsk(ETHER_OUTPUT_TASK));
    431411
    432         /* ネットワークタイマタスクを起動する */
     412        /* ネットワークタイマタスクを起動する */
    433413        syscall(act_tsk(NET_TIMER_TASK));
    434414
     
    440420#if defined(SUPPORT_INET4)
    441421
    442         /* ARP を初期化する。*/
     422        /* ARP を初期化する。*/
    443423        arp_init();
    444424
Note: See TracChangeset for help on using the changeset viewer.