---
title: ifnet_set_promiscuous
framework: Kernel
role: symbol
role_heading: Function
platforms: [macOS 10.4+]
path: kernel/1524973-ifnet_set_promiscuous
---

# ifnet_set_promiscuous

## Declaration

```occ
errno_t ifnet_set_promiscuous(ifnet_t interface, int on);
```

## Parameters

- `interface`: The interface to toggle promiscuous mode on.
- `on`: If set, the number of promicuous on requests will be incremented. If this is the first requrest, promiscuous mode will be enabled. If this is not set, the number of promiscous clients will be decremented. If this causes the number to reach zero, promiscuous mode will be disabled.

## Return Value

Return Value 0 on success otherwise the errno error.

## Discussion

Discussion Enable or disable promiscuous mode on the interface. The interface keeps an internal count of the number of times promiscuous mode has been enabled. Promiscuous mode is only disabled when this count reaches zero. Be sure to disable promiscuous mode only once for every time you enable it.

## See Also

### Network Kernel Extensions

- [sock_accept](kernel/1396149-sock_accept.md)
- [sock_bind](kernel/1396145-sock_bind.md)
- [sock_close](kernel/1396134-sock_close.md)
- [sock_connect](kernel/1396120-sock_connect.md)
- [sock_getpeername](kernel/1396137-sock_getpeername.md)
- [sock_getsockname](kernel/1396141-sock_getsockname.md)
- [sock_getsockopt](kernel/1396136-sock_getsockopt.md)
- [sock_gettype](kernel/1396147-sock_gettype.md)
- [sock_inject_data_in](kernel/1433192-sock_inject_data_in.md)
- [sock_inject_data_out](kernel/1433162-sock_inject_data_out.md)
- [sock_ioctl](kernel/1396118-sock_ioctl.md)
- [sock_isconnected](kernel/1396130-sock_isconnected.md)
- [sock_isnonblocking](kernel/1396116-sock_isnonblocking.md)
- [sock_listen](kernel/1396139-sock_listen.md)
- [sock_receive](kernel/1396126-sock_receive.md)
- [sock_receivembuf](kernel/1396114-sock_receivembuf.md)
- [sock_send](kernel/1396143-sock_send.md)
- [sock_sendmbuf](kernel/1396128-sock_sendmbuf.md)
- [sock_setpriv](kernel/1396124-sock_setpriv.md)
- [sock_setsockopt](kernel/1396148-sock_setsockopt.md)
- [sock_shutdown](kernel/1396150-sock_shutdown.md)
- [sock_socket](kernel/1396122-sock_socket.md)
- [sockopt_copyin](kernel/1433166-sockopt_copyin.md)
- [sockopt_copyout](kernel/1433176-sockopt_copyout.md)
- [sockopt_direction](kernel/1433253-sockopt_direction.md)
- [sockopt_level](kernel/1433193-sockopt_level.md)
- [sockopt_name](kernel/1433249-sockopt_name.md)
- [sockopt_valsize](kernel/1433272-sockopt_valsize.md)
- [ifaddr_address](kernel/1525073-ifaddr_address.md)
- [ifaddr_address_family](kernel/1524915-ifaddr_address_family.md)
- [ifaddr_dstaddress](kernel/1525058-ifaddr_dstaddress.md)
- [ifaddr_findbestforaddr](kernel/1525009-ifaddr_findbestforaddr.md)
- [ifaddr_ifnet](kernel/1524949-ifaddr_ifnet.md)
- [ifaddr_netmask](kernel/1525132-ifaddr_netmask.md)
- [ifaddr_reference](kernel/1525060-ifaddr_reference.md)
- [ifaddr_release](kernel/1524928-ifaddr_release.md)
- [ifaddr_withaddr](kernel/1524859-ifaddr_withaddr.md)
- [ifaddr_withdstaddr](kernel/1525107-ifaddr_withdstaddr.md)
- [ifaddr_withnet](kernel/1524842-ifaddr_withnet.md)
- [ifaddr_withroute](kernel/1524963-ifaddr_withroute.md)
- [iflt_attach](kernel/1589956-iflt_attach.md)
- [iflt_detach](kernel/1589950-iflt_detach.md)
- [ifmaddr_address](kernel/1524853-ifmaddr_address.md)
- [ifmaddr_ifnet](kernel/1525101-ifmaddr_ifnet.md)
- [ifmaddr_lladdress](kernel/1525091-ifmaddr_lladdress.md)
- [ifmaddr_reference](kernel/1524890-ifmaddr_reference.md)
- [ifmaddr_release](kernel/1525024-ifmaddr_release.md)
- [ifnet_add_multicast](kernel/1524976-ifnet_add_multicast.md)
- [ifnet_addrlen](kernel/1524855-ifnet_addrlen.md)
- [ifnet_allocate](kernel/1525028-ifnet_allocate.md)
- [ifnet_attach](kernel/1524922-ifnet_attach.md)
- [ifnet_attach_protocol](kernel/1525004-ifnet_attach_protocol.md)
- [ifnet_attach_protocol_v2](kernel/1525131-ifnet_attach_protocol_v2.md)
- [ifnet_baudrate](kernel/1524866-ifnet_baudrate.md)
- [ifnet_capabilities_enabled](kernel/1525016-ifnet_capabilities_enabled.md)
- [ifnet_capabilities_supported](kernel/1524931-ifnet_capabilities_supported.md)
- [ifnet_detach](kernel/1524903-ifnet_detach.md)
- [ifnet_detach_protocol](kernel/1525007-ifnet_detach_protocol.md)
- [ifnet_event](kernel/1524986-ifnet_event.md)
- [ifnet_family](kernel/1524921-ifnet_family.md)
- [ifnet_find_by_name](kernel/1525072-ifnet_find_by_name.md)
- [ifnet_flags](kernel/1525111-ifnet_flags.md)
- [ifnet_free_address_list](kernel/1524991-ifnet_free_address_list.md)
- [ifnet_free_multicast_list](kernel/1524898-ifnet_free_multicast_list.md)
- [ifnet_get_address_list](kernel/1525146-ifnet_get_address_list.md)
- [ifnet_get_address_list_family](kernel/1525142-ifnet_get_address_list_family.md)
- [ifnet_get_link_mib_data](kernel/1524988-ifnet_get_link_mib_data.md)
- [ifnet_get_link_mib_data_length](kernel/1524864-ifnet_get_link_mib_data_length.md)
- [ifnet_get_multicast_list](kernel/1525020-ifnet_get_multicast_list.md)
- [ifnet_get_tso_mtu](kernel/1524965-ifnet_get_tso_mtu.md)
- [ifnet_get_wake_flags](kernel/1524907-ifnet_get_wake_flags.md)
- [ifnet_hdrlen](kernel/1524895-ifnet_hdrlen.md)
- [ifnet_index](kernel/1525041-ifnet_index.md)
- [ifnet_input](kernel/1525087-ifnet_input.md)
- [ifnet_interface_family_find](kernel/1524844-ifnet_interface_family_find.md)
- [ifnet_ioctl](kernel/1525082-ifnet_ioctl.md)
- [ifnet_lastchange](kernel/1525140-ifnet_lastchange.md)
- [ifnet_list_free](kernel/1524868-ifnet_list_free.md)
- [ifnet_list_get](kernel/1524913-ifnet_list_get.md)
- [ifnet_lladdr_copy_bytes](kernel/1525069-ifnet_lladdr_copy_bytes.md)
- [ifnet_llbroadcast_copy_bytes](kernel/1525030-ifnet_llbroadcast_copy_bytes.md)
- [ifnet_metric](kernel/1524964-ifnet_metric.md)
- [ifnet_mtu](kernel/1524959-ifnet_mtu.md)
- [ifnet_name](kernel/1524885-ifnet_name.md)
- [ifnet_offload](kernel/1524854-ifnet_offload.md)
- [ifnet_output](kernel/1525046-ifnet_output.md)
- [ifnet_output_raw](kernel/1525049-ifnet_output_raw.md)
- [ifnet_reference](kernel/1524857-ifnet_reference.md)
- [ifnet_release](kernel/1525052-ifnet_release.md)
- [ifnet_remove_multicast](kernel/1524982-ifnet_remove_multicast.md)
- [ifnet_resolve_multicast](kernel/1525080-ifnet_resolve_multicast.md)
- [ifnet_set_addrlen](kernel/1524861-ifnet_set_addrlen.md)
- [ifnet_set_baudrate](kernel/1525090-ifnet_set_baudrate.md)
- [ifnet_set_capabilities_enabled](kernel/1524938-ifnet_set_capabilities_enabled.md)
- [ifnet_set_capabilities_supported](kernel/1525144-ifnet_set_capabilities_supported.md)
- [ifnet_set_flags](kernel/1524996-ifnet_set_flags.md)
- [ifnet_set_hdrlen](kernel/1525097-ifnet_set_hdrlen.md)
- [ifnet_set_link_mib_data](kernel/1525120-ifnet_set_link_mib_data.md)
- [ifnet_set_lladdr](kernel/1524891-ifnet_set_lladdr.md)
- [ifnet_set_metric](kernel/1524932-ifnet_set_metric.md)
- [ifnet_set_mtu](kernel/1524919-ifnet_set_mtu.md)
- [ifnet_set_offload](kernel/1524961-ifnet_set_offload.md)
- [ifnet_set_stat](kernel/1524994-ifnet_set_stat.md)
- [ifnet_set_tso_mtu](kernel/1525098-ifnet_set_tso_mtu.md)
- [ifnet_set_wake_flags](kernel/1525070-ifnet_set_wake_flags.md)
- [ifnet_softc](kernel/1524952-ifnet_softc.md)
- [ifnet_stat](kernel/1525068-ifnet_stat.md)
- [ifnet_stat_increment](kernel/1525065-ifnet_stat_increment.md)
- [ifnet_stat_increment_in](kernel/1525002-ifnet_stat_increment_in.md)
- [ifnet_stat_increment_out](kernel/1525085-ifnet_stat_increment_out.md)
- [ifnet_touch_lastchange](kernel/1524957-ifnet_touch_lastchange.md)
- [ifnet_type](kernel/1524954-ifnet_type.md)
- [ifnet_unit](kernel/1525055-ifnet_unit.md)
