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: mbed-TFT-example-NCS36510 mbed-Accelerometer-example-NCS36510 mbed-Accelerometer-example-NCS36510
lwip_mld6.c File Reference
Go to the source code of this file.
Functions | |
static struct mld_group * | mld6_new_group (struct netif *ifp, const ip6_addr_t *addr) |
create a new group | |
static err_t | mld6_free_group (struct mld_group *group) |
Remove a group in the mld_group_list and free. | |
static void | mld6_delayed_report (struct mld_group *group, u16_t maxresp) |
Schedule a delayed membership report for a group. | |
static void | mld6_send (struct mld_group *group, u8_t type) |
Send a MLD message (report or done). | |
err_t | mld6_stop (struct netif *netif) |
Stop MLD processing on interface. | |
void | mld6_report_groups (struct netif *netif) |
Report MLD memberships for this interface. | |
struct mld_group * | mld6_lookfor_group (struct netif *ifp, const ip6_addr_t *addr) |
Search for a group that is joined on a netif. | |
void | mld6_input (struct pbuf *p, struct netif *inp) |
Process an input MLD message. | |
err_t | mld6_joingroup (const ip6_addr_t *srcaddr, const ip6_addr_t *groupaddr) |
Join a group on a network interface. | |
err_t | mld6_joingroup_netif (struct netif *netif, const ip6_addr_t *groupaddr) |
Join a group on a network interface. | |
err_t | mld6_leavegroup (const ip6_addr_t *srcaddr, const ip6_addr_t *groupaddr) |
Leave a group on a network interface. | |
err_t | mld6_leavegroup_netif (struct netif *netif, const ip6_addr_t *groupaddr) |
Leave a group on a network interface. | |
void | mld6_tmr (void) |
Periodic timer for mld processing. |
Detailed Description
Definition in file lwip_mld6.c.
Function Documentation
static void mld6_delayed_report | ( | struct mld_group * | group, |
u16_t | maxresp | ||
) | [static] |
Schedule a delayed membership report for a group.
- Parameters:
-
group the mld_group for which "delaying" membership report should be sent maxresp the max resp delay provided in the query
Definition at line 505 of file lwip_mld6.c.
Remove a group in the mld_group_list and free.
- Parameters:
-
group the group to remove
- Returns:
- ERR_OK if group was removed from the list, an err_t otherwise
Definition at line 209 of file lwip_mld6.c.
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
Definition at line 244 of file lwip_mld6.c.
struct mld_group* mld6_lookfor_group | ( | struct netif * | ifp, |
const ip6_addr_t * | addr | ||
) | [read] |
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.
Definition at line 158 of file lwip_mld6.c.
static struct mld_group * mld6_new_group | ( | struct netif * | ifp, |
const ip6_addr_t * | addr | ||
) | [static, read] |
create a new group
- Parameters:
-
ifp the network interface for which to create addr the new group ipv6
- Returns:
- a struct mld_group*, NULL on memory error.
Definition at line 182 of file lwip_mld6.c.
void mld6_report_groups | ( | struct netif * | netif ) |
Report MLD memberships for this interface.
- Parameters:
-
netif network interface on which report MLD memberships
Definition at line 137 of file lwip_mld6.c.
static void mld6_send | ( | struct mld_group * | group, |
u8_t | type | ||
) | [static] |
Send a MLD message (report or done).
An IPv6 hop-by-hop options header with a router alert option is prepended.
- Parameters:
-
group the group to report or quit type ICMP6_TYPE_MLR (report) or ICMP6_TYPE_MLD (done)
Definition at line 540 of file lwip_mld6.c.
Stop MLD processing on interface.
- Parameters:
-
netif network interface on which stop MLD processing
Definition at line 96 of file lwip_mld6.c.
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.
Definition at line 477 of file lwip_mld6.c.
Generated on Tue Jul 12 2022 11:03:02 by
