File Nodes/Wireless/WirelessAPWithEth.ned
Contains:
import
"MACRelayUnit",
"EtherMAC",
"NotificationBoard",
"NullMobility",
"EthernetInterface",
"Ieee80211NicAP";
module WirelessAPWithEth
parameters:
relayUnitType: string;
gates:
in: radioIn;
in: ethIn[];
out: ethOut[];
submodules:
relayUnit: relayUnitType like MACRelayUnit;
gatesizes:
lowerLayerIn[sizeof(ethIn)+1],
lowerLayerOut[sizeof(ethIn)+1];
display: "i=greenbox;p=169,124";
wlan: Ieee80211NicAP;
display: "p=89,225;q=queue;i=block/ifcard,#ff8000";
eth: EtherMAC[sizeof(ethIn)];
parameters:
promiscuous = true,
txQueueLimit = 1000,
queueModule = "";
display: "i=block/ifcard;p=174,225,row;q=queue";
notificationBoard: NotificationBoard;
display: "p=78,60;i=block/control";
mobility: NullMobility;
display: "p=71,121;i=block/cogwheel_s";
connections nocheck:
radioIn --> wlan.radioIn display "m=s";
wlan.uppergateIn <-- relayUnit.lowerLayerOut[0];
wlan.uppergateOut --> relayUnit.lowerLayerIn[0];
for i=0..sizeof(ethIn)-1 do
eth[i].upperLayerIn <-- relayUnit.lowerLayerOut[i+1];
eth[i].upperLayerOut --> relayUnit.lowerLayerIn[i+1];
eth[i].physIn <-- ethIn[i];
eth[i].physOut --> ethOut[i];
endfor;
endmodule