|
INET Framework for OMNeT++/OMNEST
|
IPv4-specific data in an InterfaceEntry. More...
#include <IPv4InterfaceData.h>
Classes | |
| struct | HostMulticastData |
| struct | HostMulticastGroupData |
| struct | RouterMulticastData |
| struct | RouterMulticastGroupData |
Public Types | |
| enum | { F_IP_ADDRESS, F_NETMASK, F_METRIC, F_MULTICAST_TTL_THRESHOLD, F_MULTICAST_ADDRESSES, F_MULTICAST_LISTENERS } |
| typedef std::vector< IPv4Address > | IPv4AddressVector |
Public Member Functions | |
| IPv4InterfaceData () | |
| virtual | ~IPv4InterfaceData () |
| virtual std::string | info () const override |
| virtual std::string | detailedInfo () const override |
Getters | |
| IPv4Address | getIPAddress () const |
| IPv4Address | getNetmask () const |
| IPv4Address | getNetworkBroadcastAddress () const |
| int | getMetric () const |
| int | getMulticastTtlThreshold () const |
| int | getNumOfJoinedMulticastGroups () const |
| IPv4Address | getJoinedMulticastGroup (int index) const |
| const IPv4MulticastSourceList & | getJoinedMulticastSources (int index) |
| int | getNumOfReportedMulticastGroups () const |
| IPv4Address | getReportedMulticastGroup (int index) const |
| const IPv4MulticastSourceList & | getReportedMulticastSources (int index) const |
| bool | isMemberOfMulticastGroup (const IPv4Address &multicastAddress) const |
| bool | hasMulticastListener (IPv4Address multicastAddress) const |
| bool | hasMulticastListener (IPv4Address multicastAddress, IPv4Address sourceAddress) const |
Setters | |
| virtual void | setIPAddress (IPv4Address a) |
| virtual void | setNetmask (IPv4Address m) |
| virtual void | setMetric (int m) |
| virtual void | setMulticastTtlThreshold (int threshold) |
| virtual void | joinMulticastGroup (const IPv4Address &multicastAddress) |
| virtual void | leaveMulticastGroup (const IPv4Address &multicastAddress) |
| virtual void | changeMulticastGroupMembership (IPv4Address multicastAddress, McastSourceFilterMode oldFilterMode, const IPv4AddressVector &oldSourceList, McastSourceFilterMode newFilterMode, const IPv4AddressVector &newSourceList) |
| This method is called by sockets to register their multicast group membership changes in the interface. More... | |
| virtual void | addMulticastListener (const IPv4Address &multicastAddress) |
| virtual void | addMulticastListener (IPv4Address multicastAddress, IPv4Address sourceAddress) |
| virtual void | removeMulticastListener (const IPv4Address &multicastAddress) |
| virtual void | removeMulticastListener (IPv4Address multicastAddress, IPv4Address sourceAddress) |
| virtual void | setMulticastListeners (IPv4Address multicastAddress, McastSourceFilterMode filterMode, const IPv4AddressVector &sourceList) |
Public Member Functions inherited from inet::InterfaceProtocolData | |
| InterfaceProtocolData () | |
| InterfaceEntry * | getInterfaceEntry () const |
| Returns the InterfaceEntry that contains this data object, or nullptr. More... | |
Protected Types | |
| typedef std::vector< HostMulticastGroupData * > | HostMulticastGroupVector |
| typedef std::vector< RouterMulticastGroupData * > | RouterMulticastGroupVector |
Protected Member Functions | |
| void | changed1 (int fieldId) |
| HostMulticastData * | getHostData () |
| const HostMulticastData * | getHostData () const |
| HostMulticastGroupData * | findHostGroupData (IPv4Address multicastAddress) |
| bool | removeHostGroupData (IPv4Address multicastAddress) |
| RouterMulticastData * | getRouterData () |
| const RouterMulticastData * | getRouterData () const |
| RouterMulticastGroupData * | findRouterGroupData (IPv4Address multicastAddress) const |
| bool | removeRouterGroupData (IPv4Address multicastAddress) |
Protected Member Functions inherited from inet::InterfaceProtocolData | |
| virtual void | changed (simsignal_t signalID, int fieldId) |
Protected Attributes | |
| IPv4Address | inetAddr |
| IPv4 address of interface. More... | |
| IPv4Address | netmask |
| netmask More... | |
| int | metric |
| link "cost"; see e.g. MS KB article Q299540 More... | |
| HostMulticastData * | hostData |
| RouterMulticastData * | routerData |
Protected Attributes inherited from inet::InterfaceProtocolData | |
| InterfaceEntry * | ownerp = nullptr |
Private Member Functions | |
| IPv4InterfaceData (const IPv4InterfaceData &obj) | |
| IPv4InterfaceData & | operator= (const IPv4InterfaceData &obj) |
IPv4-specific data in an InterfaceEntry.
Stores interface IPv4 address, netmask, metric, etc.
|
protected |
| typedef std::vector<IPv4Address> inet::IPv4InterfaceData::IPv4AddressVector |
|
protected |
| anonymous enum |
| Enumerator | |
|---|---|
| F_IP_ADDRESS | |
| F_NETMASK | |
| F_METRIC | |
| F_MULTICAST_TTL_THRESHOLD | |
| F_MULTICAST_ADDRESSES | |
| F_MULTICAST_LISTENERS | |
|
private |
| inet::IPv4InterfaceData::IPv4InterfaceData | ( | ) |
|
virtual |
|
virtual |
Referenced by inet::IGMPv2::processV2Report().
|
virtual |
|
inlineprotected |
|
virtual |
This method is called by sockets to register their multicast group membership changes in the interface.
|
overridevirtual |
|
protected |
|
protected |
|
inlineprotected |
|
inlineprotected |
Referenced by getHostData().
|
inline |
Referenced by inet::DHCPClient::chooseInterface(), inet::IPv4RoutingTable::configureRouterId(), inet::IPv4NetworkConfigurator::createInterfaceInfo(), inet::bgp::BGPRouting::createSession(), inet::sctp::SCTPNatHook::datagramForwardHook(), inet::IPv4NetworkConfigurator::dumpConfig(), inet::RSVP::evalNextHopInterface(), inet::L3AddressResolver::findHostWithAddress(), inet::InterfaceTable::findInterfaceByAddress(), inet::IPv4RoutingTable::findInterfaceByLocalBroadcastAddress(), inet::bgp::BGPRouting::findMyAS(), inet::IPv4::fragmentAndSend(), inet::PingApp::getAllAddresses(), inet::IPv4RoutingTable::getInterfaceByAddress(), inet::L3AddressResolver::getInterfaceIPv4Address(), inet::PIMSM::IamDR(), inet::IPv4Route::info(), inet::LinkStateRouting::initialize(), inet::GlobalARP::initialize(), inet::TED::initializeTED(), inet::bgp::BGPRouting::isInInterfaceTable(), inet::IPv4RoutingTable::isLocalBroadcastAddress(), inet::InterfaceTable::isNeighborAddress(), inet::PIMDM::multicastPacketArrivedOnNonRpfInterface(), inet::PIMSM::multicastPacketArrivedOnNonRpfInterface(), inet::bgp::BGPRouting::openTCPConnectionToPeer(), inet::ICMP::possiblyLocalBroadcast(), inet::IPv4::preroutingFinish(), inet::IPv4RoutingTable::printRoutingTable(), inet::PIMDM::processAssert(), inet::PIMSM::processAssertG(), inet::PIMSM::processAssertSG(), inet::DHCPServer::processDHCPMessage(), inet::PIMDM::processGraftAckPacket(), inet::PIMDM::processGraftPacket(), inet::sctp::SCTPAssociation::processInitArrived(), inet::PIMDM::processJoin(), inet::PIMSM::processJoinG(), inet::PIMSM::processJoinSG(), inet::PIMDM::processPrune(), inet::PIMSM::processPruneG(), inet::PIMSM::processPrunePendingTimer(), inet::PIMSM::processPruneSG(), inet::IGMPv3::processQuery(), inet::PIMDM::processStateRefreshTimer(), inet::LDP::rebuildFecList(), inet::RoutingTableRecorder::recordInterfaceChange(), inet::DHCPServer::sendACK(), inet::ARP::sendARPRequest(), inet::IPv4::sendDatagramToOutput(), inet::sctp::SCTPAssociation::sendInit(), inet::DHCPServer::sendNAK(), inet::DHCPServer::sendOffer(), inet::ospf::Interface::setIfIndex(), inet::DHCPServer::startApp(), inet::PIMSM::updateDesignatedRouterAddress(), inet::InterfaceTable::updateLinkDisplayString(), inet::IPv4RoutingTable::updateNetmaskRoutes(), and inet::bgp::BGPRouting::updateSendProcess().
|
inline |
Referenced by inet::InterfaceTable::collectMulticastGroups(), and inet::IPv4NetworkConfigurator::dumpConfig().
|
inline |
|
inline |
Referenced by inet::IPv4NetworkConfigurator::dumpConfig(), inet::TED::initializeTED(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
inline |
Referenced by inet::IPv4::forwardMulticastPacket().
|
inline |
Referenced by inet::IPv4NetworkConfigurator::createInterfaceInfo(), inet::IPv4NetworkConfigurator::dumpConfig(), inet::IPv4RoutingTable::findInterfaceByLocalBroadcastAddress(), inet::L3AddressResolver::getInterfaceIPv4Address(), inet::IPv4RoutingTable::isLocalBroadcastAddress(), inet::InterfaceTable::isNeighborAddress(), inet::IPv4::sendDatagramToOutput(), inet::ospf::Interface::setIfIndex(), inet::DHCPServer::startApp(), inet::InterfaceTable::updateLinkDisplayString(), and inet::IPv4RoutingTable::updateNetmaskRoutes().
|
inline |
Referenced by inet::IPv4::resolveNextHopMacAddress().
|
inline |
Referenced by inet::InterfaceTable::collectMulticastGroups(), and inet::IPv4NetworkConfigurator::dumpConfig().
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
Referenced by getRouterData().
| bool inet::IPv4InterfaceData::hasMulticastListener | ( | IPv4Address | multicastAddress | ) | const |
Referenced by inet::IPv4::forwardMulticastPacket(), and inet::PIMDM::unroutableMulticastPacketArrived().
| bool inet::IPv4InterfaceData::hasMulticastListener | ( | IPv4Address | multicastAddress, |
| IPv4Address | sourceAddress | ||
| ) | const |
|
overridevirtual |
| bool inet::IPv4InterfaceData::isMemberOfMulticastGroup | ( | const IPv4Address & | multicastAddress | ) | const |
Referenced by inet::IPv4RoutingTable::isLocalMulticastAddress(), and inet::IPv4::preroutingFinish().
|
virtual |
Referenced by inet::UDP::addMulticastAddressToInterface(), inet::IPv4NetworkConfigurator::configureInterface(), inet::IPv4RoutingTable::configureInterfaceForIPv4(), inet::PIMBase::handleNodeStart(), inet::IGMPv3::initialize(), inet::ospf::OSPFConfigReader::joinMulticastGroups(), inet::RoutingTableParser::parseMulticastGroups(), and inet::HostAutoConfigurator::setupNetworkLayer().
|
virtual |
|
private |
|
protected |
|
virtual |
Referenced by inet::IGMPv2::processLeaveTimer(), inet::IGMPv3::processRouterGroupTimer(), and inet::IGMPv3::processRouterSourceTimer().
|
virtual |
|
protected |
|
inlinevirtual |
Referenced by inet::FlatNetworkConfigurator::assignAddresses(), inet::DHCPClient::bindLease(), inet::IPv4NetworkConfigurator::configureInterface(), inet::IPv4RoutingTable::configureLoopbackForIPv4(), inet::IPv4RoutingTable::configureRouterId(), inet::RoutingTableParser::parseInterfaces(), inet::HostAutoConfigurator::setupNetworkLayer(), and inet::DHCPClient::unbindLease().
|
inlinevirtual |
Referenced by inet::IPv4NetworkConfigurator::configureInterface(), inet::IPv4RoutingTable::configureInterfaceForIPv4(), inet::IPv4RoutingTable::configureLoopbackForIPv4(), and inet::RoutingTableParser::parseInterfaces().
|
virtual |
Referenced by inet::IGMPv3::processReport().
|
inlinevirtual |
|
inlinevirtual |
Referenced by inet::FlatNetworkConfigurator::assignAddresses(), inet::DHCPClient::bindLease(), inet::IPv4NetworkConfigurator::configureInterface(), inet::IPv4RoutingTable::configureLoopbackForIPv4(), inet::IPv4RoutingTable::configureRouterId(), inet::RoutingTableParser::parseInterfaces(), inet::HostAutoConfigurator::setupNetworkLayer(), and inet::DHCPClient::unbindLease().
|
protected |
|
protected |
IPv4 address of interface.
|
protected |
link "cost"; see e.g. MS KB article Q299540
|
protected |
netmask
|
protected |