99 Ipv4AddressHelper ipv4; |
99 Ipv4AddressHelper ipv4; |
100 ipv4.SetBase ("10.0.0.0", "255.255.255.0"); |
100 ipv4.SetBase ("10.0.0.0", "255.255.255.0"); |
101 Ipv4InterfaceContainer ipv4Interfaces = ipv4.Assign (p2pInterfaces); |
101 Ipv4InterfaceContainer ipv4Interfaces = ipv4.Assign (p2pInterfaces); |
102 |
102 |
103 DoubleValue rate (errRate); |
103 DoubleValue rate (errRate); |
104 RandomVariableValue u01 (UniformVariable (0.0, 1.0)); |
|
105 Ptr<RateErrorModel> em1 = |
104 Ptr<RateErrorModel> em1 = |
106 CreateObjectWithAttributes<RateErrorModel> ("RanVar", u01, "ErrorRate", rate); |
105 CreateObjectWithAttributes<RateErrorModel> ("RanVar", StringValue ("ns3::UniformRandomVariable[Min=0.0,Max=1.0]"), "ErrorRate", rate); |
107 Ptr<RateErrorModel> em2 = |
106 Ptr<RateErrorModel> em2 = |
108 CreateObjectWithAttributes<RateErrorModel> ("RanVar", u01, "ErrorRate", rate); |
107 CreateObjectWithAttributes<RateErrorModel> ("RanVar", StringValue ("ns3::UniformRandomVariable[Min=0.0,Max=1.0]"), "ErrorRate", rate); |
109 |
108 |
110 // This enables the specified errRate on both link endpoints. |
109 // This enables the specified errRate on both link endpoints. |
111 p2pInterfaces.Get (0)->SetAttribute ("ReceiveErrorModel", PointerValue (em1)); |
110 p2pInterfaces.Get (0)->SetAttribute ("ReceiveErrorModel", PointerValue (em1)); |
112 p2pInterfaces.Get (1)->SetAttribute ("ReceiveErrorModel", PointerValue (em2)); |
111 p2pInterfaces.Get (1)->SetAttribute ("ReceiveErrorModel", PointerValue (em2)); |
113 |
112 |