123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- package inet.examples.bgpv4.BGP2RoutersInAS;
- import inet.common.misc.ThruputMeteringChannel;
- import inet.networklayer.configurator.ipv4.IPv4NetworkConfigurator;
- import inet.node.bgp.BGPRouter;
- import inet.node.ethernet.EtherSwitch;
- import inet.node.inet.StandardHost;
- import inet.node.ospfv2.OSPFRouter;
- network BGPTest
- {
- types:
- channel LINK_100 extends ThruputMeteringChannel
- {
- parameters:
- delay = 0;
- datarate = 100Mbps;
- thruputDisplayFormat = "#N";
- }
- submodules:
- A1: BGPRouter {
- parameters:
- @display("p=274,93");
- gates:
- pppg[2];
- }
- A2: BGPRouter {
- parameters:
- @display("p=184,221");
- gates:
- pppg[2];
- }
- B: BGPRouter {
- parameters:
- @display("p=386,93");
- gates:
- pppg[2];
- }
- C: BGPRouter {
- parameters:
- @display("p=298,221");
- gates:
- pppg[3];
- }
- RA1: OSPFRouter {
- parameters:
- @display("p=198,41;i=device/router");
- gates:
- pppg[3];
- }
- RA2: OSPFRouter {
- parameters:
- @display("p=150,139;i=device/router");
- gates:
- pppg[3];
- }
- RA3: OSPFRouter {
- parameters:
- @display("p=102,43;i=device/router");
- gates:
- pppg[2];
- ethg[1];
- }
- RB1: OSPFRouter {
- parameters:
- @display("p=462,145;i=device/router");
- gates:
- pppg[1];
- ethg[1];
- }
- RC1: OSPFRouter {
- parameters:
- @display("p=326,313;i=device/router");
- gates:
- pppg[2];
- ethg[1];
- }
- RC2: OSPFRouter {
- parameters:
- @display("p=398,227;i=device/router");
- gates:
- pppg[2];
- ethg[1];
- }
- PA3: EtherSwitch {
- parameters:
- @display("p=52,102;i=device/switch");
- gates:
- ethg[3];
- }
- PB1: EtherSwitch {
- parameters:
- @display("p=460,62;i=device/switch");
- gates:
- ethg[3];
- }
- PC1: EtherSwitch {
- parameters:
- @display("p=420,318;i=device/switch");
- gates:
- ethg[3];
- }
- PC2: EtherSwitch {
- parameters:
- @display("p=492,230;i=device/switch");
- gates:
- ethg[3];
- }
- HA31: StandardHost {
- parameters:
- @display("p=42,178;i=device/pc");
- gates:
- ethg[1];
- }
- HA32: StandardHost {
- parameters:
- @display("p=98,178;i=device/pc");
- gates:
- ethg[1];
- }
- HB11: StandardHost {
- parameters:
- @display("p=542,50;i=device/pc");
- gates:
- ethg[1];
- }
- HB12: StandardHost {
- parameters:
- @display("p=542,114;i=device/pc");
- gates:
- ethg[1];
- }
- HC11: StandardHost {
- parameters:
- @display("p=390,394;i=device/pc");
- gates:
- ethg[1];
- }
- HC12: StandardHost {
- parameters:
- @display("p=454,394;i=device/pc");
- gates:
- ethg[1];
- }
- HC21: StandardHost {
- parameters:
- @display("p=478,308;i=device/pc");
- gates:
- ethg[1];
- }
- HC22: StandardHost {
- parameters:
- @display("p=526,308;i=device/pc");
- gates:
- ethg[1];
- }
- configurator: IPv4NetworkConfigurator {
- @display("p=71,374");
- config = xmldoc("IPv4Config.xml");
- //assignAddresses = false;
- //assignDisjunctSubnetAddresses = false;
- addStaticRoutes = false;
- addDefaultRoutes = false;
- addSubnetRoutes = false;
- }
- connections:
- //LAN RA3
- HA31.ethg[0] <--> LINK_100 <--> PA3.ethg[0];
- HA32.ethg[0] <--> LINK_100 <--> PA3.ethg[1];
- PA3.ethg[2] <--> LINK_100 <--> RA3.ethg[0];
- //LAN RB1
- HB11.ethg[0] <--> LINK_100 <--> PB1.ethg[0];
- HB12.ethg[0] <--> LINK_100 <--> PB1.ethg[1];
- PB1.ethg[2] <--> LINK_100 <--> RB1.ethg[0];
- //LAN C1 et C2
- HC11.ethg[0] <--> LINK_100 <--> PC1.ethg[0];
- HC12.ethg[0] <--> LINK_100 <--> PC1.ethg[1];
- HC21.ethg[0] <--> LINK_100 <--> PC2.ethg[0];
- HC22.ethg[0] <--> LINK_100 <--> PC2.ethg[1];
- PC1.ethg[2] <--> LINK_100 <--> RC1.ethg[0];
- PC2.ethg[2] <--> LINK_100 <--> RC2.ethg[0];
- //OSPF A
- RA1.pppg[2] <--> LINK_100 <--> RA3.pppg[0];
- RA2.pppg[2] <--> LINK_100 <--> RA3.pppg[1];
- RA1.pppg[1] <--> LINK_100 <--> RA2.pppg[1];
- RA1.pppg[0] <--> LINK_100 <--> A1.pppg[1];
- RA2.pppg[0] <--> LINK_100 <--> A2.pppg[1];
- //OSPF B
- RB1.pppg[0] <--> LINK_100 <--> B.pppg[1];
- //OSPF C
- RC1.pppg[1] <--> LINK_100 <--> RC2.pppg[1];
- RC1.pppg[0] <--> LINK_100 <--> C.pppg[1];
- RC2.pppg[0] <--> LINK_100 <--> C.pppg[2];
- //BGP
- A1.pppg[0] <--> LINK_100 <--> B.pppg[0];
- A2.pppg[0] <--> LINK_100 <--> C.pppg[0];
- }
|