Loading...
Searching...
No Matches
mld6.c File Reference
`#include "lwip/opt.h"`
`#include "lwip/mld6.h"`
`#include "lwip/prot/mld6.h"`
`#include "lwip/icmp6.h"`
`#include "lwip/ip6.h"`
`#include "lwip/ip6_addr.h"`
`#include "lwip/ip.h"`
`#include "lwip/inet_chksum.h"`
`#include "lwip/pbuf.h"`
`#include "lwip/netif.h"`
`#include "lwip/memp.h"`
`#include "lwip/stats.h"`
`#include <string.h>`

## Functions

err_t | mld6_stop (struct netif *netif)
void | mld6_report_groups (struct netif *netif)
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)
void | mld6_tmr (void)

## Detailed Description

Multicast listener discovery

## 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.