lwIP 2.2.1 Lightweight IP stack

Data Structures | Macros | Functions
mld6.h File Reference
`#include "lwip/opt.h"`
`#include "lwip/pbuf.h"`
`#include "lwip/netif.h"`

## Data Structures
struct | mld_group

## Macros
#define | netif_mld6_data(netif) ((struct mld_group *)netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_MLD6))

## Functions
err_t | mld6_stop (struct netif *netif)
void | mld6_report_groups (struct netif *netif)
void | mld6_tmr (void)
struct mld_group * | mld6_lookfor_group (struct netif *ifp, const ip6_addr_t *addr)
void | mld6_input (struct pbuf *p, struct netif *inp)
err_t | mld6_joingroup (const ip6_addr_t *srcaddr, const ip6_addr_t *groupaddr)
err_t | mld6_joingroup_netif (struct netif *netif, const ip6_addr_t *groupaddr)
err_t | mld6_leavegroup (const ip6_addr_t *srcaddr, const ip6_addr_t *groupaddr)
err_t | mld6_leavegroup_netif (struct netif *netif, const ip6_addr_t *groupaddr)

## Detailed Description

Multicast listener discovery for IPv6. Aims to be compliant with RFC 2710. No support for MLDv2.

## Function Documentation

## ◆ mld6_input()

void mld6_input | ( | struct pbuf * | p,
|  | struct netif * | inp
| ) |  |

Process an input MLD message. Called by icmp6_input.

Parameters

  p | the mld packet, p->payload pointing to the icmpv6 header
  inp | the netif on which this packet was received

## ◆ mld6_lookfor_group()

struct mld_group* mld6_lookfor_group | ( | struct netif * | ifp,
|  | const ip6_addr_t * | addr
| ) |  |

Search for a group that is joined on a netif

Parameters

  ifp | the network interface for which to look
  addr | the group ipv6 address to search for

Returns
  a struct mld_group* if the group has been found, NULL if the group wasn't found.

## ◆ mld6_report_groups()

void mld6_report_groups | ( | struct netif * | netif | ) |

Report MLD memberships for this interface

Parameters

  netif | network interface on which report MLD memberships

## ◆ mld6_stop()

err_t mld6_stop | ( | struct netif * | netif | ) |

Stop MLD processing on interface

Parameters

  netif | network interface on which stop MLD processing

## ◆ mld6_tmr()

void mld6_tmr | ( | void |  | ) |

Periodic timer for mld processing. Must be called every MLD6_TMR_INTERVAL milliseconds (100).

When a delaying member expires, a membership report is sent.