---
title: performCommand
framework: kernel
role: pseudoSymbol
path: kernel/ioethernetinterface/1810736-performcommand
---

# performCommand

Handles an ioctl command sent to the Ethernet interface.

## Declaration

```occ
virtual SInt32 performCommand(
 IONetworkController *controller, 
 unsigned longcmd, 
 void *arg0, 
 void *arg1); 
```

## Parameters

- `controller`: The controller object.
- `cmd`: The ioctl command code.
- `arg0`: Command argument 0. Generally a pointer to an ifnet structure associated with the interface.
- `arg1`: Command argument 1.

## Return Value

Return Value Returns a BSD return value defined in bsd/sys/errno.h.

## Overview

Overview This method handles socket ioctl commands sent to the Ethernet interface from DLIL. Commands recognized and processed by this method are SIOCSIFADDR, SIOCSIFFLAGS, SIOCADDMULTI, and SIOCDELMULTI. Other commands are passed to the superclass.

## See Also

### Miscellaneous

- [controllerDidChangePowerState](kernel/ioethernetinterface/1810626-controllerdidchangepowerstate.md)
- [controllerDidOpen](kernel/ioethernetinterface/1810636-controllerdidopen.md)
- [controllerWillChangePowerState](kernel/ioethernetinterface/1810670-controllerwillchangepowerstate.md)
- [controllerWillClose](kernel/ioethernetinterface/1810684-controllerwillclose.md)
- [free](kernel/ioethernetinterface/1810696-free.md)
- [getNamePrefix](kernel/ioethernetinterface/1810711-getnameprefix.md)
- [init](kernel/ioethernetinterface/1810722-init.md)
