---
name: "ip_mreq_source"
section: "2type"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ip_mreq_source"
---

# ip\_mreq\_source(2type)

IP multicast request source

## NAME

ip\_mreq\_source - IP multicast request source

## LIBRARY

Standard C library (*libc*)

## SYNOPSIS

```
#include <netinet/in.h>
```

```
struct ip_mreq_source {
    struct in_addr  imr_multiaddr;   /* IP multicast group address */
    struct in_addr  imr_interface;   /* IP address of local interface */
    struct in_addr  imr_sourceaddr;  /* IP address of multicast source */
};
```

## DESCRIPTION

The *ip\_mreq\_source* structure is similar to the [**ip\_mreqn**(2type)](/ip_mreqn/2type.md) structure.

- *.imr\_multiaddr*

  The address of the multicast group the application wants to join or leave.

- *.imr\_interface*

  The address of the local interface with which the system should join or leave the multicast group.

- *.imr\_sourceaddr*

  The address of the source the application wants to receive data from.

## HISTORY

Linux 2.4.22, Linux 2.5.68.

## SEE ALSO

[**IP\_ADD\_SOURCE\_MEMBERSHIP**(2const)](/IP_ADD_SOURCE_MEMBERSHIP/2const.md), [**IP\_BLOCK\_SOURCE**(2const)](/IP_BLOCK_SOURCE/2const.md), [**IP\_DROP\_SOURCE\_MEMBERSHIP**(2const)](/IP_DROP_SOURCE_MEMBERSHIP/2const.md), [**IP\_UNBLOCK\_SOURCE**(2const)](/IP_UNBLOCK_SOURCE/2const.md), [**ip**(7)](/ip/7.md).
