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/netinet/ip_output.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 è²¬ã™ã‚‹ã“と.
    36  *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     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プロジェクトを免責すること.
     25 *
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    123111
    124112/*
    125  *  IP output -- IP の出力関数
    126  *
    127  *    注意: バージョンとヘッダ長は上位層で設定する。
     113 *  IP output -- IP の出力関数
     114 *
     115 *    注意: バージョンとヘッダ長は上位層で設定する。
    128116 */
    129117
     
    144132
    145133#ifdef SUPPORT_IPSEC
    146         /* XXX: IPsecの処理はパケット断片化の前に行われる */
    147 
    148         /* SPDを取得する */
     134        /* XXX: IPsecの処理はパケット断片化の前に行われる */
     135
     136        /* SPDを取得する */
    149137        sp = ipsec4_getpolicybyaddr(output, IPSEC_DIR_OUTBOUND, &ipsec_error);
    150138        if (sp==NULL) {
     
    153141        }
    154142
    155         /* ポリシをチェックする*/
     143        /* ポリシをチェックする*/
    156144#if 0
    157145        switch (sp->policy) {
     
    165153
    166154        case  IPSEC_POLICY_IPSEC:
    167                 /* XXX: SH2ではここでillegal Instructionが発生する。コンパイラのバグ? */
     155                /* XXX: SH2ではここでillegal Instructionが発生する。コンパイラのバグ? */
    168156                if (sp->req == NULL) {
    169                         /* 鍵交換デーモンに対してSAの取得を要求する */
     157                        /* 鍵交換デーモンに対してSAの取得を要求する */
    170158                        goto bad;
    171159                }
     
    173161
    174162        default:
    175                 /* 不正なポリシ */
     163                /* 不正なポリシ */
    176164                goto bad;
    177165                break;
    178166        }
    179167#else /* 0 */
    180         /* XXX: コンパイラの不å
    181 ·åˆå›žé¿ã®ãŸã‚ switchをやめif文で書き直した */
     168        /* XXX: コンパイラの不具合回避のため switchをやめif文で書き直した */
    182169        policy = sp->spinitb->policy;
    183170
     
    188175        else if (policy == IPSEC_POLICY_IPSEC) {
    189176                if (sp->req == NULL)
    190                         /* 鍵交換デーモンに対してSAの取得を要求する */
     177                        /* 鍵交換デーモンに対してSAの取得を要求する */
    191178                        goto bad;
    192179        } else
     
    199186
    200187                        state.m = output;
    201                         /* XXX: ipsec4_output()å†
    202 ã§ã¯ã€ip->{len,off}をネットワークバイトオーダとする */
     188                        /* XXX: ipsec4_output()内では、ip->{len,off}をネットワークバイトオーダとする */
    203189                        error = ipsec4_output (&state, sp, 0 /* flags */ );
    204190                        output = state.m;
    205191
    206192                        if (error) {
    207                                 /* net_buf はipsec4_outputによって既に解放されている */
     193                                /* net_buf はipsec4_outputによって既に解放されている */
    208194                                switch (error) {
    209195                                default:
     
    213199                }
    214200
    215         /* ipsec4_outputに影響を受けた値を更新する */
    216         /* XXX: å¿
    217 è¦ã‹? */
     201        /* ipsec4_outputに影響を受けた値を更新する */
     202        /* XXX: 必要か? */
    218203
    219204skip_ipsec:
     
    227212
    228213        /*
    229          *  データグラムサイズがネットワークの MTU をè¶
    230 ãˆã¦ã„れば、
    231          *  分割して送信する。
     214         *  データグラムサイズがネットワークの MTU を超えていれば、
     215         *  分割して送信する。
    232216         */
    233217        if (ntohs(ip4h->len) > IF_MTU) {
     
    247231                                flen = len - off;
    248232
    249                         /* データ長は 4 オクテット境界に調整する。    */
     233                        /* データ長は 4 オクテット境界に調整する。        */
    250234                        align = (flen + 3) >> 2 << 2;
    251235
    252                         /* ネットワークバッファを獲得する。*/
     236                        /* ネットワークバッファを獲得する。*/
    253237                        if (tget_net_buf(&frag, align + IF_IP4_HDR_SIZE, TMO_IP4_FRAG_GET_NET_BUF) == E_OK) {
    254238
    255                                 /* フラグメントをコピーする。*/
     239                                /* フラグメントをコピーする。*/
    256240                                memcpy(GET_IP4_SDU(frag), (uint8_t *)ip4h + off, flen);
    257241
    258                                 /* ヘッダを埋める。*/
     242                                /* ヘッダを埋める。*/
    259243                                fip4h           = GET_IP4_HDR(frag);
    260244                                *fip4h          = *ip4h;
     
    279263                                }
    280264                        else {
    281                                 /* 獲得できなければ、送信をあきらめる。*/
     265                                /* 獲得できなければ、送信をあきらめる。*/
    282266                                syscall(rel_net_buf(output));
    283267                                NET_COUNT_IP4(net_count_ip4[NC_IP4_OUT_ERR_PACKETS], 1);
     
    294278        else {
    295279
    296                 /* ヘッダを埋める。*/
     280                /* ヘッダを埋める。*/
    297281                ip4h->id  = htons(frag_id);
    298282                frag_id ++;
     
    312296        ip4h = GET_IP4_HDR(output);
    313297
    314         /* データグラムサイズがネットワークの MTU をè¶
    315 ãˆã¦ã„ればエラー */
     298        /* データグラムサイズがネットワークの MTU を超えていればエラー */
    316299        if (ntohs(ip4h->len) > IF_MTU)
    317300                return E_PAR;
    318301
    319         /* ヘッダを埋める。*/
     302        /* ヘッダを埋める。*/
    320303        ip4h->id  = htons(frag_id);
    321304        frag_id ++;
     
    327310
    328311#ifdef ETHER_CFG_MULTICAST
    329         /* マルチキャストアドレスの場合はIPアドレスはそのまま */
     312        /* マルチキャストアドレスの場合はIPアドレスはそのまま */
    330313        gw = ntohl(ip4h->dst);
    331314        if(!IN4_IS_ADDR_MULTICAST(gw))
Note: See TracChangeset for help on using the changeset viewer.