|
lwIP 2.0.0
lwIP 2.0.0
LightweightIPstack
|
#include "lwip/opt.h"#include "lwip/nd6.h"#include "lwip/prot/nd6.h"#include "lwip/prot/icmp6.h"#include "lwip/pbuf.h"#include "lwip/mem.h"#include "lwip/memp.h"#include "lwip/ip6.h"#include "lwip/ip6_addr.h"#include "lwip/inet_chksum.h"#include "lwip/netif.h"#include "lwip/icmp6.h"#include "lwip/mld6.h"#include "lwip/ip.h"#include "lwip/stats.h"#include <string.h>Functions | |
| void | nd6_input (struct pbuf *p, struct netif *inp) |
| void | nd6_tmr (void) |
| s8_t | nd6_select_router (const ip6_addr_t *ip6addr, struct netif *netif) |
| s8_t | nd6_get_next_hop_entry (const ip6_addr_t *ip6addr, struct netif *netif) |
| err_t | nd6_queue_packet (s8_t neighbor_index, struct pbuf *q) |
| u16_t | nd6_get_destination_mtu (const ip6_addr_t *ip6addr, struct netif *netif) |
| void | nd6_reachability_hint (const ip6_addr_t *ip6addr) |
| void | nd6_cleanup_netif (struct netif *netif) |
Neighbor discovery and stateless address autoconfiguration for IPv6. Aims to be compliant with RFC 4861 (Neighbor discovery) and RFC 4862 (Address autoconfiguration).
| void nd6_cleanup_netif | ( | struct netif * | netif | ) |
Remove all prefix, neighbor_cache and router entries of the specified netif.
| netif | points to a network interface |
| u16_t nd6_get_destination_mtu | ( | const ip6_addr_t * | ip6addr, |
| struct netif * | netif | ||
| ) |
Get the Path MTU for a destination.
| ip6addr | the destination address |
| netif | the netif on which the packet will be sent |
| s8_t nd6_get_next_hop_entry | ( | const ip6_addr_t * | ip6addr, |
| struct netif * | netif | ||
| ) |
Determine the next hop for a destination. Will determine if the destination is on-link, else a suitable on-link router is selected.
The last entry index is cached for fast entry search.
| ip6addr | the destination address |
| netif | the netif on which the packet will be sent |
Process an incoming neighbor discovery message
| p | the nd packet, p->payload pointing to the icmpv6 header |
| inp | the netif on which this packet was received |
Queue a packet for a neighbor.
| neighbor_index | the index in the neighbor cache table |
| q | packet to be queued |
| void nd6_reachability_hint | ( | const ip6_addr_t * | ip6addr | ) |
Provide the Neighbor discovery process with a hint that a destination is reachable. Called by tcp_receive when ACKs are received or sent (as per RFC). This is useful to avoid sending NS messages every 30 seconds.
| ip6addr | the destination address which is know to be reachable by an upper layer protocol (TCP) |
| s8_t nd6_select_router | ( | const ip6_addr_t * | ip6addr, |
| struct netif * | netif | ||
| ) |
Select a default router for a destination.
| ip6addr | the destination address |
| netif | the netif for the outgoing packet, if known |
| void nd6_tmr | ( | void | ) |
Periodic timer for Neighbor discovery functions: