44 Arp (Ptr<Node> node); |
44 Arp (Ptr<Node> node); |
45 ~Arp (); |
45 ~Arp (); |
46 |
46 |
47 virtual TraceResolver *CreateTraceResolver (TraceContext const &context); |
47 virtual TraceResolver *CreateTraceResolver (TraceContext const &context); |
48 |
48 |
49 virtual void Receive(Packet& p, NetDevice *device); |
49 virtual void Receive(Packet& p, Ptr<NetDevice> device); |
50 bool Lookup (Packet &p, Ipv4Address destination, |
50 bool Lookup (Packet &p, Ipv4Address destination, |
51 NetDevice *device, |
51 Ptr<NetDevice> device, |
52 MacAddress *hardwareDestination); |
52 MacAddress *hardwareDestination); |
53 protected: |
53 protected: |
54 virtual void DoDispose (void); |
54 virtual void DoDispose (void); |
55 private: |
55 private: |
56 typedef std::list<ArpCache *> CacheList; |
56 typedef std::list<ArpCache *> CacheList; |
57 ArpCache *FindCache (NetDevice *device); |
57 ArpCache *FindCache (Ptr<NetDevice> device); |
58 void SendArpRequest (ArpCache const *cache, Ipv4Address to); |
58 void SendArpRequest (ArpCache const *cache, Ipv4Address to); |
59 void SendArpReply (ArpCache const *cache, Ipv4Address toIp, MacAddress toMac); |
59 void SendArpReply (ArpCache const *cache, Ipv4Address toIp, MacAddress toMac); |
60 CacheList m_cacheList; |
60 CacheList m_cacheList; |
61 Ptr<Node> m_node; |
61 Ptr<Node> m_node; |
62 }; |
62 }; |