Japan QualNet Community Forums Japan QualNet Community Forums
Welcome Guest 
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/04/29:6/6
2024/04/28:16/23

2024/02/29より288/1375
人気モジュール
No.1: フォーラム 15
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット22

No.1:どっかの巡回ロボット22

日曜日からの合計
メイン
   Network Layer Settings: IP, QoS, Queuing & Scheduling
     オリジナルのQueuing機能の実装について
投稿するにはまず登録を

題名 投稿者 日時
   オリジナルのQueuing機能の実装について azshi 2007/4/23 21:10
     Re: オリジナルのQueuing機能の実装について gaku 2007/4/23 21:46
     » Re: オリジナルのQueuing機能の実装について mast 2007/4/23 23:58
         Re: オリジナルのQueuing機能の実装について azshi 2007/4/24 14:13
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
mast
投稿日時: 2007/4/23 23:58
一人前
登録日: 2005/4/7
居住地:
投稿: 93
Re: オリジナルのQueuing機能の実装について
引用:

参考までに ip.cpp に実装されている NetworkIpQueueInsert とかはどうでしょうか?
(*scheduler).insertでエンキューが実行されているはずなので、あとは引数で与えるqueueIndexをパケットの種類に応じて変えてやればいいのだと思います。
packetA<->Index = 1
packetB<->Index = 2
packetC<->Index = 3
・・・
のような対応表をどこかで実装しておけば、適切なIndexを与えることができるのではないでしょうか。

以下、参考までに…

(*scheduler).insertの呼び出し関係を抜き出してみたら3箇所ありました。
(全てnetwork_ip.cppです。但しQualNet 4.0のコードを見ています。)
--->NetworkIpSendOnBackplane()
    --->NetworkIpCpuQueueInsert()
        --->NetworkIpQueueInsert()
            --->(*scheduler).insert()

--->QueueUpIpFragmentForMacLayer()
    --->NetworkIpOutputQueueInsert()
        --->NetworkIpQueueInsert()
            --->(*scheduler).insert()

--->NetworkIpSendOnBackplane()
    --->NetworkIpInputQueueInsert()
        --->NetworkIpQueueInsert()
            --->(*scheduler).insert()
(BackplaneとかIpCpuQueueというのが何なのかよく分かりませんが、、)
今、IpInputQueueはおいといて、IpOutputQueueに注目すると、NetworkIpOutputQueueInsert()で、
scheduler = ip->interfaceInfo[outgoingInterface]->scheduler
というようにセットしているので、さらに、ip->interfaceInfo[outgoingInterface]->schedulerを何処でセットしているのかを追ってみると、NetworkIpInitOutputQueueConfiguration()でセットしていました。
また、NetworkIpInitOutputQueueConfiguration()は、
--->PARTITION_InitializeNodes()
    --->MAC_Initialize()
        --->ProcessInputFileSubnetLine()
            --->AddNodeToSubnet()
                --->NetworkIpCreateQueues()
                    --->NetworkIpInitOutputQueueConfiguration()
というように呼び出されているようです。
フラット表示 前のトピック | 次のトピック
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT