MultiCell_withSecondaryGnb.ned
NED File simulations/nr/networks/MultiCell_withSecondaryGnb.ned
| Name | Type | Description |
|---|---|---|
| MultiCell_withSecondaryGnb | network |
The two-cell version of SingleCell_withSecondaryGnb: two eNodeB masters, each paired over X2 with its own gNodeB secondary, and a further X2 link between the two masters. Both eNodeBs connect to the EPC PgwStandard, which faces a router and a server; neither gNodeB has a core-network link. numUe NrUe terminals attach, and numBgCells BackgroundCell cells can be added as interferers. |
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.networks; import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator; import inet.networklayer.ipv4.RoutingTableRecorder; import inet.node.ethernet.Eth10G; import inet.node.inet.Router; import inet.node.inet.StandardHost; 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.PgwStandard; import simu5g.nodes.BackgroundCell; import simu5g.nodes.eNodeB; import simu5g.world.radio.LteChannelControl; // // The two-cell version of ~SingleCell_withSecondaryGnb: two ~eNodeB masters, // each paired over X2 with its own ~gNodeB secondary, and a further X2 link // between the two masters. Both eNodeBs connect to the EPC ~PgwStandard, which // faces a router and a server; neither gNodeB has a core-network link. numUe // ~NrUe terminals attach, and numBgCells ~BackgroundCell cells can be added as // interferers. // network MultiCell_withSecondaryGnb { parameters: int numUe = default(1); int numBgCells = default(0); @display("i=block/network2;bgb=1100,800;bgi=background/pisa"); submodules: channelControl: LteChannelControl { @display("p=106,62;is=s"); } routingRecorder: RoutingTableRecorder { @display("p=106,112;is=s"); } configurator: Ipv4NetworkConfigurator { @display("p=106,162;is=s"); } binder: Binder { @display("p=106,212;is=s"); } bearerConfigurator: BearerConfigurator { @display("p=106,262;is=s"); } carrierAggregation: CarrierAggregation { @display("p=106,312;is=s"); } server: StandardHost { @display("p=273,48;is=n;i=device/server"); } router: Router { @display("p=393,46;i=device/smallrouter"); } pgw: PgwStandard { @display("p=530,49;is=n"); } masterEnb1: eNodeB { @display("p=363,277;is=vl"); } secondaryGnb1: gNodeB { @display("p=527,461;is=vl"); } masterEnb2: eNodeB { @display("p=692,277;is=vl"); } secondaryGnb2: gNodeB { @display("p=856,461;is=vl"); } bgCell[numBgCells]: BackgroundCell { @display("p=1000,107;is=vl"); } ue[numUe]: NrUe { @display("p=526,334"); } connections: server.pppg++ <--> Eth10G <--> router.pppg++; router.pppg++ <--> Eth10G <--> pgw.dnPppg; pgw.pppg++ <--> Eth10G <--> masterEnb1.ppp; pgw.pppg++ <--> Eth10G <--> masterEnb2.ppp; //# X2 connections secondaryGnb1.x2++ <--> Eth10G <--> masterEnb1.x2++; masterEnb1.x2++ <--> Eth10G <--> masterEnb2.x2++; masterEnb2.x2++ <--> Eth10G <--> secondaryGnb2.x2++; }