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 |