自己動手寫了創建虛擬接口,刪除虛擬接口程序,頻繁調用創建刪除時,有時將接口up起來時會報錯:
Name not unique on network
利用ip link命令來查看接口(及其對應的索引)
可以查看到與其他接口不同的是有個標志為 NO-CARRIER,不知道是什么意思,查看ip的源代碼(此處為 iproute2-3.15.0)
當打印接口信息時(函數print_link_flags中)有如下代碼:
fprintf(fp, "<");
if (flags & IFF_UP && !(flags & IFF_RUNNING))
fprintf(fp, "NO-CARRIER%s", flags ? "," : "");
flags &= ~IFF_RUNNING;
可見是由於接口標志IFF_RUNNING導致。