|
|
| 69 |
} |
69 |
} |
| 70 |
|
70 |
|
| 71 |
Ptr<Ipv4Route> |
71 |
Ptr<Ipv4Route> |
| 72 |
Ipv4ListRouting::RouteOutput (const Ipv4Header &header, uint32_t oif, enum Socket::SocketErrno &sockerr) |
72 |
Ipv4ListRouting::RouteOutput (Ptr<Packet> p, const Ipv4Header &header, uint32_t oif, enum Socket::SocketErrno &sockerr) |
| 73 |
{ |
73 |
{ |
| 74 |
NS_LOG_FUNCTION (this << header.GetDestination () << " " << header.GetSource () << " " << oif); |
74 |
NS_LOG_FUNCTION (this << header.GetDestination () << " " << header.GetSource () << " " << oif); |
| 75 |
Ptr<Ipv4Route> route; |
75 |
Ptr<Ipv4Route> route; |
|
|
| 79 |
{ |
79 |
{ |
| 80 |
NS_LOG_LOGIC ("Checking protocol " << (*i).second->GetInstanceTypeId () << " with priority " << (*i).first); |
80 |
NS_LOG_LOGIC ("Checking protocol " << (*i).second->GetInstanceTypeId () << " with priority " << (*i).first); |
| 81 |
NS_LOG_LOGIC ("Requesting source address for destination " << header.GetDestination ()); |
81 |
NS_LOG_LOGIC ("Requesting source address for destination " << header.GetDestination ()); |
| 82 |
route = (*i).second->RouteOutput (header, oif, sockerr); |
82 |
route = (*i).second->RouteOutput (p, header, oif, sockerr); |
| 83 |
if (route) |
83 |
if (route) |
| 84 |
{ |
84 |
{ |
| 85 |
NS_LOG_LOGIC ("Found route " << route); |
85 |
NS_LOG_LOGIC ("Found route " << route); |
|
|
| 335 |
|
335 |
|
| 336 |
class Ipv4ARouting : public Ipv4RoutingProtocol { |
336 |
class Ipv4ARouting : public Ipv4RoutingProtocol { |
| 337 |
public: |
337 |
public: |
| 338 |
Ptr<Ipv4Route> RouteOutput (const Ipv4Header &header, uint32_t oif, Socket::SocketErrno &sockerr) { return 0;} |
338 |
Ptr<Ipv4Route> RouteOutput (Ptr<Packet> p, const Ipv4Header &header, uint32_t oif, Socket::SocketErrno &sockerr) { return 0;} |
| 339 |
bool RouteInput (Ptr<const Packet> p, const Ipv4Header &header, Ptr<const NetDevice> idev, |
339 |
bool RouteInput (Ptr<const Packet> p, const Ipv4Header &header, Ptr<const NetDevice> idev, |
| 340 |
UnicastForwardCallback ucb, MulticastForwardCallback mcb, |
340 |
UnicastForwardCallback ucb, MulticastForwardCallback mcb, |
| 341 |
LocalDeliverCallback lcb, ErrorCallback ecb) {return false;} |
341 |
LocalDeliverCallback lcb, ErrorCallback ecb) {return false;} |
|
|
| 348 |
|
348 |
|
| 349 |
class Ipv4BRouting : public Ipv4RoutingProtocol { |
349 |
class Ipv4BRouting : public Ipv4RoutingProtocol { |
| 350 |
public: |
350 |
public: |
| 351 |
Ptr<Ipv4Route> RouteOutput (const Ipv4Header &header, uint32_t oif, Socket::SocketErrno &sockerr) { return 0;} |
351 |
Ptr<Ipv4Route> RouteOutput (Ptr<Packet> p, const Ipv4Header &header, uint32_t oif, Socket::SocketErrno &sockerr) { return 0;} |
| 352 |
bool RouteInput (Ptr<const Packet> p, const Ipv4Header &header, Ptr<const NetDevice> idev, |
352 |
bool RouteInput (Ptr<const Packet> p, const Ipv4Header &header, Ptr<const NetDevice> idev, |
| 353 |
UnicastForwardCallback ucb, MulticastForwardCallback mcb, |
353 |
UnicastForwardCallback ucb, MulticastForwardCallback mcb, |
| 354 |
LocalDeliverCallback lcb, ErrorCallback ecb) {return false;} |
354 |
LocalDeliverCallback lcb, ErrorCallback ecb) {return false;} |