GNRC-specific neighbor discovery definitions. More...
GNRC-specific neighbor discovery definitions.
Definition in file ndp.h.
#include <stdint.h>
#include "net/gnrc/pkt.h"
#include "net/gnrc/netif.h"
#include "net/ipv6/addr.h"
#include "net/ipv6/hdr.h"
Go to the source code of this file.
Macros | |
#define | GNRC_NETTYPE_NDP (GNRC_NETTYPE_IPV6) /* usual configuration */ |
gnrc_nettype: Protocol type to send NDP packets to | |
Functions | |
gnrc_pktsnip_t * | gnrc_ndp_nbr_sol_build (const ipv6_addr_t *tgt, gnrc_pktsnip_t *options) |
Builds a neighbor solicitation message for sending. | |
gnrc_pktsnip_t * | gnrc_ndp_nbr_adv_build (const ipv6_addr_t *tgt, uint8_t flags, gnrc_pktsnip_t *options) |
Builds a neighbor advertisement message for sending. | |
gnrc_pktsnip_t * | gnrc_ndp_rtr_sol_build (gnrc_pktsnip_t *options) |
Builds a router solicitation message for sending. | |
gnrc_pktsnip_t * | gnrc_ndp_rtr_adv_build (uint8_t cur_hl, uint8_t flags, uint16_t ltime, uint32_t reach_time, uint32_t retrans_timer, gnrc_pktsnip_t *options) |
Builds a router advertisement message for sending. | |
gnrc_pktsnip_t * | gnrc_ndp_opt_build (uint8_t type, size_t size, gnrc_pktsnip_t *next) |
Builds a generic NDP option. | |
gnrc_pktsnip_t * | gnrc_ndp_opt_sl2a_build (const uint8_t *l2addr, uint8_t l2addr_len, gnrc_pktsnip_t *next) |
Builds the source link-layer address option. | |
gnrc_pktsnip_t * | gnrc_ndp_opt_tl2a_build (const uint8_t *l2addr, uint8_t l2addr_len, gnrc_pktsnip_t *next) |
Builds the target link-layer address option. | |
gnrc_pktsnip_t * | gnrc_ndp_opt_pi_build (const ipv6_addr_t *prefix, uint8_t prefix_len, uint32_t valid_ltime, uint32_t pref_ltime, uint8_t flags, gnrc_pktsnip_t *next) |
Builds the prefix information option. | |
gnrc_pktsnip_t * | gnrc_ndp_opt_ri_build (const ipv6_addr_t *prefix, uint8_t prefix_len, uint32_t route_ltime, uint8_t flags, gnrc_pktsnip_t *next) |
Builds the route information option. | |
gnrc_pktsnip_t * | gnrc_ndp_opt_mtu_build (uint32_t mtu, gnrc_pktsnip_t *next) |
Builds the MTU option. | |
gnrc_pktsnip_t * | gnrc_ndp_opt_rdnss_build (uint32_t lifetime, ipv6_addr_t *addrs, unsigned addrs_num, gnrc_pktsnip_t *next) |
Builts the recursive DNS server option. | |
void | gnrc_ndp_nbr_sol_send (const ipv6_addr_t *tgt, gnrc_netif_t *netif, const ipv6_addr_t *src, const ipv6_addr_t *dst, gnrc_pktsnip_t *ext_opts) |
Send pre-compiled neighbor solicitation depending on a given network interface. | |
void | gnrc_ndp_nbr_adv_send (const ipv6_addr_t *tgt, gnrc_netif_t *netif, const ipv6_addr_t *dst, bool supply_tl2a, gnrc_pktsnip_t *ext_opts) |
Send pre-compiled neighbor advertisement depending on a given network interface. | |
void | gnrc_ndp_rtr_sol_send (gnrc_netif_t *netif, const ipv6_addr_t *dst) |
Send pre-compiled router solicitation depending on a given network interface. | |
void | gnrc_ndp_rtr_adv_send (gnrc_netif_t *netif, const ipv6_addr_t *src, const ipv6_addr_t *dst, bool fin, gnrc_pktsnip_t *ext_opts) |
Send pre-compiled router advertisement depending on a given network interface. | |