1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253
|
.\" -*- nroff -*-
.\" No altere a primeira linha, ela diz ao man que tbl necessrio.
.\"Esta pgina man tem Copyright (C) 1999 Andi Kleen <ak@muc.de>.
.\" Permisso dada para a distribuio de possveis cpias modificadas
.\" of this page provided the header is included verbatim,
.\" e em caso de modificaes no-triviais, o autor e a data
.\" da modificao so acrescentados ao cabealho.
.\" $Id: netdevice.7,v 1.1 2000/10/20 13:05:11 ricardo Exp $
.TH NETDEVICE 7 "2/05/1999" "Pgina de Manual do Linux" "Manual do Programador Linux"
.SH NOME
netdevice \- Acesso de baixo nvel a dispositivos de rede Linux.
.SH SINOPSE
.B "#include <sys/ioctl.h>
.B "#include <net/if.h>"
.SH DESCRIO
Esta man page descreve a interface de sockets que usada para
configurar dispositivos de rede.
O Linux suporta alguns ioctls padronizados para configurar dispositivos de
rede. Eles podem ser usados em qualquer descritor de arquivos de socket,
independente da famlia ou tipo. Eles passam uma estrutura
.B ifreq
:
.nf
.ta 4 20 42
struct ifreq
{
char ifr_name[IFNAMSIZ]; /* Nome da interface */
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; /* size of buffer */
union {
char * ifc_buf; /* buffer address */
struct ifreq *ifc_req; /* array of structures */
};
};
.ta
.fi
Normalmente, o usurio especifica qual dispositivo ser afetado pela seleo
.B ifr_name
to the name of the interface. Todos os outros membros da estrutura podem
compartilhar memria.
.SH IOCTLS
Se um ioctl marcado como privilegiado, ento o seu uso requer um id efetivo
de usurio, ou a propriedade
.B CAP_NET_ADMIN.
Se este no o caso,
.B EPERM
ser retornado.
.TP
.B SIOCGIFNAME
Dado o
.BR ifr_ifindex ,
returna o nome da interface em
.BR ifr_name .
Este o nico ioctl que retorna seu resultado em
.BR ifr_name .
.TP
.B SIOCGIFINDEX
Recupera o ndice da interface para
.BR ifr_ifindex .
.TP
.BR SIOCGIFFLAGS ", " SIOCSIFFLAGS
Recebe ou seta a palavra de flag ativa do dispositivo.
.B ifr_flags
contm uma mscara de bits com os seguintes valores:
.TS
tab(:);
c s
l l.
Sinalizadores do dispositivo
IFF_UP:Interface est rodando.
IFF_BROADCAST:Conjunto de endereo de broadcast vlido.
IFF_DEBUG:Flag de debugging interno.
IFF_LOOPBACK:Interface uma interface do tipo loopback.
IFF_POINTOPOINT:Interface um link do tipo ponto-a-ponto.
IFF_RUNNING:Recursos alocados.
IFF_NOARP:Nenhum protocolo arp.
IFF_PROMISC:Interface est em modo promscuo.
IFF_NOTRAILERS:Evita uso de trailers.
IFF_ALLMULTI:Recebe todos os pacotes multicast.
IFF_MASTER:Mestre de um load balancing bundle.
IFF_SLAVE:Escravo de um load balancing bundle.
IFF_MULTICAST:Suporta multicast
IFF_PORTSEL: capaz de selecionar tipo de meio via ifmap.
IFF_AUTOMEDIA:Auto-seleo ativa de meio.
IFF_DYNAMIC:T{
Os endereos so perdidos quando a interface fechada.
T}
.TE
Ajustar a palavra de flag ativa uma operao privilegiada, mas
qualquer processo pode l-la.
.TP
.BR SIOCGIFMETRIC ", " SIOCSIFMETRIC
Recebe ou seta a mtrica do dispositivo usando
.BR ifr_metric .
Isto no est implementado atualmente; ele seta
.B ifr_metric
em 0 se voc tenta l-lo e retorna
.B EOPNOTSUPP
se voc tenta set-lo.
.TP
.BR SIOCGIFMTU ", " SIOCSIFMTU
Recebe ou seta o MTU (Maximum Transfer Unit - Unidade Mxima de Transferncia) de um dispositivo, usando
.BR ifr_mtu .
Setar o MTU uma operao privilegiada. Selecionando a MTU para
valores baixos pode-se provocar erros no kernel.
.TP
.BR SIOCGIFHWADDR ", " SIOCSIFHWADDR
Recebe ou seta o endereo de hardware de um dispositivo, usando
.BR ifr_hwaddr .
Setar o endereo de hardware uma operao privilegiada.
.TP
.B SIOCSIFHWBROADCAST
Seta o endereo de hardware de broadcast de um dispositivo, de
.BR ifr_hwaddr .
Esta uma operao privilegiada.
.TP
.BR SIOCGIFMAP ", " SIOCSIFMAP
Recebe ou seta os parmetros de hardware da interface usando
.BR ifr_map .
Setar os parmetros uma operao privilegiada.
.nf
.ta 4 20 42
struct ifmap
{
unsigned long mem_start;
unsigned long mem_end;
unsigned short base_addr;
unsigned char irq;
unsigned char dma;
unsigned char port;
};
.ta
.fi
A interpretao de uma estrutura ifmap depende do driver de dispositivo e da
arquitetura.
.TP
.BR SIOCADDMULTI ", " SIOCDELMULTI
Acrescenta ou apaga um endereo dos filtros de multicast da camada de link
do dispositivo, usando
.BR ifr_hwaddr .
Estas so operaes privilegiadas.
Veja tambm
.BR packet (7)
para uma alternativa.
.TP
.BR SIOCGIFTXQLEN ", " SIOCSIFTXQLEN
Recebe ou seta o comprimento da fila de transmisso de um dispositivo, usando
.BR ifr_qlen .
Setar o comprimento da fila de transmisso uma operao privilegiada.
.TP
.B SIOCSIFNAME
Muda o nome da interface especificada em
.BR ifr_ifindex
para
.BR ifr_newname .
Esta uma operao privilegiada.
.TP
.B SIOCGIFCONF
Devolve uma listagem de endereos de interfaces (camada de transporte). Isto, atualmente,
significa somente endereos da famlia AF_INET para compatibilidade.
O usurios transmite uma estrutura
.B ifconf
como argumento para ioctl. Ele contm um ponteiro para uma array de estruturas
.I ifreq
dentro de
.B ifc_req
e o seu tamanho em bytes
.B ifc_len.
O kernel enche as ifreqs com todos os atuais endereos L3 que
esto sendo executados:
.I ifr_name
contm o nome da interface (eth0:1 etc.),
.I ifr_addr
o endereo.
O kernel retorno o tamanho atual dentro do
.I ifc_len;
se ele igual ao tamanho original o usurio deve assumir que houve estouro
e tenta novamente com um buffer maior. Quando no ocorrem erros d ioctl devolve 0;
de outro modo -1. Estouro no erro.
\" XXX Slaving isn't supported in 2.2
.\" .TP
.\" .BR SIOCGIFSLAVE ", " SIOCSIFSLAVE
.\" Get or set the slave device using
.\" .BR ifr_slave .
.\" Setting the slave device is a privileged operation.
.PP
.\" XXX acrescenta material para rdioamadores.
.PP
Muitos protocolos suportam seus prprios ioctls para configurar opes de
interface especficas do protocolo. Veja as pginas de manual de protocolos para uma descrio.
Para configurao de endereos IP veja
.BR ip (7).
.PP
Alm disso, alguns dispositivos suportam ioctls privados. Estes no so descritos aqui.
.SH NOTAS
Vendo estritamente
.B SIOCGIFCONF
especfico o IP e faz parte do
.BR ip (7).
.SH NOTAS
Os nomes das interfaces sem endereos ou que no tem um sinalizador
.B IFF_RUNNING
selecionado pode ser localizado atravs de
.I /proc/net/dev.
.SH "VEJA TAMBM"
.BR ip "(7), " proc "(7)"
.SH TRADUZIDO POR LDP-BR em 21/08/2000.
\&\fr\&\f(CWRubens de Jesus Nogueira <darkseid99@usa.net> (traduo)\fR
\&\fR\&\f(CWAndr L. Fassone Canova <lonelywolf@blv.com.br> (reviso\fR
|