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. More...
 
void gnrc_ipv6_nib_abr_del (const ipv6_addr_t *addr)
 Removes an authoritative border router from the NIB. More...
 
bool gnrc_ipv6_nib_abr_iter (void **state, gnrc_ipv6_nib_abr_t *abr)
 Iterates over all authoritative border router in the NIB. More...
 
void gnrc_ipv6_nib_abr_print (gnrc_ipv6_nib_abr_t *abr)
 Prints an authoritative border router list entry. More...
 

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;
}
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_iter
bool gnrc_ipv6_nib_abr_iter(void **state, gnrc_ipv6_nib_abr_t *abr)
Iterates over all authoritative border router in the NIB.
abr.h
Authoritative border router list definitions.
gnrc_ipv6_nib_abr_print
void gnrc_ipv6_nib_abr_print(gnrc_ipv6_nib_abr_t *abr)
Prints an authoritative border router list entry.
gnrc_ipv6_nib_abr_t
Authoritative border router list entry view on NIB.
Definition: abr.h:36