![]() |
Multicast Routing Modelling In OMNeT++
|
00001 00008 #ifndef __INET_ANSAIP_H 00009 #define __INET_ANSAIP_H 00010 00011 #include "QueueBase.h" 00012 #include "InterfaceTableAccess.h" 00013 #include "IRoutingTable.h" 00014 #include "ICMPAccess.h" 00015 #include "IPControlInfo.h" 00016 #include "IPDatagram.h" 00017 #include "IPFragBuf.h" 00018 #include "ProtocolMap.h" 00019 #include "ControlManetRouting_m.h" 00020 #include "ICMPMessage_m.h" 00021 #include "IPv4InterfaceData.h" 00022 #include "ARPPacket_m.h" 00023 #include "IP.h" 00024 #include "PimSplitter.h" 00025 #include "MulticastRoutingTableAccess.h" 00026 00027 00028 class ARPPacket; 00029 class ICMPMessage; 00030 00031 //FIXME it shouldn't be there, but somewhere more globally 00032 enum AnsaIPProtocolId 00033 { 00034 IP_PROT_PIM = 103 00035 }; 00036 00037 00042 class INET_API AnsaIP : public IP 00043 { 00044 private: 00045 MulticastRoutingTable *mrt; 00046 NotificationBoard *nb; 00049 protected: 00050 virtual void handlePacketFromNetwork(IPDatagram *datagram); 00051 virtual void routeMulticastPacket(IPDatagram *datagram, InterfaceEntry *destIE, InterfaceEntry *fromIE); 00052 00053 public: 00054 AnsaIP() {} 00055 00056 protected: 00057 00058 virtual int numInitStages() const {return 5;} 00059 virtual void initialize(int stage); 00060 }; 00061 00062 #endif 00063