當使用ifconfig命令向接口分配地址時, 要執行兩個任務。
首先,它通過 ioctl(SIOCSIFADDR)設置地址,然後通過通過 ioctl(SIOCSIFFLAGS)設置dev->flag 的 IFF_UP 位來打開接口。
對設備驅動而言,無需對ioctl(SIOCSIFADDR) 做任何工作,內核不會調用任何驅動程序函數,而後一個命令 ioctl(SIOCSIFFLAGS)會調用設備的open函數。
類似地,在接口關閉時,ifconfig使用ioctl(SIOCSIFFLAGS)來清除IFF_UP標誌,然後調用stop函數。
ifconfig進程會創建一個socket,上面的兩個ioctl調用所用的fd就是此socket。