42 if (it->mainAddr == mainAddr)
68 if (it->mainAddr == mainAddr)
88 std::ostringstream os;
111 if (it->neighborMainAddr == mainAddr)
137 if (it->neighborMainAddr == mainAddr && it->willingness == willingness)
163 if (it->neighborMainAddr == mainAddr)
194 if (it->neighborMainAddr == neighborMainAddr &&
195 it->twoHopNeighborAddr == twoHopNeighborAddr)
222 if (it->neighborMainAddr == neighborMainAddr &&
223 it->twoHopNeighborAddr == twoHopNeighborAddr)
239 if (it->neighborMainAddr == neighborMainAddr)
284 if (it->address == addr && it->sequenceNumber == sequenceNumber)
318 if (it->neighborIfaceAddr == ifaceAddr)
331 if (it->neighborIfaceAddr == ifaceAddr)
333 if (it->symTime > now)
373 if (it->destAddr == destAddr && it->lastAddr == lastAddr)
386 if (it->lastAddr == lastAddr && it->sequenceNumber > ansn)
412 if (it->lastAddr == lastAddr && it->sequenceNumber < ansn)
436 if (it->ifaceAddr == ifaceAddr)
449 if (it->ifaceAddr == ifaceAddr)
476 std::vector<Ipv4Address>
479 std::vector<Ipv4Address> retval;
482 if (it->mainAddr == neighborMainAddr)
484 retval.push_back(it->ifaceAddr);
499 if (it->gatewayAddr == gatewayAddr and it->networkAddr == networkAddr and
500 it->netmask == netmask)
Ipv4 addresses are stored in host order in this class.
a class to represent an Ipv4 address mask
Simulation virtual time values and global simulation resolution.
MprSet GetMprSet() const
Gets the MPR set.
void EraseAssociation(const Association &tuple)
Erases an association.
AssociationSet m_associationSet
Association Set (RFC 3626, section12.2).
void EraseIfaceAssocTuple(const IfaceAssocTuple &tuple)
Erases a interface association tuple.
void InsertTopologyTuple(const TopologyTuple &tuple)
Inserts a topology tuple.
IfaceAssocTuple * FindIfaceAssocTuple(const Ipv4Address &ifaceAddr)
Finds a interface association tuple.
std::string PrintMprSelectorSet() const
Prints the MPR selector sets.
LinkSet m_linkSet
Link Set (RFC 3626, section 4.2.1).
TwoHopNeighborTuple * FindTwoHopNeighborTuple(const Ipv4Address &neighbor, const Ipv4Address &twoHopNeighbor)
Finds a 2-hop neighbor tuple.
void EraseTwoHopNeighborTuples(const Ipv4Address &neighbor)
Erases the 2-hop neighbor tuples with the same 1-hop neighbor.
void InsertAssociation(const Association &tuple)
Inserts an association tuple.
LinkTuple * FindSymLinkTuple(const Ipv4Address &ifaceAddr, Time time)
Finds a symmetrical link tuple.
const NeighborTuple * FindSymNeighborTuple(const Ipv4Address &mainAddr) const
Finds a symmetrical neighbor tuple.
DuplicateSet m_duplicateSet
Duplicate Set (RFC 3626, section 3.4).
IfaceAssocSet m_ifaceAssocSet
Interface Association Set (RFC 3626, section 4.1).
void EraseNeighborTuple(const NeighborTuple &neighborTuple)
Erases a neighbor tuple.
TopologyTuple * FindNewerTopologyTuple(const Ipv4Address &lastAddr, uint16_t ansn)
Finds a topology tuple.
void InsertDuplicateTuple(const DuplicateTuple &tuple)
Inserts a duplicate tuple.
Associations m_associations
The node's local Host Network Associations that will be advertised using HNA messages.
void EraseMprSelectorTuples(const Ipv4Address &mainAddr)
Erases all MPR selector tuples belonging to the same address.
MprSelectorTuple * FindMprSelectorTuple(const Ipv4Address &mainAddr)
Finds a MPR selector tuple.
void SetMprSet(MprSet mprSet)
Sets the MPR set to the one specified.
void EraseAssociationTuple(const AssociationTuple &tuple)
Erases a known association tuple.
void InsertNeighborTuple(const NeighborTuple &tuple)
Inserts a neighbor tuple.
NeighborSet m_neighborSet
Neighbor Set (RFC 3626, section 4.3.1).
TopologyTuple * FindTopologyTuple(const Ipv4Address &destAddr, const Ipv4Address &lastAddr)
Finds a topology tuple.
TwoHopNeighborSet m_twoHopNeighborSet
2-hop Neighbor Set (RFC 3626, section 4.3.2).
AssociationTuple * FindAssociationTuple(const Ipv4Address &gatewayAddr, const Ipv4Address &networkAddr, const Ipv4Mask &netmask)
Finds an association tuple.
std::vector< Ipv4Address > FindNeighborInterfaces(const Ipv4Address &neighborMainAddr) const
Returns a vector of all interfaces of a given neighbor, with the exception of the "main" one.
bool FindMprAddress(const Ipv4Address &address)
Checks if there's an MPR with a specific address.
void EraseLinkTuple(const LinkTuple &tuple)
Erases a link tuple.
DuplicateTuple * FindDuplicateTuple(const Ipv4Address &address, uint16_t sequenceNumber)
Finds a duplicate tuple.
void InsertTwoHopNeighborTuple(const TwoHopNeighborTuple &tuple)
Inserts a 2-hop neighbor tuple.
LinkTuple * FindLinkTuple(const Ipv4Address &ifaceAddr)
Finds a link tuple.
void InsertAssociationTuple(const AssociationTuple &tuple)
Inserts a known association tuple.
MprSet m_mprSet
MPR Set (RFC 3626, section 4.3.3).
void InsertMprSelectorTuple(const MprSelectorTuple &tuple)
Inserts a MPR selector tuple.
LinkTuple & InsertLinkTuple(const LinkTuple &tuple)
Inserts a link tuple.
MprSelectorSet m_mprSelectorSet
MPR Selector Set (RFC 3626, section 4.3.4).
void EraseTwoHopNeighborTuple(const TwoHopNeighborTuple &tuple)
Erases a 2-hop neighbor tuple.
void InsertIfaceAssocTuple(const IfaceAssocTuple &tuple)
Inserts a interface association tuple.
void EraseTopologyTuple(const TopologyTuple &tuple)
Erases a topology tuple.
NeighborTuple * FindNeighborTuple(const Ipv4Address &mainAddr)
Finds a neighbor tuple.
void EraseOlderTopologyTuples(const Ipv4Address &lastAddr, uint16_t ansn)
Erases a topology tuple.
void EraseDuplicateTuple(const DuplicateTuple &tuple)
Erases a duplicate tuple.
TopologySet m_topologySet
Topology Set (RFC 3626, section 4.4).
void EraseMprSelectorTuple(const MprSelectorTuple &tuple)
Erases a MPR selector tuple.
Willingness
Willingness for forwarding packets from other nodes.
std::set< Ipv4Address > MprSet
MPR Set type.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
An Interface Association Tuple.
Ipv4Address neighborMainAddr
Main address of a neighbor node.