Loading...
Searching...
No Matches

Authoritative border router list component of neighbor information base. More...

Detailed Description

Authoritative border router list component of neighbor information base.

Files

file  abr.h
 Authoritative border router list definitions.
 

Data Structures

struct  gnrc_ipv6_nib_abr_t
 Authoritative border router list entry view on NIB. More...
 

Functions

int gnrc_ipv6_nib_abr_add (const ipv6_addr_t *addr)
 Adds the address of an authoritative border router to the NIB.
 
void gnrc_ipv6_nib_abr_del (const ipv6_addr_t *addr)
 Removes an authoritative border router from the NIB.
 
bool gnrc_ipv6_nib_abr_iter (void **state, gnrc_ipv6_nib_abr_t *abr)
 Iterates over all authoritative border router in the NIB.
 
static uint32_t gnrc_ipv6_nib_abr_valid_offset (const gnrc_ipv6_nib_abr_t *abr)
 Provides the time in minutes for which the authoritative border router entry is valid.
 
void gnrc_ipv6_nib_abr_print (gnrc_ipv6_nib_abr_t *abr)
 Prints an authoritative border router list entry.
 

Function Documentation

◆ gnrc_ipv6_nib_abr_add()

int gnrc_ipv6_nib_abr_add ( const ipv6_addr_t addr)

Adds the address of an authoritative border router to the NIB.

Parameters
[in]addrThe address of an authoritative border router.
Returns
0 on success.
-ENOMEM, if no space is left in the neighbor cache.
-ENOTSUP, if CONFIG_GNRC_IPV6_NIB_6LBR or CONFIG_GNRC_IPV6_NIB_MULTIHOP_P6C is not defined

◆ gnrc_ipv6_nib_abr_del()

void gnrc_ipv6_nib_abr_del ( const ipv6_addr_t addr)

Removes an authoritative border router from the NIB.

Parameters
[in]addrThe address of an authoritative border router.

◆ gnrc_ipv6_nib_abr_iter()

bool gnrc_ipv6_nib_abr_iter ( void **  state,
gnrc_ipv6_nib_abr_t abr 
)

Iterates over all authoritative border router in the NIB.

Precondition
(state != NULL) && (abr != NULL)
Parameters
[in,out]stateIteration state of the authoritative border router list. Must point to NULL pointer to start iteration
[out]abrThe next authoritative border router list entry.

Usage example:

int main(void) {
void *state = NULL;
puts("My border routers:");
while (gnrc_ipv6_nib_abr_iter(&state, &abr)) {
}
return 0;
}
Authoritative border router list definitions.
bool gnrc_ipv6_nib_abr_iter(void **state, gnrc_ipv6_nib_abr_t *abr)
Iterates over all authoritative border router in the NIB.
void gnrc_ipv6_nib_abr_print(gnrc_ipv6_nib_abr_t *abr)
Prints an authoritative border router list entry.
Authoritative border router list entry view on NIB.
Definition abr.h:42
Note
The list may change during iteration.
Returns
true, if iteration can be continued.
false, if abr is the last authoritative border router entry in the NIB.

◆ gnrc_ipv6_nib_abr_print()

void gnrc_ipv6_nib_abr_print ( gnrc_ipv6_nib_abr_t abr)

Prints an authoritative border router list entry.

Precondition
abr != NULL
Parameters
[in]abrAn authoritative border router list entry

◆ gnrc_ipv6_nib_abr_valid_offset()

static uint32_t gnrc_ipv6_nib_abr_valid_offset ( const gnrc_ipv6_nib_abr_t abr)
inlinestatic

Provides the time in minutes for which the authoritative border router entry is valid.

Parameters
[in]abrAn authoritative border router entry.
Returns
The time in minutes for which the authoritative border router entry is valid.

Definition at line 118 of file abr.h.