私のアプリはタップ インターフェイスを作成し、すべてがうまく機能します。しかし、FreeBSD では、終了時にタップ インターフェイスが残ります。削除するには、次のコマンドを手動で実行する必要があります。
sudo ifconfig tap0 destroy
しかし、アプリケーション内でこれをプログラムで実行したいと考えています。SIOCIFDESTROY のドキュメントはどこにありますか? アプリが終了したときに試したことは次のとおりです。
struct ifreq ifr;
memset(&ifr, '\0', sizeof(ifr));
strcpy(ifr.ifr_name, "tap0");
int sock = socket(PF_INET, SOCK_STREAM, 0);
err = ioctl(sock, SIOCIFDESTROY, &ifr);
この時点で err はゼロですが、アプリが終了してもタップ インターフェイスは存在します。他に何が欠けているか知っている人はいますか?