Neighbor cache definitions. More...
Neighbor cache definitions.
Definition in file nc.h.
#include <stdbool.h>#include <stdint.h>#include "net/eui64.h"#include "net/gnrc/netif/hdr.h"#include "net/gnrc/ipv6/nib/conf.h"#include "net/ipv6/addr.h"
Include dependency graph for nc.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | gnrc_ipv6_nib_nc_t |
| Neighbor cache entry view on NIB. More... | |
Functions | |
| static unsigned | gnrc_ipv6_nib_nc_get_nud_state (const gnrc_ipv6_nib_nc_t *entry) |
| Gets neighbor unreachability state from entry. More... | |
| static bool | gnrc_ipv6_nib_nc_is_router (const gnrc_ipv6_nib_nc_t *entry) |
| Gets router flag of a neighbor. More... | |
| static unsigned | gnrc_ipv6_nib_nc_get_iface (const gnrc_ipv6_nib_nc_t *entry) |
| Gets interface from entry. More... | |
| static unsigned | gnrc_ipv6_nib_nc_get_ar_state (const gnrc_ipv6_nib_nc_t *entry) |
| Gets address registration state of an entry. More... | |
| int | gnrc_ipv6_nib_nc_set (const ipv6_addr_t *ipv6, unsigned iface, const uint8_t *l2addr, size_t l2addr_len) |
| Adds an unmanaged neighbor entry to NIB. More... | |
| void | gnrc_ipv6_nib_nc_del (const ipv6_addr_t *ipv6, unsigned iface) |
Deletes neighbor with address ipv6 from NIB. More... | |
| void | gnrc_ipv6_nib_nc_mark_reachable (const ipv6_addr_t *ipv6) |
Mark neighbor with address ipv6 as reachable. More... | |
| bool | gnrc_ipv6_nib_nc_iter (unsigned iface, void **state, gnrc_ipv6_nib_nc_t *nce) |
| Iterates over all neighbor cache entries in the NIB. More... | |
| void | gnrc_ipv6_nib_nc_print (gnrc_ipv6_nib_nc_t *nce) |
| Prints a neighbor cache entry. More... | |
Info values | |
Values for gnrc_ipv6_nib_nc_t::info | |
| #define | GNRC_IPV6_NIB_NC_INFO_NUD_STATE_MASK (0x0007) |
| Mask for neighbor unreachability detection (NUD) states. More... | |
| #define | GNRC_IPV6_NIB_NC_INFO_NUD_STATE_UNMANAGED (0x0000) |
| Not managed by NUD. | |
| #define | GNRC_IPV6_NIB_NC_INFO_NUD_STATE_UNREACHABLE (0x0001) |
| Entry is not reachable. | |
| #define | GNRC_IPV6_NIB_NC_INFO_NUD_STATE_INCOMPLETE (0x0002) |
| Address resolution is currently performed. | |
| #define | GNRC_IPV6_NIB_NC_INFO_NUD_STATE_STALE (0x0003) |
| Address might not be reachable. | |
| #define | GNRC_IPV6_NIB_NC_INFO_NUD_STATE_DELAY (0x0004) |
| NUD will be performed in a moment. | |
| #define | GNRC_IPV6_NIB_NC_INFO_NUD_STATE_PROBE (0x0005) |
| NUD is performed. | |
| #define | GNRC_IPV6_NIB_NC_INFO_NUD_STATE_REACHABLE (0x0006) |
| Entry is reachable. | |
| #define | GNRC_IPV6_NIB_NC_INFO_IS_ROUTER (0x0008) |
| gnrc_ipv6_nib_t::next_hop is router More... | |
| #define | GNRC_IPV6_NIB_NC_INFO_IFACE_MASK (0x01f0) |
| Mask for interface identifier. | |
| #define | GNRC_IPV6_NIB_NC_INFO_IFACE_POS (4) |
| Shift position of interface identifier. | |
| #define | GNRC_IPV6_NIB_NC_INFO_AR_STATE_MASK (0x0600) |
| Mask for 6LoWPAN address registration (6Lo-AR) states. More... | |
| #define | GNRC_IPV6_NIB_NC_INFO_AR_STATE_POS (9) |
| Shift position of address registration states. | |
| #define | GNRC_IPV6_NIB_NC_INFO_AR_STATE_GC (0x0000) |
| Not managed by 6Lo-AR (address can be removed when memory is low. | |
| #define | GNRC_IPV6_NIB_NC_INFO_AR_STATE_TENTATIVE (0x0200) |
| Address registration still pending at upstream router. | |
| #define | GNRC_IPV6_NIB_NC_INFO_AR_STATE_REGISTERED (0x0400) |
| Address is registered. | |
| #define | GNRC_IPV6_NIB_NC_INFO_AR_STATE_MANUAL (0x0600) |
| Address was added manually. | |