author | Kirill Andreev <andreev@iitp.ru> |
Tue, 21 Jul 2009 13:14:52 +0400 | |
changeset 5126 | 8e06088a785d |
parent 5101 | 41589d492ca3 |
child 5129 | 5688b8da4526 |
permissions | -rw-r--r-- |
4793 | 1 |
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
2 |
/* |
|
3 |
* Copyright (c) 2008,2009 IITP RAS |
|
4 |
* |
|
5 |
* This program is free software; you can redistribute it and/or modify |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
6 |
* it under the terms of the GNU General Public License version 2 as |
4793 | 7 |
* published by the Free Software Foundation; |
8 |
* |
|
9 |
* This program is distributed in the hope that it will be useful, |
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 |
* GNU General Public License for more details. |
|
13 |
* |
|
14 |
* You should have received a copy of the GNU General Public License |
|
15 |
* along with this program; if not, write to the Free Software |
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
17 |
* |
|
4817
1257e4b82e17
L2RoutingProtocol refactored to MeshL2RoutingProtocol
Pavel Boyko <boyko@iitp.ru>
parents:
4815
diff
changeset
|
18 |
* Authors: Kirill Andreev <andreev@iitp.ru> |
1257e4b82e17
L2RoutingProtocol refactored to MeshL2RoutingProtocol
Pavel Boyko <boyko@iitp.ru>
parents:
4815
diff
changeset
|
19 |
* Pavel Boyko <boyko@iitp.ru> |
4793 | 20 |
*/ |
21 |
||
22 |
||
23 |
#ifndef L2ROUTING_NET_DEVICE_H |
|
24 |
#define L2ROUTING_NET_DEVICE_H |
|
25 |
||
26 |
#include "ns3/net-device.h" |
|
27 |
#include "ns3/mac48-address.h" |
|
28 |
#include "ns3/bridge-channel.h" |
|
4817
1257e4b82e17
L2RoutingProtocol refactored to MeshL2RoutingProtocol
Pavel Boyko <boyko@iitp.ru>
parents:
4815
diff
changeset
|
29 |
#include "ns3/mesh-l2-routing-protocol.h" |
4793 | 30 |
|
31 |
namespace ns3 { |
|
4815 | 32 |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
33 |
class Node; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
34 |
/** |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
35 |
* \ingroup mesh |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
36 |
* |
4815 | 37 |
* \brief Virtual net device modeling mesh point. |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
38 |
* |
4815 | 39 |
* Mesh point is a virtual net device which is responsible for |
40 |
* - Aggreagating and coordinating 1..* real devices -- mesh interfaces, see MeshInterfaceDevice class. |
|
41 |
* - Hosting all mesh-related level 2 protocols. |
|
42 |
* |
|
43 |
* One of hosted L2 protocols must inplement L2RoutingProtocol interface and is used for packets forwarding. |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
44 |
* |
4815 | 45 |
* From the level 3 point of view MeshPointDevice is similar to BridgeNetDevice, but the packets, |
46 |
* which going through may be changed (because L2 protocols may require their own headers or tags). |
|
47 |
* |
|
48 |
* Attributes: TODO |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
49 |
*/ |
4815 | 50 |
class MeshPointDevice : public NetDevice |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
51 |
{ |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
52 |
public: |
4815 | 53 |
/// Object type ID for NS3 object system |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
54 |
static TypeId GetTypeId (); |
4815 | 55 |
/// C-tor create empty (without interfaces and protocols) mesh point |
56 |
MeshPointDevice (); |
|
57 |
/// D-tor |
|
58 |
virtual ~MeshPointDevice (); |
|
59 |
||
60 |
///\name Interfaces |
|
61 |
//\{ |
|
62 |
/** |
|
4817
1257e4b82e17
L2RoutingProtocol refactored to MeshL2RoutingProtocol
Pavel Boyko <boyko@iitp.ru>
parents:
4815
diff
changeset
|
63 |
* \brief Attach new interface to the station. Interface must support 48-bit MAC address and SendFrom method. |
4815 | 64 |
* |
65 |
* \attention Only MeshPointDevice can have IP address, but not individual interfaces. |
|
66 |
*/ |
|
67 |
void AddInterface (Ptr<NetDevice> port); |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
68 |
/** |
4815 | 69 |
* \return number of interfaces |
70 |
*/ |
|
71 |
uint32_t GetNInterfaces () const; |
|
72 |
/** |
|
73 |
* \return interface device by its index (aka ID) |
|
74 |
* \param id is interface id, 0 <= id < GetNInterfaces |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
75 |
*/ |
4815 | 76 |
Ptr<NetDevice> GetInterface (uint32_t id) const; |
4888
dec245c213ab
Attach interfaces replaced with Install. Helper is simplifyed
Kirill Andreev <andreev@iitp.ru>
parents:
4852
diff
changeset
|
77 |
/** |
dec245c213ab
Attach interfaces replaced with Install. Helper is simplifyed
Kirill Andreev <andreev@iitp.ru>
parents:
4852
diff
changeset
|
78 |
* \return vector of interfaces |
dec245c213ab
Attach interfaces replaced with Install. Helper is simplifyed
Kirill Andreev <andreev@iitp.ru>
parents:
4852
diff
changeset
|
79 |
*/ |
dec245c213ab
Attach interfaces replaced with Install. Helper is simplifyed
Kirill Andreev <andreev@iitp.ru>
parents:
4852
diff
changeset
|
80 |
std::vector<Ptr<NetDevice> > GetInterfaces () const; |
4815 | 81 |
//\} |
82 |
||
83 |
///\name Protocols |
|
84 |
//\{ |
|
4928
825037c2d7ab
Make routing protocol attribute of mesh point to be accessable by Config::
Pavel Boyko <boyko@iitp.ru>
parents:
4888
diff
changeset
|
85 |
/// Register routing protocol to be used. Protocol must be alredy installed on this mesh point. |
4852
123dc54d734e
Coding style changes: indentation (some fixes), spaces in operators, function
Andrey Mazo <mazo@iitp.ru>
parents:
4841
diff
changeset
|
86 |
void SetRoutingProtocol (Ptr<MeshL2RoutingProtocol> protocol); |
4928
825037c2d7ab
Make routing protocol attribute of mesh point to be accessable by Config::
Pavel Boyko <boyko@iitp.ru>
parents:
4888
diff
changeset
|
87 |
/// Access current routing protocol |
825037c2d7ab
Make routing protocol attribute of mesh point to be accessable by Config::
Pavel Boyko <boyko@iitp.ru>
parents:
4888
diff
changeset
|
88 |
Ptr<MeshL2RoutingProtocol> GetRoutingProtocol() const; |
4815 | 89 |
//\} |
90 |
||
91 |
///\name NetDevice interface for upper layers |
|
92 |
//\{ |
|
4852
123dc54d734e
Coding style changes: indentation (some fixes), spaces in operators, function
Andrey Mazo <mazo@iitp.ru>
parents:
4841
diff
changeset
|
93 |
virtual void SetName (const std::string name); |
123dc54d734e
Coding style changes: indentation (some fixes), spaces in operators, function
Andrey Mazo <mazo@iitp.ru>
parents:
4841
diff
changeset
|
94 |
virtual std::string GetName () const; |
123dc54d734e
Coding style changes: indentation (some fixes), spaces in operators, function
Andrey Mazo <mazo@iitp.ru>
parents:
4841
diff
changeset
|
95 |
virtual void SetIfIndex (const uint32_t index); |
123dc54d734e
Coding style changes: indentation (some fixes), spaces in operators, function
Andrey Mazo <mazo@iitp.ru>
parents:
4841
diff
changeset
|
96 |
virtual uint32_t GetIfIndex () const; |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
97 |
virtual Ptr<Channel> GetChannel () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
98 |
virtual Address GetAddress () const; |
5101
41589d492ca3
MeshPointDevice::SetAddress ()
Pavel Boyko <boyko@iitp.ru>
parents:
5096
diff
changeset
|
99 |
virtual void SetAddress (Address a); |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
100 |
virtual bool SetMtu (const uint16_t mtu); |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
101 |
virtual uint16_t GetMtu () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
102 |
virtual bool IsLinkUp () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
103 |
virtual void SetLinkChangeCallback (Callback<void> callback); |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
104 |
virtual bool IsBroadcast () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
105 |
virtual Address GetBroadcast () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
106 |
virtual bool IsMulticast () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
107 |
virtual Address GetMulticast (Ipv4Address multicastGroup) const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
108 |
virtual bool IsPointToPoint () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
109 |
virtual bool IsBridge () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
110 |
virtual bool Send (Ptr<Packet> packet, const Address& dest, uint16_t protocolNumber); |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
111 |
virtual bool SendFrom (Ptr<Packet> packet, const Address& source, const Address& dest, uint16_t protocolNumber); |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
112 |
virtual Ptr<Node> GetNode () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
113 |
virtual void SetNode (Ptr<Node> node); |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
114 |
virtual bool NeedsArp () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
115 |
virtual void SetReceiveCallback (NetDevice::ReceiveCallback cb); |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
116 |
virtual void SetPromiscReceiveCallback (NetDevice::PromiscReceiveCallback cb); |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
117 |
virtual bool SupportsSendFrom () const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
118 |
virtual Address GetMulticast (Ipv6Address addr) const; |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
119 |
virtual void DoDispose (); |
4815 | 120 |
//\} |
121 |
||
5096
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
122 |
///\name Statistics |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
123 |
//\{ |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
124 |
/// Print statistics counters |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
125 |
void Report (std::ostream & os) const; |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
126 |
/// Reset statistics counters |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
127 |
void ResetStats (); |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
128 |
//\} |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
129 |
|
4815 | 130 |
private: |
131 |
/// Receive packet from interface |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
132 |
void ReceiveFromDevice (Ptr<NetDevice> device, Ptr<const Packet> packet, uint16_t protocol, |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
133 |
Address const &source, Address const &destination, PacketType packetType); |
4815 | 134 |
/// Forward packet down to interfaces |
5070
c70964936d2e
added 'const' label to packet in MeshPointDevice::Forward and
Kirill Andreev <andreev@iitp.ru>
parents:
4928
diff
changeset
|
135 |
void Forward (Ptr<NetDevice> incomingPort, Ptr<const Packet> packet, |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
136 |
uint16_t protocol, const Mac48Address src, const Mac48Address dst); |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
137 |
/** |
4815 | 138 |
* Response callback for L2 routing protocol. This will be executed when routing information is ready. |
139 |
* |
|
140 |
* \param success True is route found. TODO: diagnose routing errors |
|
141 |
* \param packet Packet to send |
|
142 |
* \param src Source MAC address |
|
143 |
* \param dst Destination MAC address |
|
144 |
* \param protocol Protocol ID |
|
145 |
* \param outIface Interface to use (ID) for send (decided by routing protocol). All interfaces will be used if outIface = 0xffffffff |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
146 |
*/ |
4852
123dc54d734e
Coding style changes: indentation (some fixes), spaces in operators, function
Andrey Mazo <mazo@iitp.ru>
parents:
4841
diff
changeset
|
147 |
void DoSend (bool success, Ptr<Packet> packet, Mac48Address src, Mac48Address dst, uint16_t protocol, uint32_t iface); |
4815 | 148 |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
149 |
private: |
4815 | 150 |
/// Receive action |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
151 |
NetDevice::ReceiveCallback m_rxCallback; |
4815 | 152 |
/// Promisc receive action |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
153 |
NetDevice::PromiscReceiveCallback m_promiscRxCallback; |
4815 | 154 |
/// Mesh point MAC address, supposed to be the address of the first added interface |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
155 |
Mac48Address m_address; |
4815 | 156 |
/// Parent node |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
157 |
Ptr<Node> m_node; |
4815 | 158 |
/// Station name |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
159 |
std::string m_name; |
4815 | 160 |
/// List of interfaces |
161 |
std::vector< Ptr<NetDevice> > m_ifaces; |
|
162 |
/// If index |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
163 |
uint32_t m_ifIndex; |
4815 | 164 |
/// MTU in bytes |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
165 |
uint16_t m_mtu; |
4815 | 166 |
/// Virtual channel for upper layers |
167 |
Ptr<BridgeChannel> m_channel; |
|
168 |
||
169 |
/// Routing request callback |
|
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
170 |
Callback<bool, |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
171 |
uint32_t, |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
172 |
Mac48Address, |
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
173 |
Mac48Address, |
5070
c70964936d2e
added 'const' label to packet in MeshPointDevice::Forward and
Kirill Andreev <andreev@iitp.ru>
parents:
4928
diff
changeset
|
174 |
Ptr<const Packet>, |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
175 |
uint16_t, |
4817
1257e4b82e17
L2RoutingProtocol refactored to MeshL2RoutingProtocol
Pavel Boyko <boyko@iitp.ru>
parents:
4815
diff
changeset
|
176 |
MeshL2RoutingProtocol::RouteReplyCallback> m_requestRoute; |
5083
5b154b30a8a1
Restructured L2RoutingProtocol: added cleanup function, which deletes all tags
Kirill Andreev <andreev@iitp.ru>
parents:
5070
diff
changeset
|
177 |
Callback<bool, uint32_t, Mac48Address, Mac48Address, Ptr<Packet>, uint16_t&> m_removeRoutingStuff; |
4815 | 178 |
/// Routing response callback, this is supplied to mesh routing protocol |
4817
1257e4b82e17
L2RoutingProtocol refactored to MeshL2RoutingProtocol
Pavel Boyko <boyko@iitp.ru>
parents:
4815
diff
changeset
|
179 |
MeshL2RoutingProtocol::RouteReplyCallback m_myResponse; |
4928
825037c2d7ab
Make routing protocol attribute of mesh point to be accessable by Config::
Pavel Boyko <boyko@iitp.ru>
parents:
4888
diff
changeset
|
180 |
/// Current routing protocol, used mainly by GetRoutingProtocol |
825037c2d7ab
Make routing protocol attribute of mesh point to be accessable by Config::
Pavel Boyko <boyko@iitp.ru>
parents:
4888
diff
changeset
|
181 |
Ptr<MeshL2RoutingProtocol> m_routingProtocol; |
5096
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
182 |
|
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
183 |
/// Device statistics counters |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
184 |
struct Statistics |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
185 |
{ |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
186 |
uint32_t unicastData; |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
187 |
uint32_t unicastDataBytes; |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
188 |
uint32_t broadcastData; |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
189 |
uint32_t broadcastDataBytes; |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
190 |
|
5126
8e06088a785d
Statistics removed from headers
Kirill Andreev <andreev@iitp.ru>
parents:
5101
diff
changeset
|
191 |
Statistics (); |
5096
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
192 |
}; |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
193 |
/// Counters |
79c84012dac7
RX/TX/FWD stats in MeshPointDevice
Pavel Boyko <boyko@iitp.ru>
parents:
5083
diff
changeset
|
194 |
Statistics m_rxStats, m_txStats, m_fwdStats; |
4812
adcb26652e1d
Coding style changes: indentation, spaces.
Andrey Mazo <mazo@iitp.ru>
parents:
4810
diff
changeset
|
195 |
}; |
4793 | 196 |
} //namespace ns3 |
197 |
#endif |