Section: Manual del Programador de Linux (7)
Updated: 2 mayo 1999
Index Return to Main
Contents
netdevice - Acceso de bajo nivel a los dispositivos de red de Linux.
Esta página de manual describe la interfaz de conectores que se usa para configurar los dispositivos de red.
Linux soporta algunas ioctls estándares para configurar los dispositivos de red. Se pueden usar sobre cualquier descriptor de fichero de un conector sin tener en cuenta la familia o el tipo. Se pasa una estructura ifreq:
struct ifreq { char ifr_name[IFNAMSIZ]; /* Nombre de la interfaz */ union { struct sockaddr ifr_addr; struct sockaddr ifr_dstaddr; struct sockaddr ifr_broadaddr; struct sockaddr ifr_netmask; struct sockaddr ifr_hwaddr; short ifr_flags; int ifr_ifindex; int ifr_metric; int ifr_mtu; struct ifmap ifr_map; char ifr_slave[IFNAMSIZ]; char ifr_newname[IFNAMSIZ]; char * ifr_data; }; } struct ifconf { int ifc_len; /* tamaño del buffer */ union { char * ifc_buf; /* dirección del buffer */ struct ifreq *ifc_req;/* array de estructuras */ }; };
Normalmente, el usuario especifica a qué dispositivo va a afectar asignando a ifr_name el nombre de la interfaz. Todos los otros miembros de la estructura pueden compartir memoria.
Si se marca una ioctl como privilegiada entonces su uso requiere un identificador de usuario efectivo 0 o la capacidad CAP_NET_ADMIN. Si éste no es el caso se devuelve EPERM.
Significado de las banderas |
|
IFF_UP | La interfaz está funcionando. |
IFF_BROADCAST | Dirección de difusión válida asignada. |
IFF_DEBUG | Bandera de depuración interna. |
IFF_LOOPBACK | Ésta es una interfaz loopback. |
IFF_POINTOPOINT | La interfaz es un enlace punto a punto. |
IFF_RUNNING | Recursos necesarios reservados. |
IFF_NOARP | Sin protocolo ARP, la dirección de destino de Nivel 2 no está
configurada. |
IFF_PROMISC | La interfaz se encuentra en modo promiscuo. |
IFF_NOTRAILERS | Evitar el uso de terminadores. |
IFF_ALLMULTI | Recibir todos los paquetes multidestino. |
IFF_MASTER | Interfaz maestra de un grupo de balanceo de carga. |
IFF_SLAVE | Interfaz esclava de un grupo de balanceo de carga. |
IFF_MULTICAST | La interfaz soporta multidestino. |
IFF_PORTSEL | La interfaz es capaz de seleccionar el tipo de medio mediante
ifmap. |
IFF_AUTOMEDIA | Autoselección de medios activa. |
IFF_DYNAMIC | Las direcciones se pierden cuando la interfaz se
desactiva. |
La configuración de la palabra de banderas activas es una operación privilegiada pero cualquier proceso puede leerla.
struct ifmap { unsigned long mem_start; unsigned long mem_end; unsigned short base_addr; unsigned char irq; unsigned char dma; unsigned char port; };
La interpretación de la estructura ifmap depende del manejador del dispositivo y de la arquitectura.
La mayoría de los protocolos soportan sus propias ioctls para configurar las opciones de la interfaz específicas del protocolo. Vea las páginas de manual de los protocolos para una descripción más amplia. Para la configuración de direcciones IP, vea ip(7).
Además, algunos dispositivos soportan ioctls privadas. Éstas no se describen aquí.
Si lo vemos de forma estricta, SIOCGIFCONF es específica de IP y pertence a ip(7).
Los nombres de interfaces que no tiene dirección o que no tienen la opción IFF_RUNNING activa, se pueden encontrar a través de /proc/net/dev.
(7), proc(7)
This document was created by man2html, using
the manual pages.
Time: 06:16:29 GMT, January 22, 2005