MultiMecHost_delay.ned
NED File simulations/nr/mec/requestResponseApp/MultiMecHost_delay.ned
| Name | Type | Description |
|---|---|---|
| MultiMecHost_delay | network |
MultiMecHost with the two intermediate Upf nodes linked directly to each other, and with no X2 link between the gNodeBs. The length of that link -- and so its propagation delay -- follows the routersDelay parameter, which makes the distance between the two MEC hosts configurable. |
Source code
// // Simu5G // // Copyright (C) 2019-2021 Giovanni Nardini, Giovanni Stea, Antonio Virdis et al. (University of Pisa) // Copyright (C) 2022-2026 Giovanni Nardini, Giovanni Stea et al. (University of Pisa) // // This file is part of a software released under the license included in file // "license.pdf". Please read LICENSE and README files before using it. // The above files and the present reference are part of the software itself, // and cannot be removed from it. // package simu5g.simulations.nr.mec.requestResponseApp; import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator; import inet.networklayer.ipv4.RoutingTableRecorder; import inet.node.ethernet.Eth10G; import simu5g.common.binder.Binder; import simu5g.common.carrierAggregation.CarrierAggregation; import simu5g.corenetwork.bearerConfigurator.BearerConfigurator; import simu5g.nodes.NrUe; import simu5g.nodes.gNodeB; import simu5g.nodes.Upf; import simu5g.nodes.BackgroundCell; import simu5g.nodes.MecHost; import simu5g.mec.orchestrator.MecOrchestrator; import simu5g.mec.ualcmp.Ualcmp; import simu5g.world.radio.LteChannelControl; // // ~MultiMecHost with the two intermediate ~Upf nodes linked directly to each // other, and with no X2 link between the gNodeBs. The length of that link -- and // so its propagation delay -- follows the routersDelay parameter, which makes the // distance between the two MEC hosts configurable. // network MultiMecHost_delay { parameters: // The gNBs connect to a 5GC (Upf), so every cellular stack has SDAP: // TS 37.324 ties SDAP to the 5GC connection, not to the radio **.cellularNic.hasSdap = default(true); int numUe = default(1); int numBgCells = default(0); double routersDelay @unit(m) = default(0m); // volatile double routersDelay @unit(m) = default(normal(2m, 0.8m)); @display("i=block/network2;bgb=1088,678;");//bgi=background/pisa"); submodules: channelControl: LteChannelControl { @display("p=50,25;is=s"); } routingRecorder: RoutingTableRecorder { @display("p=50,75;is=s"); } configurator: Ipv4NetworkConfigurator { @display("p=50,125;is=s"); } binder: Binder { @display("p=50,175;is=s"); } bearerConfigurator: BearerConfigurator { @display("p=50,225;is=s"); } carrierAggregation: CarrierAggregation { @display("p=50,275;is=s"); } upf: Upf { @display("p=495,132"); } iUpf1: Upf { @display("p=400,247"); } iUpf2: Upf { @display("p=590,247"); } gnb1: gNodeB { @display("p=283,421;is=vl"); } gnb2: gNodeB { @display("p=749,400;is=vl"); } bgCell[numBgCells]: BackgroundCell { @display("p=80,576;is=vl"); } ue[numUe]: NrUe { @display("p=353,481"); } //# MEC modules mecHost1: MecHost { @display("p=248,247"); } mecHost2: MecHost { @display("p=748,247"); } mecOrchestrator: MecOrchestrator { @display("p=749,132"); } ualcmp: Ualcmp { @display("p=603,131"); } connections: //# 5G Core Network connections upf.pppg++ <--> Eth10G <--> iUpf1.pppg++; upf.pppg++ <--> Eth10G <--> iUpf2.pppg++; iUpf1.pppg++ <--> Eth10G <--> gnb1.ppp; iUpf2.pppg++ <--> Eth10G <--> gnb2.ppp; iUpf2.pppg++ <--> Eth10G { length = parent.routersDelay*2e5; } <--> iUpf1.pppg++; //# MEC-related connections ualcmp.ppp++ <--> Eth10G <--> upf.dnPppg; ualcmp.toMecOrchestrator --> mecOrchestrator.fromUALCMP; ualcmp.fromMecOrchestrator <-- mecOrchestrator.toUALCMP; mecHost1.ppp++ <--> Eth10G <--> iUpf1.pppg++; mecHost2.ppp++ <--> Eth10G <--> iUpf2.pppg++; }