Man page - netdevice(7)
Packages contains this manual
- shm_overview(7)
- nss(5)
- proc_mtrr(5)
- intro(7)
- tcp(7)
- iso_8859-9(7)
- armscii-8(7)
- proc_kpagecount(5)
- initrd(4)
- mouse(4)
- proc_stat(5)
- x25(7)
- proc_interrupts(5)
- fifo(7)
- repertoiremap(5)
- icmp(7)
- futex(7)
- feature_test_macros(7)
- lp(4)
- bpf-helpers(7)
- epoll(7)
- proc_sys_dev(5)
- namespaces(7)
- proc_sysrq-trigger(5)
- proc_bus(5)
- cp1251(7)
- proc_pid_maps(5)
- proc_sys_vm(5)
- proc_pid_projid_map(5)
- st(4)
- proc_pid(5)
- issue(5)
- pid_namespaces(7)
- unicode(7)
- inode(7)
- hosts.equiv(5)
- iso-8859-13(7)
- proc_fb(5)
- proc_modules(5)
- proc_pid_autogroup(5)
- keyrings(7)
- sysvipc(7)
- proc_kmsg(5)
- cgroups(7)
- latin6(7)
- proc_pid_uid_map(5)
- unix(7)
- proc_pid_io(5)
- pts(4)
- packet(7)
- ld-linux.so(8)
- tzselect(8)
- iconv(1)
- proc_pid_syscall(5)
- proc_pid_net(5)
- proc_pid_pagemap(5)
- tty(4)
- proc_profile(5)
- standards(7)
- proc_pid_mounts(5)
- filesystems(5)
- iso-8859-15(7)
- locale(5)
- iso_8859_3(7)
- xattr(7)
- iso-8859-2(7)
- proc_uptime(5)
- persistent-keyring(7)
- credentials(7)
- proc_pid_timers(5)
- utmpx(5)
- vcsa(4)
- proc_pid_exe(5)
- proc_net(5)
- proc_timer_stats(5)
- ip(7)
- proc_pid_fd(5)
- ptmx(4)
- user_namespaces(7)
- resolv.conf(5)
- url(7)
- iso_8859_5(7)
- iso_8859-8(7)
- urn(7)
- process-keyring(7)
- proc_pid_auxv(5)
- proc_ksyms(5)
- proc_ide(5)
- veth(4)
- ldd(1)
- proc_swaps(5)
- landlock(7)
- proc_vmstat(5)
- system_data_types(7)
- cp1252(7)
- lirc(4)
- proc_kpageflags(5)
- random(7)
- precedence(7)
- cpuset(7)
- proc_pid_ns(5)
- acct(5)
- latin4(7)
- proc_pid_cgroup(5)
- proc_cpuinfo(5)
- iso_8859-2(7)
- proc_keys(5)
- charsets(7)
- pldd(1)
- proc_pid_stat(5)
- rtnetlink(7)
- netlink(7)
- ram(4)
- mem(4)
- iso-8859-6(7)
- proc_key-users(5)
- iso_8859_15(7)
- fanotify(7)
- proc_sys_net(5)
- sysfs(5)
- math_error(7)
- latin1(7)
- proc_pid_root(5)
- nptl(7)
- proc_cgroups(5)
- proc_iomem(5)
- proc_pid_statm(5)
- sem_overview(7)
- hier(7)
- full(4)
- proc_pid_status(5)
- proc_pid_cwd(5)
- proc_pid_cpuset(5)
- proc_scsi(5)
- uri(7)
- proc_diskstats(5)
- iso_8859_6(7)
- latin2(7)
- latin5(7)
- man-pages(7)
- ld.so(8)
- uts_namespaces(7)
- proc_pid_mountstats(5)
- intro(3)
- proc_pid_seccomp(5)
- proc_pid_wchan(5)
- attributes(7)
- symlink(7)
- mount_namespaces(7)
- charmap(5)
- tis-620(7)
- iso-8859-10(7)
- getent(1)
- proc_buddyinfo(5)
- ttytype(5)
- rtc(4)
- proc_malloc(5)
- suffixes(7)
- sln(8)
- signal(7)
- proc_sys_abi(5)
- signal-safety(7)
- time_namespaces(7)
- proc_pid_comm(5)
- raw(7)
- gai.conf(5)
- proc_crypto(5)
- locale(1)
- iso-8859-3(7)
- motd(5)
- proc_meminfo(5)
- iso-8859-8(7)
- protocols(5)
- proc_pid_map_files(5)
- pthreads(7)
- null(4)
- proc(5)
- zdump(8)
- socket(7)
- proc_sys_kernel(5)
- ddp(7)
- memusagestat(1)
- hd(4)
- iso-8859-14(7)
- shells(5)
- pipe(7)
- glob(7)
- proc_self(5)
- network_namespaces(7)
- utmp(5)
- proc_kcore(5)
- nsswitch.conf(5)
- sd(4)
- iso-8859-5(7)
- iso_8859_16(7)
- man(7)
- iso_8859-6(7)
- dir_colors(5)
- mq_overview(7)
- vsock(7)
- ascii(7)
- thread-keyring(7)
- fs(5)
- proc_pid_attr(5)
- proc_sys_debug(5)
- proc_sys(5)
- proc_pid_cmdline(5)
- pty(7)
- services(5)
- cgroup_namespaces(7)
- securetty(5)
- netdevice(7)
- iso_8859_13(7)
- host.conf(5)
- proc_pid_setgroups(5)
- proc_slabinfo(5)
- sock_diag(7)
- iso_8859-14(7)
- iso-8859-11(7)
- iso_8859_11(7)
- operator(7)
- regex(7)
- wavelan(4)
- proc_sys_fs(5)
- nologin(5)
- proc_pci(5)
- koi8-r(7)
- erofs(5)
- intro(2)
- utf8(7)
- proc_kallsyms(5)
- proc_sysvipc(5)
- queue(7)
- proc_sys_sunrpc(5)
- intro(5)
- latin8(7)
- mtrace(1)
- ipc_namespaces(7)
- dsp56k(4)
- iso_8859_4(7)
- proc_pid_smaps(5)
- proc_cmdline(5)
- rpc(5)
- proc_tty(5)
- proc_version(5)
- smartpqi(4)
- proc_pid_timerslack_ns(5)
- aio(7)
- session-keyring(7)
- resolver(5)
- slabinfo(5)
- wtmp(5)
- iso_8859_9(7)
- proc_locks(5)
- mailaddr(7)
- proc_pid_oom_score(5)
- kmem(4)
- iconvconfig(8)
- iso_8859-7(7)
- glibc(7)
- hostname(7)
- proc_thread-self(5)
- ipv6(7)
- iso_8859_7(7)
- proc_kpagecgroup(5)
- core(5)
- time(7)
- units(7)
- proc_dma(5)
- loop(4)
- address_families(7)
- zero(4)
- intro(4)
- procfs(5)
- iso_8859-4(7)
- vdso(7)
- tmpfs(5)
- iso-8859-16(7)
- iso_8859_10(7)
- user-session-keyring(7)
- libc(7)
- proc_fs(5)
- koi8-u(7)
- latin3(7)
- proc_tid_children(5)
- proc_pid_limits(5)
- proc_pid_coredump_filter(5)
- iso_8859-15(7)
- arp(7)
- urandom(4)
- iso_8859-10(7)
- hpsa(4)
- proc_pid_environ(5)
- boot(7)
- ftm(7)
- ld-linux(8)
- proc_driver(5)
- loop-control(4)
- iso_8859-16(7)
- proc_filesystems(5)
- tzfile(5)
- sprof(1)
- proc_pid_task(5)
- proc_pid_oom_score_adj(5)
- proc_mounts(5)
- iso-8859-4(7)
- iso_8859-1(7)
- utf-8(7)
- iso_8859-13(7)
- intro(6)
- proc_timer_list(5)
- rtld-audit(7)
- iso_8859-3(7)
- group(5)
- sched(7)
- proc_pid_clear_refs(5)
- hosts(5)
- iso_8859-11(7)
- numa(7)
- iso_8859_2(7)
- locale(7)
- iso-8859-1(7)
- fuse(4)
- proc_tid(5)
- proc_execdomains(5)
- proc_pid_mountinfo(5)
- intro(8)
- iso_8859_8(7)
- proc_loadavg(5)
- proc_pid_oom_adj(5)
- re_format(7)
- iso_8859_14(7)
- zic(8)
- bootparam(7)
- inotify(7)
- posixoptions(7)
- proc_partitions(5)
- iso-8859-9(7)
- proc_pid_mem(5)
- networks(5)
- proc_sys_user(5)
- udp(7)
- proc_zoneinfo(5)
- latin10(7)
- proc_pid_fdinfo(5)
- proc_pid_stack(5)
- memusage(1)
- spufs(7)
- pkeys(7)
- path_resolution(7)
- proc_ioports(5)
- intro(1)
- ldconfig(8)
- msr(4)
- svipc(7)
- port(4)
- proc_pid_personality(5)
- cciss(4)
- latin9(7)
- capabilities(7)
- localedef(1)
- vcs(4)
- iso_8859-5(7)
- elf(5)
- proc_sys_proc(5)
- console_codes(4)
- random(4)
- iso-8859-7(7)
- termcap(5)
- cpuid(4)
- environ(7)
- string_copying(7)
- proc_pid_gid_map(5)
- queue(3)
- termio(7)
- user-keyring(7)
- complex(7)
- latin7(7)
- proc_config.gz(5)
- udplite(7)
- kernel_lockdown(7)
- proc_devices(5)
- proc_apm(5)
- iso_8859_1(7)
- proc_pid_numa_maps(5)
apt-get install manpages
Available languages:
en fr es ja zh_TW zh_CNManual
netdevice
NOMSYNOPSIS
DESCRIPTION
Ioctls
NOTES
BOGUES
VOIR AUSSI
TRADUCTION
NOM
netdevice â AccĂšs bas niveau aux pĂ©riphĂ©riques rĂ©seau sous Linux
SYNOPSIS
#include
<sys/ioctl.h>
#include <net/if.h>
DESCRIPTION
Cette page de manuel dĂ©crit lâinterface des sockets permettant de configurer les pĂ©riphĂ©riques rĂ©seau.
Linux prend en charge certains ioctls standard pour configurer les pĂ©riphĂ©riques rĂ©seau. Il servent sur nâimporte quel descripteur de socket, quelle quâen soit la famille ou le type. La plupart passent une structure ifreq :
struct ifreq {
char ifr_name[IFNAMSIZ]; /* Nom 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;
};
};
AF_INET6 est une exception. Il passe une structure in6_ifreq :
struct
in6_ifreq {
struct in6_addr ifr6_addr;
u32 ifr6_prefixlen;
int ifr6_ifindex; /* Interface index */
};
Normalement, lâutilisateur indique le pĂ©riphĂ©rique concernĂ© en rĂ©glant ifr_name comme nom de lâinterface ou ifr6_ifindex comme indice de lâinterface. Tous les autres membres de la structure peuvent partager la mĂ©moire.
Ioctls
Si un ioctl est
indiqué comme privilégié, alors il
nécessite un UID effectif valant zéro ou la
capacité
CAP_NET_ADMIN
. Sinon, il renverra
lâerreur
EPERM
.
SIOCGIFNAME
Si ifr_ifindex est indiquĂ©, renvoyer le nom de lâinterface dans ifr_name . Câest le seul ioctl qui renvoie son rĂ©sultat dans ifr_name .
SIOCGIFINDEX
Retrouver lâindice dâinterface de lâinterface dans ifr_ifindex .
SIOCGIFFLAGS
SIOCSIFFLAGS
Obtenir ou dĂ©finir le mot dâindicateur en cours du pĂ©riphĂ©rique. ifr_flags contient un masque de bits des valeurs suivantes :
Définir
le mot dâindicateur actif est une opĂ©ration
privilégiée, mais tout processus peut le lire.
SIOCGIFPFLAGS
SIOCSIFPFLAGS
Obtenir ou définir les indicateurs (privés) étendus du périphérique. ifr_flags est un masque de bits des valeurs suivantes :
Définir
les indicateurs (privés) étendus du
périphérique est une opération
privilégiée.
SIOCGIFADDR
SIOCSIFADDR
SIOCDIFADDR
Obtenir, dĂ©finir ou supprimer lâadresse du pĂ©riphĂ©rique en utilisant ifr_addr ou ifr6_addr avec ifr6_prefixlen . DĂ©finir ou supprimer lâadresse dâinterface est une opĂ©ration privilĂ©giĂ©e. Pour la compatibilitĂ©, SIOCGIFADDR renvoie seulement les adresses AF_INET , SIOCSIFADDR accepte les adresses AF_INET et AF_INET6 et SIOCDIFADDR supprime seulement les adresses AF_INET6 . Une adresse AF_INET peut ĂȘtre supprimĂ©e en la dĂ©finissant Ă zĂ©ro Ă lâaide de SIOCSIFADDR .
SIOCGIFDSTADDR
SIOCSIFDSTADDR
Obtenir ou dĂ©finir lâadresse de destination dâun pĂ©riphĂ©rique point Ă point en utilisant ifr_dstaddr . Pour assurer la compatibilitĂ©, seules les adresses AF_INET sont acceptĂ©es ou renvoyĂ©es. DĂ©finir lâadresse de destination est une opĂ©ration privilĂ©giĂ©e.
SIOCGIFBRDADDR
SIOCSIFBRDADDR
Obtenir ou dĂ©finir lâadresse de broadcast pour un pĂ©riphĂ©rique en utilisant ifr_brdaddr . Pour assurer la compatibilitĂ©, seules les adresses AF_INET sont acceptĂ©es ou renvoyĂ©es. DĂ©finir lâadresse de broadcast est une opĂ©ration privilĂ©giĂ©e.
SIOCGIFNETMASK
SIOCSIFNETMASK
Obtenir ou définir le masque réseau pour un périphérique en utilisant ifr_netmask . Pour assurer la compatibilité, seules les adresses AF_INET sont acceptées ou renvoyées. Définir le masque réseau est une opération privilégiée.
SIOCGIFMETRIC
SIOCSIFMETRIC
Obtenir ou dĂ©finir la mĂ©trique du pĂ©riphĂ©rique en utilisant ifr_metric . Cela nâest pas encore implĂ©mentĂ©. Il dĂ©finit ifr_metric Ă la valeur 0 en cas de tentative de lecture, et renvoie lâerreur EOPNOTSUPP en cas de tentative de dĂ©finition.
SIOCGIFMTU
SIOCSIFMTU
Obtenir ou définir le MTU (Maximum Transfer Unit) du périphérique avec ifr_mtu . Définir le MTU est une opération privilégiée. Définir un MTU trop petit peut faire planter le noyau.
SIOCGIFHWADDR
SIOCSIFHWADDR
Obtenir ou dĂ©finir lâadresse matĂ©rielle du pĂ©riphĂ©rique en utilisant ifr_hwaddr . Cette adresse matĂ©rielle est indiquĂ©e dans une structure sockaddr . sa_family contient le type de pĂ©riphĂ©rique ARPHRD_*, sa_data est lâadresse matĂ©rielle L2 commençant par lâoctet 0. DĂ©finir lâadresse matĂ©rielle est une opĂ©ration privilĂ©giĂ©e.
SIOCSIFHWBROADCAST
DĂ©finir lâadresse de broadcast du pĂ©riphĂ©rique Ă partir de ifr_hwaddr . Câest une opĂ©ration privilĂ©giĂ©e.
SIOCGIFMAP
SIOCSIFMAP
Obtenir ou dĂ©finir les paramĂštres matĂ©riels de lâinterface en utilisant ifr_map . DĂ©finir ces paramĂštres est une opĂ©ration privilĂ©giĂ©e.
struct ifmap {
unsigned long mem_start;
unsigned long mem_end;
unsigned short base_addr;
unsigned char irq;
unsigned char dma;
unsigned char port;
};
LâinterprĂ©tation de la structure ifmap dĂ©pend du pilote de pĂ©riphĂ©rique et de lâarchitecture.
SIOCADDMULTI
SIOCDELMULTI
Ajouter ou supprimer une adresse des filtres multicast du niveau liaison du périphérique en utilisant ifr_hwaddr . Ce sont des opérations privilégiées. Consultez aussi packet (7) pour une autre possibilité.
SIOCGIFTXQLEN
SIOCSIFTXQLEN
Obtenir ou dĂ©finir la taille de la file dâattente de transmission du pĂ©riphĂ©rique avec ifr_qlen . La dĂ©finition de la taille de la file est une opĂ©ration privilĂ©giĂ©e.
SIOCSIFNAME
Changer le nom de lâinterface indiquĂ©e dans ifr_name pour ifr_newname . Câest une opĂ©ration privilĂ©giĂ©e. Elle nâest possible que si lâinterface nâest pas en fonctionnement.
SIOCGIFCONF
Renvoyer une liste dâadresses (couche de transport) des interfaces. Cela ne fonctionne actuellement quâavec les adresses AF_INET (IPv4) pour des raisons de compatibilitĂ©. Contrairement aux autres, cet ioctl passe une structure ifconf :
struct ifconf {
int ifc_len; /* Taille du tampon */
union {
char *ifc_buf; /* Adresse du tampon */
struct ifreq *ifc_req; /* Tableau des structures */
};
};
Si ifc_req est NULL, SIOCGIFCONF renvoie la taille de tampon nĂ©cessaire en octet pour recevoir toutes les adresses disponibles dans ifc_len . Sinon, ifc_req contient un pointeur vers un tableau de structures ifreq Ă remplir avec toutes les adresses dâinterfaces L3 actuellement actives. ifc_len contient la taille du tableau en octet. Dans toutes les structures ifreq , ifr_name recevra le nom dâinterface et ifr_addr lâadresse. Le nombre dâoctets vraiment transfĂ©rĂ©s est renvoyĂ© dans ifc_len .
Si la taille indiquĂ©e par ifc_len nâest pas suffisante pour stocker toutes les adresses, le noyau ignorera celles en trop et renverra un Ă©tat de rĂ©ussite. Si cela arrive, aucun moyen fiable nâexiste pour dĂ©tecter cette condition. Vous devriez donc soit dĂ©terminer la taille de tampon nĂ©cessaire au prĂ©alable en appelant SIOCGIFCONF avec ifc_req dĂ©fini Ă NULL, soit rĂ©essayer lâappel avec un plus gros tampon si la diffĂ©rence entre la valeur de retour ifc_len et sa valeur initiale est supĂ©rieure Ă sizeof(struct ifreq) .
En cas dâerreur dâaccĂšs aux structures ifconf ou ifreq , EFAULT sera renvoyĂ©.
La plupart des protocoles prennent en charge leurs propres ioctls pour configurer les options dâinterface spĂ©cifiques aux protocoles. Consultez les pages de manuel correspondantes. Pour configurer les adresses IP, consultez ip (7).
De plus, certains périphériques prennent en charge des ioctls privés, non décrits ici.
NOTES
SIOCGIFCONF et les autres ioctls qui nâacceptent ou ne renvoient que des adresses de socket AF_INET sont spĂ©cifiques Ă IP et devraient plutĂŽt ĂȘtre documentĂ©s dans ip (7).
Les noms des interfaces sans adresse, ou celles qui nâont pas lâindicateur IFF_RUNNING dĂ©fini peuvent ĂȘtre trouvĂ©s dans /proc/net/dev .
Les adresses AF_INET6 IPv6 peuvent ĂȘtre trouvĂ©es dans /proc/net/if_inet6 ou Ă lâaide de rtnetlink (7). Lâajout dâune nouvelle adresse IPv6 ou la suppression dâune existante peut ĂȘtre rĂ©alisĂ© Ă lâaide de SIOCSIFADDR et SIOCDIFADDR ou Ă lâaide de rtnetlink (7). La rĂ©cupĂ©ration ou la modification dâune adresse IPv6 dâune interface point Ă point est possible seulement Ă lâaide de rtnetlink (7).
BOGUES
Dans la glibc 2.1, il manque la macro ifr_newname dans <net/if.h> . Comme solution, ajoutez les lignes suivantes dans votre programme :
#ifndef
ifr_newname
#define ifr_newname ifr_ifru.ifru_slave
#endif
VOIR AUSSI
proc (5), capabilities (7), ip (7), rtnetlink (7)
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>
Cette traduction est une documentation libre ; veuillez vous reporter Ă la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il nây a aucune RESPONSABILITĂ LĂGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .