Linux par programme haut/bas une interface noyau Quelle est la manière programmatique de l'activation ou de la désactivation d'une interface dans l'espace du noyau? Ce qui devrait être fait? Ce type d'interface, et à l'aide de ce langage? En fait je n'ai pas mentionné, mais il sera en C et l'epf de types. OriginalL'auteur whoi | 2011-05-02 clinuxlinux-kernelnetwork-programming 13 ...en utilisant IOCTL... ioctl(skfd, SIOCSIFFLAGS, &ifr); ... avec le IFF_UP ensemble de bits ou désactiver selon que vous souhaitez apporter de l'interface vers le haut ou vers le bas en conséquence, c'est à dire: 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); } De Code à copier-collé à partir d' Les réseaux Linux documentation. OriginalL'auteur Andrejs Cainikovs 10 Le Code pour afficher 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); OriginalL'auteur Tarc 0 int skfd = -1; /* AF_INET socket for ioctl() calls.*/ int set_if_flags(char *ifname, short flags) { struct ifreq ifr; int res = 0; ifr.ifr_flags = flags; strncpy(ifr.ifr_name, ifname, IFNAMSIZ); if ((skfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { printf("socket error %s\n", strerror(errno)); res = 1; goto out; } res = ioctl(skfd, SIOCSIFFLAGS, &ifr); if (res < 0) { printf("Interface '%s': Error: SIOCSIFFLAGS failed: %s\n", ifname, strerror(errno)); } else { printf("Interface '%s': flags set to %04X.\n", ifname, flags); } out: return res; } int set_if_up(char *ifname, short flags) { return set_if_flags(ifname, flags | IFF_UP); } utilisation : set_if_up("eth0", 1); OriginalL'auteur Mahdi Mohammadi Vous devez vous connecter pour publier un commentaire.
...en utilisant IOCTL...
... avec le IFF_UP ensemble de bits ou désactiver selon que vous souhaitez apporter de l'interface vers le haut ou vers le bas en conséquence, c'est à dire:
De Code à copier-collé à partir d' Les réseaux Linux documentation.
OriginalL'auteur Andrejs Cainikovs
Le Code pour afficher eth0:
OriginalL'auteur Tarc
utilisation :
OriginalL'auteur Mahdi Mohammadi