ethip6.c File Reference
`#include "lwip/opt.h"`
`#include "lwip/ethip6.h"`
`#include "lwip/nd6.h"`
`#include "lwip/pbuf.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/prot/ethernet.h"`
`#include "netif/ethernet.h"`
`#include <string.h>`

## Functions

err_t | ethip6_output (struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr)

## Detailed Description

Ethernet output for IPv6. Uses ND tables for link-layer addressing.

## Function Documentation

## ethip6_output()

err_t ethip6_output | ( | struct netif * | netif,
|  | struct pbuf * | q,
|  | const 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, ask the ND6 module what to do. It will either let us send the the packet right away, or queue the packet for later itself, unless an error occurs.

Parameters

  netif | The lwIP network interface which the IP packet will be sent on.
  q | The pbuf(s) containing the IP packet to be sent.
  ip6addr | The IP address of the packet destination.

Returns
  - ERR_OK or the return value of nd6_get_next_hop_addr_or_queue.