151 uint32_t index = AddIpv4Interface (interface); |
151 uint32_t index = AddIpv4Interface (interface); |
152 AddHostRouteTo (Ipv4Address::GetLoopback (), index); |
152 AddHostRouteTo (Ipv4Address::GetLoopback (), index); |
153 interface->SetUp (); |
153 interface->SetUp (); |
154 } |
154 } |
155 |
155 |
156 TraceResolver * |
156 Ptr<TraceResolver> |
157 Ipv4L3Protocol::CreateTraceResolver (void) |
157 Ipv4L3Protocol::CreateTraceResolver (void) |
158 { |
158 { |
159 CompositeTraceResolver *resolver = new CompositeTraceResolver (); |
159 Ptr<CompositeTraceResolver> resolver = Create<CompositeTraceResolver> (); |
160 resolver->Add ("tx", m_txTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::TX)); |
160 resolver->Add ("tx", m_txTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::TX)); |
161 resolver->Add ("rx", m_rxTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::RX)); |
161 resolver->Add ("rx", m_rxTrace, Ipv4L3ProtocolTraceContextElement(Ipv4L3ProtocolTraceContextElement::RX)); |
162 resolver->Add ("drop", m_dropTrace, Ipv4L3ProtocolTraceContextElement (Ipv4L3ProtocolTraceContextElement::DROP)); |
162 resolver->Add ("drop", m_dropTrace, Ipv4L3ProtocolTraceContextElement (Ipv4L3ProtocolTraceContextElement::DROP)); |
163 resolver->Add ("interfaces", |
163 resolver->Add ("interfaces", |
164 MakeCallback (&Ipv4L3Protocol::InterfacesCreateTraceResolver, this)); |
164 MakeCallback (&Ipv4L3Protocol::InterfacesCreateTraceResolver, this)); |
165 return resolver; |
165 return resolver; |
166 } |
166 } |
167 |
167 |
168 TraceResolver * |
168 Ptr<TraceResolver> |
169 Ipv4L3Protocol::InterfacesCreateTraceResolver (void) const |
169 Ipv4L3Protocol::InterfacesCreateTraceResolver (void) const |
170 { |
170 { |
171 ArrayTraceResolver<Ipv4Interface *, Ipv4l3ProtocolInterfaceIndex> *resolver = |
171 Ptr<ArrayTraceResolver<Ipv4Interface *, Ipv4l3ProtocolInterfaceIndex> >resolver = |
172 new ArrayTraceResolver<Ipv4Interface *,Ipv4l3ProtocolInterfaceIndex> |
172 Create<ArrayTraceResolver<Ipv4Interface *,Ipv4l3ProtocolInterfaceIndex> > |
173 (MakeCallback (&Ipv4L3Protocol::GetNInterfaces, this), |
173 (MakeCallback (&Ipv4L3Protocol::GetNInterfaces, this), |
174 MakeCallback (&Ipv4L3Protocol::GetInterface, this)); |
174 MakeCallback (&Ipv4L3Protocol::GetInterface, this)); |
175 return resolver; |
175 return resolver; |
176 } |
176 } |
177 |
177 |