ya se ha analizado, cuando se añade en la interfaz de puente, el espacio de usuario de la ioctl llamada (br_socket_fd, SIOCBRADDIF, &IFR) dev- y ya GT se señaló en el vacío br_dev_setup (net_device struct * dev); do_ioctl eran asignación, a saber: dev- > lleva a cabo cuando el acceso do_ioctl = br_dev_ioctl ioctl, el proceso pasa a br_dev_ioctl: (neto /brige /br_ioctl.c) int br_dev_ioctl (struct net_device * dev, struct ifreq * rq, int cmd) {net_bridge struct * br = netdev_priv (dev); conmutador (cmd) {case SIOCDEVPRIVATE: volver old_dev_ioctl (dev, rq, cmd); //añadir un SIOCBRADDIF caso interfaz: //eliminar un caso interfaz SIOCBRDELIF: add_del_if retorno (br, RQ- > ifr_ifindex, cmd == SIOCBRADDIF);} pr_debug (" puente no soporta ioctl 0x% x \\ n ", cmd); vuelven -EOPNOTSUPP;} signos que utilizamos en el espacio de usuario es SIOCBRADDIF. Por lo tanto, el flujo avanza add_del_if () static int add_del_if (struct net_bridge * ancho, int ifindex, int isadd)
{struct net_device * dev; int ret; si el retorno -EPERM (Capaz (CAP_NET_ADMIN)!); Dev = dev_get_by_index (ifindex), si (dev == NULL) de regreso -EINVAL; si (isadd) ret = br_add_if (br, dev); elseret = br_del_if (br, dev); dev_put (dev); ret retorno;} porque cmd = = SIOCBRADDIF es cierto, el br_add_if call (): int br_add_if (struct net_bridge * br, struct net_device * dev) (neto /brige /br_if.c)) {struct net_bridge_port * p; int err = 0; //bucle. O una interfaz de fuera de la red, y si (dev- > &banderas IFF_LOOPBACK
Demasiados archivos abiertos Los errores son fallas comunes en los sistemas Linux. Las soluciones se
Primero, lo que es haproxyHAProxy proporciona alta disponibilidad, equilibrio de carga y agentes ba
1. Instale Oracle VM virtualBox, estoy usando la versión 4.0. La dirección oficial de descarga est
Registre sus comandos habituales del sistema Linux, convenientes para una revisión posterior, descub
Comando dividido de división de archivos grandes de Linux
Cómo agregar Nginx al servicio del sistema
Cálculo del tiempo de shell de Linux y método de cálculo de diferencia de tiempo
Resolver problemas del sistema con precisión y hacer la gestión de registro de Linux
Montaje de editores de texto y dispositivos de almacenamiento externo en el sistema Linux
Cómo configurar el sistema Linux nat sistema acceso a Internet
Linux awk incorporó la introducción de variables
Linux eliminar archivo por lotes y archivo vacío eliminar comando
Dos formas de instalar el sistema SUSE Linux10 desde el disco duro
Escuela para principiantes: instale dos unidades de disco duro para el sistema operativo Linux
La configuración de permisos del modo de función mkdir de Linux
Cómo resolver el código de error 0X80246007 de la tienda de aplicaciones Win8.1
¿Cómo completar el cifrado de archivos en win7? VHD y BitLocker para ayudarlo
Cómo Win7 expande el tamaño de la pantalla de visualización El portátil
Consejos de uso del Administrador de recursos del sistema de Windows7
¿Puede Alipay transferir dinero de forma anónima? Método de transferencia anónima alipay
Solución de pantalla azul del sistema WinXP para la instalación de computadoras portátiles de Lenovo
Microsoft empujará $ 300 tableta Win8
Cómo verificar el tiempo de activación específico del sistema Ghost Win8
Flexibilidad de Flex7: Cinco formas de abrir "Mi PC"
Cómo instalar Win8.1 2005 Sistema tutorial gráfico que ejecuta SQL Server