Microchip® Advanced Software Framework

ethip6.h File Reference

Ethernet output for IPv6.

Uses ND tables for link-layer addressing.

#include "lwip/opt.h"
#include "lwip/pbuf.h"
#include "lwip/ip6.h"
#include "lwip/ip6_addr.h"
#include "lwip/netif.h"

Functions

err_t ethip6_output (struct netif *netif, struct pbuf *q, ip6_addr_t *ip6addr)
 Resolve and fill-in Ethernet address header for outgoing IPv6 packet. More...
 

err_t ethip6_output ( struct netif netif,
struct pbuf q,
ip6_addr_t ip6addr 
)

Resolve and fill-in Ethernet address header for outgoing IPv6 packet.

For IPv6 multicast, corresponding Ethernet addresses are selected and the packet is transmitted on the link.

For unicast addresses, ...

anycast addresses

Parameters
netifThe lwIP network interface which the IP packet will be sent on.
qThe pbuf(s) containing the IP packet to be sent.
ip6addrThe IP address of the packet destination.
Returns

References nd6_neighbor_cache_entry::counter, nd6_neighbor_cache_entry::delay_time, ERR_BUF, ERR_MEM, ETHARP_DEBUG, ethip6_send(), netif::hwaddr, ip6_addr_ismulticast, nd6_neighbor_cache_entry::lladdr, LWIP_DBG_LEVEL_SERIOUS, LWIP_DBG_TRACE, LWIP_DEBUGF, ND6_DELAY, nd6_get_next_hop_entry(), ND6_PROBE, nd6_queue_packet(), ND6_REACHABLE, ND6_STALE, neighbor_cache, pbuf_header(), SIZEOF_ETH_HDR, and nd6_neighbor_cache_entry::state.

Referenced by winc_netif_init().