File: netdevice.7

package info (click to toggle)
manpages-pt 20040726-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,988 kB
  • sloc: sh: 45; makefile: 16
file content (253 lines) | stat: -rw-r--r-- 6,975 bytes parent folder | download | duplicates (6)
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