OLD | NEW |
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2009 The Georgia Institute of Technology· | 3 * Copyright (c) 2009 The Georgia Institute of Technology· |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 */ | 134 */ |
135 bool BFS (uint32_t numberOfNodes, | 135 bool BFS (uint32_t numberOfNodes, |
136 Ptr<Node> source, | 136 Ptr<Node> source, |
137 Ptr<Node> dest, | 137 Ptr<Node> dest, |
138 std::vector< Ptr<Node> > & parentVector, | 138 std::vector< Ptr<Node> > & parentVector, |
139 Ptr<NetDevice> oif); | 139 Ptr<NetDevice> oif); |
140 | 140 |
141 void DoDispose (void); | 141 void DoDispose (void); |
142 | 142 |
143 /* From Ipv4RoutingProtocol */ | 143 /* From Ipv4RoutingProtocol */ |
144 virtual Ptr<Ipv4Route> RouteOutput (Ptr<Packet> p, const Ipv4Header &header, P
tr<NetDevice> oif, Socket::SocketErrno &sockerr); | 144 virtual Ptr<Ipv4Route> RouteOutput (Ptr<Packet> p, const Ipv4FlowI &flowi, Soc
ket::SocketErrno &sockerr); |
145 virtual bool RouteInput (Ptr<const Packet> p, const Ipv4Header &header, Ptr<co
nst NetDevice> idev, | 145 virtual bool RouteInput (Ptr<const Packet> p, const Ipv4Header &header, Ptr<co
nst NetDevice> idev, |
146 UnicastForwardCallback ucb, MulticastForwardCallback
mcb, | 146 UnicastForwardCallback ucb, MulticastForwardCallback
mcb, |
147 LocalDeliverCallback lcb, ErrorCallback ecb); | 147 LocalDeliverCallback lcb, ErrorCallback ecb); |
148 virtual void NotifyInterfaceUp (uint32_t interface); | 148 virtual void NotifyInterfaceUp (uint32_t interface); |
149 virtual void NotifyInterfaceDown (uint32_t interface); | 149 virtual void NotifyInterfaceDown (uint32_t interface); |
150 virtual void NotifyAddAddress (uint32_t interface, Ipv4InterfaceAddress addres
s); | 150 virtual void NotifyAddAddress (uint32_t interface, Ipv4InterfaceAddress addres
s); |
151 virtual void NotifyRemoveAddress (uint32_t interface, Ipv4InterfaceAddress add
ress); | 151 virtual void NotifyRemoveAddress (uint32_t interface, Ipv4InterfaceAddress add
ress); |
152 virtual void SetIpv4 (Ptr<Ipv4> ipv4); | 152 virtual void SetIpv4 (Ptr<Ipv4> ipv4); |
153 virtual void PrintRoutingTable (Ptr<OutputStreamWrapper> stream) const; | 153 virtual void PrintRoutingTable (Ptr<OutputStreamWrapper> stream) const; |
154 | 154 |
155 | 155 |
156 /* cache stores nix-vectors based on destination ip */ | 156 /* cache stores nix-vectors based on destination ip */ |
157 NixMap_t m_nixCache; | 157 NixMap_t m_nixCache; |
158 | 158 |
159 /* cache stores Ipv4Routes based on destination ip */ | 159 /* cache stores Ipv4Routes based on destination ip */ |
160 Ipv4RouteMap_t m_ipv4RouteCache; | 160 Ipv4RouteMap_t m_ipv4RouteCache; |
161 | 161 |
162 Ptr<Ipv4> m_ipv4; | 162 Ptr<Ipv4> m_ipv4; |
163 Ptr<Node> m_node; | 163 Ptr<Node> m_node; |
164 | 164 |
165 /* total neighbors used for nix-vector to determine | 165 /* total neighbors used for nix-vector to determine |
166 * number of bits */ | 166 * number of bits */ |
167 uint32_t m_totalNeighbors; | 167 uint32_t m_totalNeighbors; |
168 }; | 168 }; |
169 } // namespace ns3 | 169 } // namespace ns3 |
170 | 170 |
171 #endif /* IPV4_NIX_VECTOR_ROUTING_H */ | 171 #endif /* IPV4_NIX_VECTOR_ROUTING_H */ |
OLD | NEW |