Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: blinky_max32630fthr
nd6.h File Reference
Neighbor discovery and stateless address autoconfiguration for IPv6. More...
Go to the source code of this file.
Data Structures | |
| struct | nd6_neighbor_cache_entry |
| Struct for tables. More... | |
| struct | nd6_q_entry |
| struct for queueing outgoing packets for unknown address defined here to be accessed by memp.h More... | |
| struct | ns_header |
| Neighbor solicitation message header. More... | |
| struct | na_header |
| Neighbor advertisement message header. More... | |
| struct | rs_header |
| Router solicitation message header. More... | |
| struct | redirect_header |
| Redirect message header. More... | |
Functions | |
| void | nd6_tmr (void) |
| Periodic timer for Neighbor discovery functions: | |
| void | nd6_input (struct pbuf *p, struct netif *inp) |
| Process an incoming neighbor discovery message. | |
| s8_t | nd6_get_next_hop_entry (const ip6_addr_t *ip6addr, struct netif *netif) |
| Determine the next hop for a destination. | |
| s8_t | nd6_select_router (const ip6_addr_t *ip6addr, struct netif *netif) |
| Select a default router for a destination. | |
| u16_t | nd6_get_destination_mtu (const ip6_addr_t *ip6addr, struct netif *netif) |
| Get the Path MTU for a destination. | |
| err_t | nd6_queue_packet (s8_t neighbor_index, struct pbuf *p) |
| Queue a packet for a neighbor. | |
| void | nd6_reachability_hint (const ip6_addr_t *ip6addr) |
| Provide the Neighbor discovery process with a hint that a destination is reachable. | |
| void | nd6_cleanup_netif (struct netif *netif) |
| Remove all prefix, neighbor_cache and router entries of the specified netif. | |
Detailed Description
Neighbor discovery and stateless address autoconfiguration for IPv6.
Aims to be compliant with RFC 4861 (Neighbor discovery) and RFC 4862 (Address autoconfiguration).
Definition in file nd6.h.
Function Documentation
| void nd6_cleanup_netif | ( | struct netif * | netif ) |
Remove all prefix, neighbor_cache and router entries of the specified netif.
- Parameters:
-
netif points to a network interface
Definition at line 1861 of file lwip_nd6.c.
| u16_t nd6_get_destination_mtu | ( | const ip6_addr_t * | ip6addr, |
| struct netif * | netif | ||
| ) |
Get the Path MTU for a destination.
- Parameters:
-
ip6addr the destination address netif the netif on which the packet will be sent
- Returns:
- the Path MTU, if known, or the netif default MTU
Definition at line 1788 of file lwip_nd6.c.
| 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.
- Parameters:
-
ip6addr the destination address netif the netif on which the packet will be sent
- Returns:
- the neighbor cache entry for the next hop, ERR_RTE if no suitable next hop was found, ERR_MEM if no cache entry could be created
Definition at line 1492 of file lwip_nd6.c.
Process an incoming neighbor discovery message.
- Parameters:
-
p the nd packet, p->payload pointing to the icmpv6 header inp the netif on which this packet was received
Definition at line 119 of file lwip_nd6.c.
Queue a packet for a neighbor.
- Parameters:
-
neighbor_index the index in the neighbor cache table q packet to be queued
- Returns:
- ERR_OK if succeeded, ERR_MEM if out of memory
Definition at line 1604 of file lwip_nd6.c.
| 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.
- Parameters:
-
ip6addr the destination address which is know to be reachable by an upper layer protocol (TCP)
Definition at line 1818 of file lwip_nd6.c.
| s8_t nd6_select_router | ( | const ip6_addr_t * | ip6addr, |
| struct netif * | netif | ||
| ) |
Select a default router for a destination.
- Parameters:
-
ip6addr the destination address netif the netif for the outgoing packet, if known
- Returns:
- the default router entry index, or -1 if no suitable router is found
Definition at line 1300 of file lwip_nd6.c.
| void nd6_tmr | ( | void | ) |
Periodic timer for Neighbor discovery functions:
- Update neighbor reachability states
- Update destination cache entries age
- Update invalidation timers of default routers and on-link prefixes
- Perform duplicate address detection (DAD) for our addresses
- Send router solicitations
Definition at line 655 of file lwip_nd6.c.
Generated on Tue Jul 12 2022 14:21:28 by
1.7.2
