Files | |
| file | ft.h | 
| Forwarding table definitions.  | |
Data Structures | |
| struct | gnrc_ipv6_nib_ft_t | 
| Forwarding table entry view on NIB.  More... | |
Functions | |
| int | gnrc_ipv6_nib_ft_get (const ipv6_addr_t *dst, gnrc_pktsnip_t *pkt, gnrc_ipv6_nib_ft_t *fte) | 
| Gets the best matching forwarding table entry to a destination.  More... | |
| int | gnrc_ipv6_nib_ft_add (const ipv6_addr_t *dst, unsigned dst_len, const ipv6_addr_t *next_hop, unsigned iface, uint32_t lifetime) | 
| Adds a new route to the forwarding table.  More... | |
| void | gnrc_ipv6_nib_ft_del (const ipv6_addr_t *dst, unsigned dst_len) | 
| Deletes a route from forwarding table.  More... | |
| bool | gnrc_ipv6_nib_ft_iter (const ipv6_addr_t *next_hop, unsigned iface, void **state, gnrc_ipv6_nib_ft_t *fte) | 
| Iterates over all forwarding table entries in the NIB.  More... | |
| void | gnrc_ipv6_nib_ft_print (const gnrc_ipv6_nib_ft_t *fte) | 
| Prints a forwarding table entry.  More... | |
| int gnrc_ipv6_nib_ft_add | ( | const ipv6_addr_t * | dst, | 
| unsigned | dst_len, | ||
| const ipv6_addr_t * | next_hop, | ||
| unsigned | iface, | ||
| uint32_t | lifetime | ||
| ) | 
Adds a new route to the forwarding table.
If dst is the default route, the route will be configured to be the default route.
| [in] | dst | The destination to the route. May be NULL or :: for default route.  | 
| [in] | dst_len | The prefix length of dst in bits. May be 0 for default route.  | 
| [in] | next_hop | The next hop to dst/ May be NULL, if dst/ no the default route.  | 
| [in] | iface | The interface to next_hop. May not be 0.  | 
| [in] | lifetime | Lifetime of the route in seconds. 0 for infinite lifetime. | 
| void gnrc_ipv6_nib_ft_del | ( | const ipv6_addr_t * | dst, | 
| unsigned | dst_len | ||
| ) | 
Deletes a route from forwarding table.
If dst is the default route, the function assures, that the current primary default route is removed first.
| [in] | dst | The destination of the route. May be NULL or :: for default route.  | 
| [in] | dst_len | The prefix length of dst in bits. May be 0 for default route.  | 
| int gnrc_ipv6_nib_ft_get | ( | const ipv6_addr_t * | dst, | 
| gnrc_pktsnip_t * | pkt, | ||
| gnrc_ipv6_nib_ft_t * | fte | ||
| ) | 
Gets the best matching forwarding table entry to a destination.
(dst != NULL) && (fte != NULL)| [in] | dst | The destination. | 
| [in] | pkt | Packet that is supposed to go to that destination (is handed over to a reactive routing protocol if one exists on the interface found and no route is found) | 
| [out] | fte | The resulting forwarding table entry. | 
| bool gnrc_ipv6_nib_ft_iter | ( | const ipv6_addr_t * | next_hop, | 
| unsigned | iface, | ||
| void ** | state, | ||
| gnrc_ipv6_nib_ft_t * | fte | ||
| ) | 
Iterates over all forwarding table entries in the NIB.
(state != NULL) && (fte != NULL)| [in] | next_hop | Restrict iteration to entries to this next hop. NULL for any next hop. Can be used to build a source routing tree. | 
| [in] | iface | Restrict iteration to entries on this interface. 0 for any interface. | 
| [in,out] | state | Iteration state of the forwarding table. Must point to a NULL pointer to start iteration. | 
| [out] | fte | The next forwarding table entry. | 
The iteration over all forwarding table entries in the NIB includes all entries added via gnrc_ipv6_nib_ft_add() and entries that are currently in the Destination Cache, in the Prefix List (only if they're on-link), and in the Default Router List.
Usage example:
fte is the last neighbor cache entry in the NIB. | void gnrc_ipv6_nib_ft_print | ( | const gnrc_ipv6_nib_ft_t * | fte | ) | 
Prints a forwarding table entry.
fce != NULL| [in] | fte | A forwarding table entry. |