INET Framework for OMNeT++/OMNEST
inet::BindingUpdateList Class Reference

#include <BindingUpdateList.h>

Inheritance diagram for inet::BindingUpdateList:

Classes

class  BindingUpdateListEntry
 

Public Types

enum  MobilityState {
  NONE = 0, RR, RR_COMPLETE, REGISTER,
  REGISTERED, DEREGISTER
}
 
typedef std::map< Ipv6Address, BindingUpdateListEntryBindingUpdateList6
 

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::BindingUpdateListEntrycreateBULEntry (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::BindingUpdateListEntrylookup (const Ipv6Address &dest)
 Returns the BUL entry for a certain destination address. More...
 
virtual BindingUpdateList::BindingUpdateListEntryfetch (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, NetworkInterface *ie)
 Returns true if a home keygen token is available. More...
 
virtual bool isCareOfTokenAvailable (const Ipv6Address &dest, NetworkInterface *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 Ipv6AddressgetCoA (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, NetworkInterface *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, NetworkInterface *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)
 

Member Typedef Documentation

◆ BindingUpdateList6

Member Enumeration Documentation

◆ MobilityState

Enumerator
NONE 
RR 
RR_COMPLETE 
REGISTER 
REGISTERED 
DEREGISTER 
39  {
40  NONE = 0,
41  RR,
43  REGISTER,
44  REGISTERED,
46  };

Constructor & Destructor Documentation

◆ BindingUpdateList()

inet::BindingUpdateList::BindingUpdateList ( )
80 {
81 }

◆ ~BindingUpdateList()

inet::BindingUpdateList::~BindingUpdateList ( )
virtual
84 {
85 // for (unsigned int i = 0; i < bindingUpdateList.size(); i++)
86 // delete bindingUpdateList[i];
87 }

Member Function Documentation

◆ addOrUpdateBUL() [1/2]

void inet::BindingUpdateList::addOrUpdateBUL ( const Ipv6Address dest,
const Ipv6Address hoa,
const Ipv6Address coa,
const uint  lifetime,
const uint  seq,
const simtime_t  buSentTime 
)
virtual

Sets entry in the Binding Update List with provided values.

If entry does not yet exist, a new one is created.

100 {
101  // modified structure - CB
102 
103  // search for entry
104  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
105 
106  // if it is not yet existing, create it
107  if (entry == nullptr) {
108  /*bindingUpdateList[dest].destAddress = dest;
109  entry = & bindingUpdateList[dest];
110  initializeBUValues(*entry);*/
111  entry = createBULEntry(dest);
112  }
113 
114  EV_INFO << "\n++++++++++++++++++++Binding Update List Being Updated in Routing Table6 ++++++++++++++\n";
115 
116  entry->homeAddress = hoa;
117  entry->careOfAddress = coa;
118  // update lifetime 11.06.08 - CB
119  entry->bindingLifetime = lifetime; // for the moment a constant but then it is supposed to decrement with time.
120  entry->bindingExpiry = simTime() + lifetime; // binding expires at this point in time
121  // TODO bindingUpdateList[dest].remainingLifetime = ;
122  entry->sentTime = buSentTime; // the time at which the BU, whose ack is awaited is sent
123 // entry->nextBUTx = nextBUSentTime; //the nextScgheduledTime at which the BU will be sent in case of timeout.
124  entry->sequenceNumber = seq; // seq number of the last BU sent.
125  entry->BAck = false;
126 }

◆ addOrUpdateBUL() [2/2]

void inet::BindingUpdateList::addOrUpdateBUL ( const Ipv6Address dest,
const Ipv6Address hoa,
simtime_t  sentTime,
int  cookie,
bool  isHoTI = false 
)
virtual

Sets HoTI and/or CoTI values (transmission time, etc.) for the BUL entry.

164 {
165  EV_INFO << "\n++++++++++++++++++++Binding Update List for HoTI/CoTI Being Updated in Routing Table6 ++++++++++++++\n";
166  // search for entry
167  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
168 
169  // if it is not yet existing, create it
170  if (entry == nullptr) {
171  bindingUpdateList[dest].destAddress = dest;
172  entry = &bindingUpdateList[dest];
173  initializeBUValues(*entry);
174  }
175 
176  if (HoTI) { // those values are from the HoTI message
177  entry->homeAddress = addr;
178  entry->sentHoTI = sentTime;
179  entry->cookieHoTI = cookie;
180  }
181  else { // and those from the CoTI
182  entry->careOfAddress = addr;
183  entry->sentCoTI = sentTime;
184  entry->cookieCoTI = cookie;
185  }
186 }

◆ createBULEntry()

BindingUpdateList::BindingUpdateListEntry * inet::BindingUpdateList::createBULEntry ( const Ipv6Address dest)
virtual

Creates a new entry in the BUL for the provided address.

129 {
130  bindingUpdateList[dest].destAddress = dest;
131 
132  BindingUpdateListEntry& entry = bindingUpdateList[dest];
133 // BindingUpdateList::BindingUpdateListEntry* entry = & bindingUpdateList[dest];
134  initializeBUValues(entry);
135 
136  return &entry;
137 }

Referenced by addOrUpdateBUL(), and fetch().

◆ fetch()

BindingUpdateList::BindingUpdateListEntry * inet::BindingUpdateList::fetch ( const Ipv6Address dest)
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.

195 {
196  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
197  return (entry == nullptr) ? createBULEntry(dest) : entry;
198 }

◆ generateBAuthData()

int inet::BindingUpdateList::generateBAuthData ( const Ipv6Address dest,
const Ipv6Address CoA 
)
virtual

Generates the Binding Authorization Data based on a certain destination address and CoA.

215 {
216  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
217 
218  if (entry == nullptr) {
219  EV_WARN << "Impossible to generate Binding Authorization Data as CN is not existing in BUL!\n";
220  return 0;
221  }
222 
223  // generate the key
224  return BindingUpdateList::generateKey(entry->tokenH, entry->tokenC, CoA);
225 }

◆ generateCareOfToken()

int inet::BindingUpdateList::generateCareOfToken ( const Ipv6Address CoA,
int  nonce 
)
virtual

Generates a care-of token from the provided parameters.

Returns a static value for now.

239 {
240  return CO_TOKEN;
241 }

◆ generateHomeToken()

int inet::BindingUpdateList::generateHomeToken ( const Ipv6Address HoA,
int  nonce 
)
virtual

Generates a home token from the provided parameters.

Returns a static value for now.

234 {
235  return HO_TOKEN;
236 }

◆ generateKey()

int inet::BindingUpdateList::generateKey ( int  homeToken,
int  careOfToken,
const Ipv6Address CoA 
)
virtual

Generates the key Kbm from home and care-of keygen token.

For now, this return the sum of both tokens.

228 {
229  // use a dummy value
230  return homeToken + careOfToken;
231 }

Referenced by generateBAuthData().

◆ getCoA()

const Ipv6Address & inet::BindingUpdateList::getCoA ( const Ipv6Address dest)
virtual

Returns the CoA that was registered for the provided dest.

address.

292 {
293  // search for entry
294  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
295 
296  ASSERT(entry != nullptr);
297 
298  return entry->careOfAddress;
299 }

◆ getMobilityState()

BindingUpdateList::MobilityState inet::BindingUpdateList::getMobilityState ( const Ipv6Address dest) const
virtual

Returns the current mobility state for the CN identified by the provided IP address.

201 {
202  BindingUpdateList6::const_iterator i = bindingUpdateList.find(dest);
203  return (i == bindingUpdateList.end()) ? NONE : i->second.state;
204 }

◆ getSequenceNumber()

uint inet::BindingUpdateList::getSequenceNumber ( const Ipv6Address dest)
virtual

Returns the last used sequence number for the given dest.

address.

285 {
286  // search for entry
287  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
288  return (entry != nullptr) ? entry->sequenceNumber : 0;
289 }

◆ handleMessage()

void inet::BindingUpdateList::handleMessage ( cMessage *  msg)
overrideprotectedvirtual

Raises an error.

95 {
96  throw cRuntimeError("This module doesn't process messages");
97 }

◆ initialize()

void inet::BindingUpdateList::initialize ( )
overrideprotectedvirtual
90 {
91  WATCH_MAP(bindingUpdateList); // added by Zarrar Yousaf
92 }

◆ initializeBUValues()

void inet::BindingUpdateList::initializeBUValues ( BindingUpdateListEntry entry)
virtual

Initializes the values of a BUL entry to initial values.

Called by addOrUpdateBUL() if new entry is created.

140 {
141  // normal BU values
142  entry.bindingLifetime = 0;
143  entry.bindingExpiry = 0;
144  // TODO bindingUpdateList[dest].remainingLifetime = ;
145  entry.sentTime = 0;
146 // entry.nextBUTx = 0;
147  entry.sequenceNumber = 0;
148  entry.BAck = false;
149 
150  // RR specific values
151  entry.sentHoTI = 0;
152  entry.sentCoTI = 0;
153  entry.cookieHoTI = UNDEFINED_COOKIE;
154  entry.cookieCoTI = UNDEFINED_COOKIE;
155 // entry.sendNext = 0;
156  entry.tokenH = UNDEFINED_TOKEN;
157  entry.tokenC = UNDEFINED_TOKEN;
158  // 21.07.08 - CB
159  entry.state = NONE;
160 }

Referenced by addOrUpdateBUL(), and createBULEntry().

◆ isBindingAboutToExpire()

bool inet::BindingUpdateList::isBindingAboutToExpire ( const Ipv6Address dest)
virtual

Returns true if a binding is about to expire.

314 {
315  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
316  return (entry == nullptr) ? true : entry->bindingLifetime < SIMTIME_DBL(simTime()) - PRE_BINDING_EXPIRY;
317 }

◆ isCareOfTokenAvailable()

bool inet::BindingUpdateList::isCareOfTokenAvailable ( const Ipv6Address dest,
NetworkInterface ie 
)
virtual

Returns true if a care-of keygen token is available.

271 {
272  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
273  ASSERT(entry != nullptr);
274 
275  return entry->tokenC != UNDEFINED_TOKEN &&
276  (entry->sentCoTI + ie->getProtocolData<Ipv6InterfaceData>()->_getMaxTokenLifeTime()) > simTime();
277 }

◆ isHomeTokenAvailable()

bool inet::BindingUpdateList::isHomeTokenAvailable ( const Ipv6Address dest,
NetworkInterface ie 
)
virtual

Returns true if a home keygen token is available.

262 {
263  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
264  ASSERT(entry != nullptr);
265 
266  return entry->tokenH != UNDEFINED_TOKEN &&
267  (entry->sentHoTI + ie->getProtocolData<Ipv6InterfaceData>()->_getMaxTokenLifeTime()) > simTime();
268 }

◆ isInBindingUpdateList() [1/2]

bool inet::BindingUpdateList::isInBindingUpdateList ( const Ipv6Address dest) const
virtual

Checks whether there exists an entry in the BUL for the given destination address.

280 {
281  return containsKey(bindingUpdateList, dest);
282 }

◆ isInBindingUpdateList() [2/2]

bool inet::BindingUpdateList::isInBindingUpdateList ( const Ipv6Address dest,
const Ipv6Address HoA 
)
virtual

Checks whether there exists an entry in the BUL for the given destination address and home address.

302 {
303  auto pos = bindingUpdateList.find(dest);
304  return (pos == bindingUpdateList.end()) ? false : pos->second.homeAddress == HoA;
305 }

◆ isValidBinding()

bool inet::BindingUpdateList::isValidBinding ( const Ipv6Address dest)
virtual

Returns true if a binding has been acknowledged and it's lifetime has not yet expired.

308 {
309  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
310  return (entry == nullptr) ? false : entry->BAck && (entry->bindingLifetime < SIMTIME_DBL(simTime()));
311 }

◆ lookup()

BindingUpdateList::BindingUpdateListEntry * inet::BindingUpdateList::lookup ( const Ipv6Address dest)
virtual

◆ recentlySentCOTI()

bool inet::BindingUpdateList::recentlySentCOTI ( const Ipv6Address dest,
NetworkInterface ie 
)
virtual

These two methods indicate whether a CoTI or HoTI message has been recently sent to the CN identified by parameter dest.

354 {
355  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
356 
357  ASSERT(entry != nullptr);
358 
359  return entry->sentCoTI + ie->getProtocolData<Ipv6InterfaceData>()->_getMaxTokenLifeTime() / 3 > simTime();
360 }

◆ recentlySentHOTI()

bool inet::BindingUpdateList::recentlySentHOTI ( const Ipv6Address dest,
NetworkInterface ie 
)
virtual
363 {
364  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
365 
366  ASSERT(entry != nullptr);
367 
368  return entry->sentHoTI + ie->getProtocolData<Ipv6InterfaceData>()->_getMaxTokenLifeTime() / 3 > simTime();
369 }

◆ removeBinding()

void inet::BindingUpdateList::removeBinding ( const Ipv6Address dest)
virtual

Deletes an entry from the binding update list for the provided destination address.

331 {
332  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
333 
334  ASSERT(entry != nullptr);
335 
336  if ((entry->tokenH != UNDEFINED_TOKEN) || (entry->tokenC != UNDEFINED_TOKEN))
337  // for CNs, we just delete all entries
338  resetBindingCacheEntry(*entry);
339  else
340  // the BUL entry to the HA is completely deleted
341  bindingUpdateList.erase(dest);
342 }

◆ resetBindingCacheEntry()

void inet::BindingUpdateList::resetBindingCacheEntry ( BindingUpdateListEntry entry)
protectedvirtual

Resets binding lifetime, tokens, etc.

of the BUL entry.

372 {
373  entry.bindingLifetime = 0;
374  entry.bindingExpiry = 0;
375 // entry.remainingLifetime = 0;
376 // entry.sequenceNumber = 0;
377  entry.sentTime = 0;
378 // entry.nextBUTx = 0;
379  entry.BAck = false;
380  entry.state = NONE;
381 
382  // if tokens should sustain handovers then comment out the following lines of code
383  // (this could eventually allow for parallel CN and HA registration)
384  /*entry.sentHoTI = 0;
385  entry.sentCoTI = 0;
386  entry.tokenH = 0;
387  entry.tokenC = 0;*/
388 }

Referenced by removeBinding().

◆ resetCareOfToken()

void inet::BindingUpdateList::resetCareOfToken ( const Ipv6Address dest,
const Ipv6Address hoa 
)
virtual

Resets the token to UNDEFINED.

253 {
254  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
255  ASSERT(entry != nullptr);
256 
257  entry->tokenC = UNDEFINED_TOKEN;
258 // entry->sentCoTI = 0;
259 }

◆ resetHomeToken()

void inet::BindingUpdateList::resetHomeToken ( const Ipv6Address dest,
const Ipv6Address hoa 
)
virtual

Resets the token to UNDEFINED.

244 {
245  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
246  ASSERT(entry != nullptr);
247 
248  entry->tokenH = UNDEFINED_TOKEN;
249 // entry->sentHoTI = 0;
250 }

◆ sentBindingUpdate()

bool inet::BindingUpdateList::sentBindingUpdate ( const Ipv6Address dest)
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.

320 {
321  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
322 
323  if (entry == nullptr)
324  return false;
325 
326  return (entry->BAck || (entry->tokenH != UNDEFINED_TOKEN && entry->tokenC != UNDEFINED_TOKEN))
327  && entry->sentTime != 0;
328 }

◆ setMobilityState()

void inet::BindingUpdateList::setMobilityState ( const Ipv6Address dest,
BindingUpdateList::MobilityState  state 
)
virtual

Sets the mobility state to provided state for the CN identified by the provided IP address.

207 {
208  auto i = bindingUpdateList.find(dest);
209 
210  if (i != bindingUpdateList.end())
211  i->second.state = state;
212 }

◆ suspendBinding()

void inet::BindingUpdateList::suspendBinding ( const Ipv6Address dest)
virtual

Sets the state of the binding cache entry to "not usable".

Resets the BAck flag to false, etc.

345 {
346  BindingUpdateList::BindingUpdateListEntry *entry = lookup(dest);
347 
348  ASSERT(entry != nullptr);
349 
350  entry->BAck = false;
351 }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const BindingUpdateListEntry bul 
)
friend
25 {
26  os << "Destination: " << bul.destAddress << " HoA of MN: " << bul.homeAddress
27  << " CoA of MN: " << bul.careOfAddress << "\n"
28  << "Binding Lifetime: " << bul.bindingLifetime << " binding expiry: "
29  << SIMTIME_STR(bul.bindingExpiry) << " BU Sequence#: " << bul.sequenceNumber
30  << " Sent Time: " << SIMTIME_STR(bul.sentTime) /* << " Next_Tx_Time: " << bul.nextBUTx << */
31  << " BU_Ack: " << bul.BAck << "\n";
32 
33  // this part will only be displayed if the BUL entry is for CN registration
34  if (bul.sentHoTI != 0) {
35  os << "Sent Time HoTI: " << SIMTIME_STR(bul.sentHoTI) << " HoTI cookie: " << bul.cookieHoTI
36  << " home token: " << bul.tokenH << "\n";
37  }
38 
39  if (bul.sentCoTI != 0) {
40  os << " Sent Time CoTI: " << SIMTIME_STR(bul.sentCoTI) << " CoTI cookie: " << bul.cookieCoTI
41  << " care-of token: " << bul.tokenC << "\n";
42  }
43 
44  os << "State: ";
45  switch (bul.state) {
47  os << "none";
48  break;
49 
51  os << "Return Routability";
52  break;
53 
55  os << "Return Routability completed";
56  break;
57 
59  os << "Registering";
60  break;
61 
63  os << "Registered";
64  break;
65 
67  os << "Deregistering";
68  break;
69 
70  default:
71  os << "Unknown";
72  break;
73  }
74  os << endl;
75 
76  return os;
77 }

Member Data Documentation

◆ bindingUpdateList


The documentation for this class was generated from the following files:
inet::BindingUpdateList::bindingUpdateList
BindingUpdateList6 bindingUpdateList
Definition: BindingUpdateList.h:96
inet::BindingUpdateList::RR_COMPLETE
@ RR_COMPLETE
Definition: BindingUpdateList.h:42
inet::BindingUpdateList::NONE
@ NONE
Definition: BindingUpdateList.h:40
inet::BindingUpdateList::initializeBUValues
virtual void initializeBUValues(BindingUpdateListEntry &entry)
Initializes the values of a BUL entry to initial values.
Definition: BindingUpdateList.cc:139
CO_TOKEN
#define CO_TOKEN
Definition: BindingCache.h:21
inet::BindingUpdateList::createBULEntry
virtual BindingUpdateList::BindingUpdateListEntry * createBULEntry(const Ipv6Address &dest)
Creates a new entry in the BUL for the provided address.
Definition: BindingUpdateList.cc:128
inet::BindingUpdateList::RR
@ RR
Definition: BindingUpdateList.h:41
inet::BindingUpdateList::resetBindingCacheEntry
virtual void resetBindingCacheEntry(BindingUpdateListEntry &entry)
Resets binding lifetime, tokens, etc.
Definition: BindingUpdateList.cc:371
UNDEFINED_TOKEN
#define UNDEFINED_TOKEN
Definition: BindingUpdateList.h:23
UNDEFINED_COOKIE
#define UNDEFINED_COOKIE
Definition: BindingUpdateList.h:24
inet::BindingUpdateList::REGISTER
@ REGISTER
Definition: BindingUpdateList.h:43
inet::BindingUpdateList::generateKey
virtual int generateKey(int homeToken, int careOfToken, const Ipv6Address &CoA)
Generates the key Kbm from home and care-of keygen token.
Definition: BindingUpdateList.cc:227
PRE_BINDING_EXPIRY
#define PRE_BINDING_EXPIRY
Definition: BindingUpdateList.h:31
inet::BindingUpdateList::lookup
virtual BindingUpdateList::BindingUpdateListEntry * lookup(const Ipv6Address &dest)
Returns the BUL entry for a certain destination address.
Definition: BindingUpdateList.cc:188
inet::BindingUpdateList::DEREGISTER
@ DEREGISTER
Definition: BindingUpdateList.h:45
HO_TOKEN
#define HO_TOKEN
Definition: BindingCache.h:20
inet::BindingUpdateList::REGISTERED
@ REGISTERED
Definition: BindingUpdateList.h:44
inet::containsKey
bool containsKey(const std::map< K, V, _C > &m, const Tk &a)
Definition: stlutils.h:80