ご自分で作成されたプロトコルについて、GUIをカスタマイズ
して、選択および、パラメータ設定がしたいということですね。
GUIのインスペクタで設定できる項目を変更するには、
QUALNET_HOME/gui/settings/choices.xml
というファイルを変更していただくことになります。
たとえば、AODVであれば、下記のような設定が記述されています。
<subcategory title="Routing Protocol" class="interface,device,atmdevice">
<variable name="Routing Policy" key="DUMMY-ROUTING" type="Selection" default="Dynamic">
<option value="DYNAMIC" name="Dynamic">
<variable name="Routing Protocol" key="ROUTING-PROTOCOL" type="Selection" default="Bellman Ford">
<option value="AODV" name="AODV" addon="Developer,MANET">
<variable name="Net Diameter (max hops)" key="AODV-NET-DIAMETER" type="Integer" default="35" help="The maximum possible number of hops between two nodes in the network" />
<variable name="Node Traversal Time" key="AODV-NODE-TRAVERSAL-TIME" type="Time" default="40MS" help="Conservative estimate of the average one hop traversal time for packets and should include queuing, transmission, propagation and other delays" />
<variable name="Active Route Timeout" key="AODV-ACTIVE-ROUTE-TIMEOUT" type="Time" default="3S" help="Timeout time for an active route; each time a data packet is received, the lifetime of that route is updated to this value. A default value of 10 seconds is suggested for error detection through MAC layer message (like what 802.11 does)" />
<variable name="My Route Timeout" key="AODV-MY-ROUTE-TIMEOUT" type="Time" default="6S" help="The destination of a RREQ replies with AODV-MY-ROUTE-TIMEOUT as the lifetime of the route." />
<variable name="Hello Interval" key="AODV-HELLO-INTERVAL" type="Time" default="1S" help="Lifetime of a hello message is determined by AODV-ALLOWED_HELLO_LOSS * AODV-HELLO_INTERVAL" />
<variable name="Allowed Hello Loss" key="AODV-ALLOWED-HELLO-LOSS" type="Integer" default="2" min="2" max="3" help="Lifetime of a hello message is determined by AODV-ALLOWED_HELLO_LOSS * AODV-HELLO_INTERVAL" />
<variable name="RREQ Retries" key="AODV-RREQ-RETRIES" type="Integer" default="2" help="Specifies the number of times AODV will repeat expanded ring search for a destination if no Route Reply is received within specified amount of time." />
<variable name="Route Deletion Constant" key="AODV-ROUTE-DELETION-CONSTANT" type="Integer" default="5" help="A constant use for calculating the time after which an active route should be deleted. After timeout of an active route, the route is finally deleted from the routing table after a time period of (K * max (AODV-ACTIVE_ROUTE_TIMEOUT, AODV-ALLOWED_HELLO_LOSS * AODV-HELLO_INTERVAL)), Here K is AODV-ROUTE-DELETION-CONSTANT." />
<variable name="Process Hello?" key="AODV-PROCESS-HELLO" type="Checkbox" default="NO" help="If the value is set to YES, a node will send a hello message if there is no broadcast within the last hello interval. Simulation time will increase depending on the frequency of the hello updates." />
<variable name="Local Repair?" key="AODV-LOCAL-REPAIR" type="Checkbox" default="NO" help="If this value is set to YES, the node will try to locally repair a broken route, if possible." />
<variable name="Search Better Route?" key="AODV-SEARCH-BETTER-ROUTE" type="Checkbox" default="NO" help="If the source node of a route gets a route error message, it will initiate a new Route Request for the destination if the value is set to YES." />
<variable name="Max Buffer Packets" key="AODV-BUFFER-MAX-PACKET" type="Integer" default="100" help="Maximum number of packets the message buffer of AODV can hold. If the buffer fills up, incoming packets for the buffer will be dropped." />
<variable name="Max Buffer Size (bytes)" key="AODV-BUFFER-MAX-BYTE" type="Integer" default="0" help="If nothing is specified, buffer overflow will be checked by number of packets in the buffer. If some value is specified here, incoming packets will be dropped if the incoming packet size + current size of the buffer exceeds this value." />
<variable name="Open Bi-directional Connection" key="AODV-OPEN-BI-DIRECTIONAL-CONNECTION" type="Checkbox" default="YES" />
<variable name="TTL Start" key="AODV-TTL-START" type="Integer" default="1" min="1" />
<variable name="TTL Increment" key="AODV-TTL-INCREMENT" type="Integer" default="2" min="1" />
<variable name="TTL Threshold" key="AODV-TTL-THRESHOLD" type="Integer" default="7" requires="this.value > AODV-TTL-START" />
</option>
基本的に、サブカテゴリ Routing Protocol に対して新たに
optionを追加して、ご自分で追加されたプロトコルとそのパラメータ
(パラメータを示すタグ、デフォルト値等)を記述していただけれ
ば結構です
また、単に AODVに対して新たにパラメータを追加するだけなら、
variable name タグを追加していただくだけでよいです。
詳細につきましては、programer's guide に記載されています。
Qualnet 3.9.5 の場合は programer's guide の 5.1 章となります