Linux以编程方式向上/向下接口内核

在内核空间中启用或禁用接口的编程方式是什么? 应该做什么?

Solutions Collecting From Web of "Linux以编程方式向上/向下接口内核"

…通过使用IOCTL的…

ioctl(skfd, SIOCSIFFLAGS, &ifr); 

… IFF_UP位设置或取消设置,取决于您是否要相应地使接口上或下,即:

 static int set_if_up(char *ifname, short flags) { return set_if_flags(ifname, flags | IFF_UP); } static int set_if_down(char *ifname, short flags) { return set_if_flags(ifname, flags & ~IFF_UP); } 

代码从Linux网络文档复制粘贴。

使eth0成为可能的代码:

 int sockfd; struct ifreq ifr; sockfd = socket(AF_INET, SOCK_DGRAM, 0); if (sockfd < 0) return; memset(&ifr, 0, sizeof ifr); strncpy(ifr.ifr_name, "eth0", IFNAMSIZ); ifr.ifr_flags |= IFF_UP; ioctl(sockfd, SIOCSIFFLAGS, &ifr);