---
title: ifnet_check_multi
framework: kernel
role: symbol
role_heading: Type Alias
path: kernel/ifnet_check_multi
---

# ifnet_check_multi

## Declaration

```occ
typedef errno_t (*ifnet_check_multi)(ifnet_t interface, const struct sockaddr *mcast);
```

## Parameters

- `The`: interface.
- `mcast`: The multicast address.

## Return Value

Return Value Zero upon success, EADDRNOTAVAIL on invalid multicast, EOPNOTSUPP for addresses the interface does not understand.

## Discussion

Discussion ifnet_check_multi is called for each multicast address added to an interface. This gives the interface an opportunity to reject invalid multicast addresses before they are attached to the interface. To prevent an address from being added to your multicast list, return EADDRNOTAVAIL. If you don't know how to parse/translate the address, return EOPNOTSUPP.

## See Also

### ifnet

- [ifnet_add_proto_func](kernel/ifnet_add_proto_func.md)
- [ifnet_attach_proto_param](kernel/ifnet_attach_proto_param.md)
- [ifnet_attach_proto_param_v2](kernel/ifnet_attach_proto_param_v2.md)
- [ifnet_del_proto_func](kernel/ifnet_del_proto_func.md)
- [ifnet_demux_desc](kernel/ifnet_demux_desc.md)
- [ifnet_demux_func](kernel/ifnet_demux_func.md)
- [ifnet_detached_func](kernel/ifnet_detached_func.md)
- [ifnet_event_func](kernel/ifnet_event_func.md)
- [ifnet_family_t](kernel/ifnet_family_t.md)
- [ifnet_framer_func](kernel/ifnet_framer_func.md)
- [ifnet_init_params](kernel/ifnet_init_params.md)
- [ifnet_ioctl_func](kernel/ifnet_ioctl_func.md)
- [ifnet_offload_t](kernel/ifnet_offload_t.md)
- [ifnet_output_func](kernel/ifnet_output_func.md)
- [ifnet_set_bpf_tap](kernel/ifnet_set_bpf_tap.md)
- [ifnet_stat_increment_param](kernel/ifnet_stat_increment_param.md)
- [ifnet_stats_param](kernel/ifnet_stats_param.md)
- [ifnet_t](kernel/ifnet_t.md)
