IGMP
APIs » "raw" APIs » IP » IPv4

## Macros

#define | netif_igmp_data(netif) ((struct igmp_group *)netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_IGMP))

## Functions

err_t | igmp_joingroup (const ip4_addr_t *ifaddr, const ip4_addr_t *groupaddr)
err_t | igmp_joingroup_netif (struct netif *netif, const ip4_addr_t *groupaddr)
err_t | igmp_leavegroup (const ip4_addr_t *ifaddr, const ip4_addr_t *groupaddr)
err_t | igmp_leavegroup_netif (struct netif *netif, const ip4_addr_t *groupaddr)

## Detailed Description

To be called from TCPIP thread

## Macro Definition Documentation

## netif_igmp_data

#define netif_igmp_data | ( |  | netif | ) | ((struct igmp_group *)netif_get_client_data(netif, LWIP_NETIF_CLIENT_DATA_INDEX_IGMP))

Get list head of IGMP groups for netif. Note: The allsystems group IP is contained in the list as first entry.

See also
  netif_set_igmp_mac_filter()

## Function Documentation

## igmp_joingroup()

err_t igmp_joingroup | ( | const ip4_addr_t * | ifaddr,
|  | const ip4_addr_t * | groupaddr
| ) |  |

Join a group on one network interface.

Parameters

  ifaddr | ip address of the network interface which should join a new group
  groupaddr | the ip address of the group which to join

Returns
  ERR_OK if group was joined on the netif(s), an err_t otherwise

## igmp_joingroup_netif()

err_t igmp_joingroup_netif | ( | struct netif * | netif,
|  | const ip4_addr_t * | groupaddr
| ) |  |

Join a group on one network interface.

Parameters

  netif | the network interface which should join a new group
  groupaddr | the ip address of the group which to join

Returns
  ERR_OK if group was joined on the netif, an err_t otherwise

## igmp_leavegroup()

err_t igmp_leavegroup | ( | const ip4_addr_t * | ifaddr,
|  | const ip4_addr_t * | groupaddr
| ) |  |

Leave a group on one network interface.

Parameters

  ifaddr | ip address of the network interface which should leave a group
  groupaddr | the ip address of the group which to leave

Returns
  ERR_OK if group was left on the netif(s), an err_t otherwise

## igmp_leavegroup_netif()

err_t igmp_leavegroup_netif | ( | struct netif * | netif,
|  | const ip4_addr_t * | groupaddr
| ) |  |

Leave a group on one network interface.

Parameters

  netif | the network interface which should leave a group
  groupaddr | the ip address of the group which to leave

Returns
  ERR_OK if group was left on the netif, an err_t otherwise