INET Framework for OMNeT++/OMNEST
|
#include <BindingUpdateList.h>
Classes | |
class | BindingUpdateListEntry |
Public Types | |
enum | MobilityState { NONE = 0, RR, RR_COMPLETE, REGISTER, REGISTERED, DEREGISTER } |
typedef std::map< IPv6Address, BindingUpdateListEntry > | BindingUpdateList6 |
Public Member Functions | |
BindingUpdateList () | |
virtual | ~BindingUpdateList () |
virtual void | addOrUpdateBUL (const IPv6Address &dest, const IPv6Address &hoa, const IPv6Address &coa, const uint lifetime, const uint seq, const simtime_t buSentTime) |
Sets entry in the Binding Update List with provided values. More... | |
virtual BindingUpdateList::BindingUpdateListEntry * | createBULEntry (const IPv6Address &dest) |
Creates a new entry in the BUL for the provided address. More... | |
virtual void | initializeBUValues (BindingUpdateListEntry &entry) |
Initializes the values of a BUL entry to initial values. More... | |
virtual void | addOrUpdateBUL (const IPv6Address &dest, const IPv6Address &hoa, simtime_t sentTime, int cookie, bool isHoTI) |
Sets HoTI and/or CoTI values (transmission time, etc.) for the BUL entry. More... | |
virtual BindingUpdateList::BindingUpdateListEntry * | lookup (const IPv6Address &dest) |
Returns the BUL entry for a certain destination address. More... | |
virtual BindingUpdateList::BindingUpdateListEntry * | fetch (const IPv6Address &dest) |
Similiar to lookup(), but with the difference that this method always returns a valid BUL entry. More... | |
virtual MobilityState | getMobilityState (const IPv6Address &dest) const |
Returns the current mobility state for the CN identified by the provided IP address. More... | |
virtual void | setMobilityState (const IPv6Address &dest, BindingUpdateList::MobilityState state) |
Sets the mobility state to provided state for the CN identified by the provided IP address. More... | |
virtual int | generateBAuthData (const IPv6Address &dest, const IPv6Address &CoA) |
Generates the Binding Authorization Data based on a certain destination address and CoA. More... | |
virtual int | generateKey (int homeToken, int careOfToken, const IPv6Address &CoA) |
Generates the key Kbm from home and care-of keygen token. More... | |
virtual int | generateHomeToken (const IPv6Address &HoA, int nonce) |
Generates a home token from the provided parameters. More... | |
virtual int | generateCareOfToken (const IPv6Address &CoA, int nonce) |
Generates a care-of token from the provided parameters. More... | |
virtual void | resetHomeToken (const IPv6Address &dest, const IPv6Address &hoa) |
Resets the token to UNDEFINED. More... | |
virtual void | resetCareOfToken (const IPv6Address &dest, const IPv6Address &hoa) |
Resets the token to UNDEFINED. More... | |
virtual bool | isHomeTokenAvailable (const IPv6Address &dest, InterfaceEntry *ie) |
Returns true if a home keygen token is available. More... | |
virtual bool | isCareOfTokenAvailable (const IPv6Address &dest, InterfaceEntry *ie) |
Returns true if a care-of keygen token is available. More... | |
virtual bool | isInBindingUpdateList (const IPv6Address &dest) const |
Checks whether there exists an entry in the BUL for the given destination address. More... | |
virtual uint | getSequenceNumber (const IPv6Address &dest) |
Returns the last used sequence number for the given dest. More... | |
virtual const IPv6Address & | getCoA (const IPv6Address &dest) |
Returns the CoA that was registered for the provided dest. More... | |
virtual bool | isInBindingUpdateList (const IPv6Address &dest, const IPv6Address &HoA) |
Checks whether there exists an entry in the BUL for the given destination address and home address. More... | |
virtual bool | isValidBinding (const IPv6Address &dest) |
Returns true if a binding has been acknowledged and it's lifetime has not yet expired. More... | |
virtual bool | isBindingAboutToExpire (const IPv6Address &dest) |
Returns true if a binding is about to expire. More... | |
virtual bool | sentBindingUpdate (const IPv6Address &dest) |
Returns true if a binding update has been sent to and acknowledged by the provided destination address and the lifetime has not yet expired. More... | |
virtual void | removeBinding (const IPv6Address &dest) |
Deletes an entry from the binding update list for the provided destination address. More... | |
virtual void | suspendBinding (const IPv6Address &dest) |
Sets the state of the binding cache entry to "not usable". More... | |
virtual bool | recentlySentCOTI (const IPv6Address &dest, InterfaceEntry *ie) |
These two methods indicate whether a CoTI or HoTI message has been recently sent to the CN identified by parameter dest. More... | |
virtual bool | recentlySentHOTI (const IPv6Address &dest, InterfaceEntry *ie) |
Public Attributes | |
BindingUpdateList6 | bindingUpdateList |
Protected Member Functions | |
virtual void | initialize () override |
virtual void | handleMessage (cMessage *) override |
Raises an error. More... | |
virtual void | resetBindingCacheEntry (BindingUpdateListEntry &entry) |
Resets binding lifetime, tokens, etc. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const BindingUpdateListEntry &bul) |
typedef std::map<IPv6Address, BindingUpdateListEntry> inet::BindingUpdateList::BindingUpdateList6 |
|
virtual |
|
virtual |
Sets entry in the Binding Update List with provided values.
If entry does not yet exist, a new one is created.
Referenced by inet::xMIPv6::sendTestInit(), and inet::xMIPv6::updateBUL().
|
virtual |
Sets HoTI and/or CoTI values (transmission time, etc.) for the BUL entry.
|
virtual |
Creates a new entry in the BUL for the provided address.
Referenced by addOrUpdateBUL(), and fetch().
|
virtual |
Similiar to lookup(), but with the difference that this method always returns a valid BUL entry.
If none existed prior to the call, a new entry is created.
Referenced by inet::xMIPv6::createBUTimer(), inet::xMIPv6::initiateMIPv6Protocol(), and inet::xMIPv6::initReturnRoutability().
|
virtual |
Generates the Binding Authorization Data based on a certain destination address and CoA.
Referenced by inet::xMIPv6::sendPeriodicBU().
|
virtual |
|
virtual |
|
virtual |
Generates the key Kbm from home and care-of keygen token.
For now, this return the sum of both tokens.
Referenced by generateBAuthData().
|
virtual |
Returns the CoA that was registered for the provided dest.
address.
Referenced by inet::xMIPv6::sendPeriodicBU(), and inet::xMIPv6::triggerRouteOptimization().
|
virtual |
Returns the current mobility state for the CN identified by the provided IP address.
Referenced by inet::xMIPv6::handleTokenExpiry(), and inet::xMIPv6::triggerRouteOptimization().
|
virtual |
Returns the last used sequence number for the given dest.
address.
Referenced by inet::xMIPv6::createBUTimer(), and inet::xMIPv6::validateBAck().
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
|
virtual |
Initializes the values of a BUL entry to initial values.
Called by addOrUpdateBUL() if new entry is created.
Referenced by addOrUpdateBUL(), and createBULEntry().
|
virtual |
Returns true if a binding is about to expire.
Referenced by inet::xMIPv6::checkForBUtoCN().
|
virtual |
Returns true if a care-of keygen token is available.
Referenced by inet::xMIPv6::checkForBUtoCN(), and inet::xMIPv6::initReturnRoutability().
|
virtual |
Returns true if a home keygen token is available.
Referenced by inet::xMIPv6::checkForBUtoCN(), and inet::xMIPv6::initReturnRoutability().
|
virtual |
Checks whether there exists an entry in the BUL for the given destination address.
Referenced by inet::xMIPv6::createBUTimer(), inet::xMIPv6::processBRRMessage(), and inet::xMIPv6::triggerRouteOptimization().
|
virtual |
Checks whether there exists an entry in the BUL for the given destination address and home address.
|
virtual |
Returns true if a binding has been acknowledged and it's lifetime has not yet expired.
Referenced by inet::xMIPv6::checkForBUtoCN(), and inet::xMIPv6::returningHome().
|
virtual |
Returns the BUL entry for a certain destination address.
Referenced by addOrUpdateBUL(), fetch(), generateBAuthData(), getCoA(), getSequenceNumber(), inet::xMIPv6::handleBULExpiry(), isBindingAboutToExpire(), isCareOfTokenAvailable(), isHomeTokenAvailable(), isValidBinding(), inet::xMIPv6::processBAMessage(), inet::xMIPv6::processCoTMessage(), inet::xMIPv6::processHoTMessage(), recentlySentCOTI(), recentlySentHOTI(), removeBinding(), resetCareOfToken(), resetHomeToken(), inet::xMIPv6::returningHome(), sentBindingUpdate(), suspendBinding(), inet::xMIPv6::validateCoTMessage(), and inet::xMIPv6::validateHoTMessage().
|
virtual |
These two methods indicate whether a CoTI or HoTI message has been recently sent to the CN identified by parameter dest.
Referenced by inet::xMIPv6::checkForBUtoCN(), and inet::xMIPv6::initReturnRoutability().
|
virtual |
Referenced by inet::xMIPv6::checkForBUtoCN(), and inet::xMIPv6::initReturnRoutability().
|
virtual |
Deletes an entry from the binding update list for the provided destination address.
Referenced by inet::xMIPv6::handleBULExpiry(), inet::xMIPv6::initiateMIPv6Protocol(), and inet::xMIPv6::processBAMessage().
|
protectedvirtual |
Resets binding lifetime, tokens, etc.
of the BUL entry.
Referenced by removeBinding().
|
virtual |
Resets the token to UNDEFINED.
Referenced by inet::xMIPv6::handleTokenExpiry(), inet::xMIPv6::initiateMIPv6Protocol(), and inet::xMIPv6::sendTestInit().
|
virtual |
Resets the token to UNDEFINED.
Referenced by inet::xMIPv6::handleTokenExpiry(), and inet::xMIPv6::sendTestInit().
|
virtual |
Returns true if a binding update has been sent to and acknowledged by the provided destination address and the lifetime has not yet expired.
|
virtual |
Sets the mobility state to provided state for the CN identified by the provided IP address.
Referenced by inet::xMIPv6::handleTokenExpiry(), inet::xMIPv6::returningHome(), and inet::xMIPv6::triggerRouteOptimization().
|
virtual |
Sets the state of the binding cache entry to "not usable".
Resets the BAck flag to false, etc.
|
friend |
BindingUpdateList6 inet::BindingUpdateList::bindingUpdateList |
Referenced by addOrUpdateBUL(), createBULEntry(), getMobilityState(), initialize(), isInBindingUpdateList(), lookup(), removeBinding(), and setMobilityState().