Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
[Actualités]
Les Technos #469 : Un jour sans fin
[Actualités]
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des perfor...
[Actualités]
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
[Actualités]
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 ser...
[Actualités]
Windows 10 version 22H2 : erreur de mise à jour et de désinstallation
[Actualités]
OpenAI prépare désormais son propre navigateur
[Actualités]
WhatsApp bat Telegram : les transcriptions des messages vocaux arrivent pour tou...
[Actualités]
Unreal et Unreal Tournament désormais gratuits sur Internet Archive
[Actualités]
Windows 10 : Microsoft affiche des publicités en plein écran pour les PC équi...
[Articles]
Dungeons 4 - Nintendo Switch Edition
[Articles]
The Bridge Curse 2 : The Extrication
[Articles]
Farmagia
[Articles]
I*CHU: Chibi Edition
[Articles]
Farming Simulator 25
[Articles]
Goblin Slayer -Another Adventurer- Nightmare Feast
[Articles]
Deel lance des programmes en marque blanche et pour les revendeurs pour plus de ...
[Articles]
ESET Research : WolfsBane, nouvelle porte dérobée de cyber-espionnage Linux cr...
[Articles]
Devoteam présente son nouveau plan stratégique « AMPLIFY » avec un fort acce...
[Articles]
LEGO Horizon Adventures
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Interviews
Derniers commentaires
Jeux Vidéos
XBox One
XBox 360
Wii U
PSP
PS4
PS3
PC
DS
GameCube
3DS
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] rtnetlink, NETLINK_ROUTE - Socket de routage Linux IPv4. [size=18] [b]Résumé[/b] [/size] [b]#include
[/b] [b][/b] [b]#include
[/b] [b][/b] [b]#include
[/b] [b][/b] [b]#include
[/b] [b][i]rtnetlink_socket = socket(PF_NETLINK, int socket_type , NETLINK_ROUTE);[/i][/b] [size=18] [b]Description[/b] [/size] Rtnetlink permet de lire et modifier les tables de routage du noyau. Cela permet des communications entre divers sous-systèmes du noyau, bien que cette utilisation en soit pas documentée ici, et pour les communications avec les programmes de l'espace utilisateur. Les routes réseau, les adresses IP, les paramètres de liaison, la configuration du voisinage, les files, les classes de trafic et les classes de paquets peuvent être configurés par le biais des sockets [b]NETLINK_ROUTE .[/b] Elles sont basées sur des messages netlink, voir [b]netlink (7)[/b] pour plus d'informations. [size=18] [b]Attributs de routage[/b] [/size] Certains messages netlink ont des attributs supplémentaires après l'en-tête initial : .nf .ta 4 19 32 struct rtattr { unsigned short rta_len; /* Longueur option */ unsigned short rta_type; /* Type d'option */ /* Les données suivent... */ }; .fi Ces attributs ne doivent être manipulés qu'en utilisant les macros RTA_* ou libnetlink, voir [b]rtnetlink (3).[/b] [size=18] [b]Messages[/b] [/size] Rtnetlink est constitué de trois types de messages (en plus des messages netlink standards) : [b]RTM_NEWLINK , RTM_DELLINK , RTM_GETLINK[/b] [table][row][col] [/col][col]Créer, supprimer, ou obtenir des informations à propos d'une interface réseau spécifique. Ces messages contiennent une structure [b]ifinfomsg[/b] suivie d'une série de structures [b]rtattr .[/b] .nf .ta 4 19 32 struct ifinfomsg { unsigned char ifi_family; /* AF_UNSPEC */ unsigned short ifi_type; /* Type périphérique */ int ifi_index; /* Index Interface */ unsigned int ifi_flags; /* Attributs périph. */ unsigned int ifi_change; /* Masque modificat° */ }; .fi [b]ifi_flags [/b] contient les attributs du périphérique, voir [b]netdevice (7) ;[/b] [b]ifi_index[/b] est l'index unique de l'interface ; [b]ifi_change[/b] est réservé pour un usage ultérieur et doit toujours valoir 0xFFFFFFFF. .TS tab(:); c l l l. Attributs de routage rta_type:type valeur:description _ IFLA_UNSPEC:-:non-spécifié. IFLA_ADDRESS:adresse matérielle:Adresse L2 interface. IFLA_BROADCAST:adresse matérielle:Adresse L2 Broadcast. IFLA_IFNAME:chaîne AsciiZ:Nom périphérique. IFLA_MTU:unsigned int:MTU du périphérique. IFLA_LINK:int:Type liaison. IFLA_QDISC:chaîne AsciiZ:Mécanismes files. IFLA_STATS:T{ struct net_device_stats T}:Statistiques interface. .TE[/col][/row][/table] [b]RTM_NEWADDR , RTM_DELADDR , RTM_GETADDR[/b] [table][row][col] [/col][col]Ajouter, supprimer ou obtenir des informations sur une adresse IP associée à une interface. Sous Linux 2.2. une interface peut gérer plusieurs adresses IP, ce qui remplace le concept d'alias de Linux 2.0. Dans Linux 2.2., ces messages supportent les adresses IPv4 et IPv6. Ils contiennent une structure [b]ifaddrmsg ,[/b] suivie éventullement par des attributs de routage [b]rtaddr .[/b] .nf .ta 4 19 32 struct ifaddrmsg { unsigned char ifa_family; /* Type adresse */ unsigned char ifa_prefixlen; /* Lg préfixe adresse */ unsigned char ifa_flags; /* Attributs adresse */ unsigned char ifa_scope; /* Portée adresse */ int ifa_index; /* Index interface */ }; .fi [b]ifa_family[/b] est le type de famille d'adresse (actuellement [b]AF_INET[/b] ou [b]AF_INET6), [/b] [b]ifa_prefixlen[/b] est la longueur du masque d'adresse, s'il est défini pour la famille (comme avec IPv4), [b]ifa_scope[/b] est la portée de l'adresse, [b]ifa_index[/b] est l'index de l'interface associée à l'adresse. [b]ifa_flags[/b] est un attribut composé de [b]IFA_F_SECONDARY[/b] pour une adresse secondaire (les anciens alias d'interface), [b]IFA_F_PERMANENT[/b] pour une adresse fixée par l'utilisateur, et d'autres attribut non documentés. .TS tab(:); c l l l. Attributes rta_type:type valeur:description _ IFA_UNSPEC:-:non-spécifié. IFA_ADDRESS:Adresse protocole raw:Adresse interface. IFA_LOCAL:Adresse protocole raw:Adresse locale. IFA_LABEL:Chaîne AsciiZ:Nom de l'interface. IFA_BROADCAST:Adresse protocole raw:Adresse broadcast. IFA_ANYCAST:Adresse protocole raw:Adresse anycast. IFA_CACHEINFO:struct ifa_cacheinfo:Informations adresse. .TE [/col][/row][/table] [b]RTM_NEWROUTE , RTM_DELROUTE , RTM_GETROUTE[/b] [table][row][col] [/col][col]Créer, supprimer ou obtenir des informations à propos d'une route réseau. Ces messages contiennent une structure [b]rtmsg[/b] suivie d'une séquence éventuelle de structures [b]rtattr .[/b] Pour [b]RTM_GETROUTE[/b] mettre [b]rtm_dst_len [/b] et [b]rtm_src_len [/b] à 0 signifie obtenir toutes les entrées pour la table de routage indiquée. Pour les autres champs, sauf [b]rtm_table [/b] et [b]rtm_protocol ,[/b] 0 est le symbole générique signifiant "toutes valeurs". .nf .ta 4 19 32 struct rtmsg { unsigned char rtm_family; /* Famille d'adresse de la route */ unsigned char rtm_dst_len; /* Longueur source */ unsigned char rtm_src_len; /* Longueur destination */ unsigned char rtm_tos; /* Filtre TOS */ unsigned char rtm_table; /* ID table routage */ unsigned char rtm_protocol; /* Protocole route, cf plus bas */ unsigned char rtm_scope; /* Cf plus bas */ unsigned char rtm_type; /* Cf plus bas */ unsigned int rtm_flags; }; .fi .TS tab(:); l l l l. rtm_type:Type route _ RTN_UNSPEC:Route inconnue RTN_UNICAST:Passerelle ou route directe RTN_LOCAL:Route interface locale RTN_BROADCAST:T{ Route broadcast locale (envoi en broadcast) T} RTN_ANYCAST:T{ Route broadcast locale (envoi en unicast) T} RTN_MULTICAST:Route multicast RTN_BLACKHOLE:Route d'abandon de paquets RTN_UNREACHABLE:Destination unaccessible RTN_PROHIBIT:Route de rejet de paquets RTN_THROW:Routage prolongé dans une autre table RTN_NAT:Route de traduction d'adresse RTN_XRESOLVE:T{ Référence à une résolution externe (non implémenté) T} .TE .TS tab(:); l l. rtm_protocol:Origine de la route. _ RTPROT_UNSPEC:inconnue RTPROT_REDIRECT:T{ redirection ICMP (inutilisé actuellement) T} RTPROT_KERNEL:fixée par le noyau RTPROT_BOOT:obtenue pendant le boot RTPROT_STATIC:fixée par l'administrateur .TE Les valeurs plus grande que [b]RTPROT_STATIC[/b] ne sont pas interprétées par le noyau, et servent d'information utilisateur. Elles permettent de marquer la source de la route ou de faire une distinction entre plusieurs démons de routage. Voir [b]
[/b] pour les identificateurs de démons de routage déjà affectés. [b]rtm_scope [/b] est la distance à la destination : .TS tab(:); l l. RT_SCOPE_UNIVERSE:route globale RT_SCOPE_SITE:T{ route locale interne au système autonome T} RT_SCOPE_LINK:route sur ce lien RT_SCOPE_HOST:route sur l'hôte local RT_SCOPE_NOWHERE:destination inexistante .TE Les valeurs entre [b]RT_SCOPE_UNIVERSE[/b] et [b]RT_SCOPE_SITE[/b] sont disponibles pour l'utilisateur. Le champ [b]rtm_flags[/b] prend les significations suivantes : .TS tab(:); l l. RTM_F_NOTIFY:T{ si la route change, notifier l'utilisateur via rtnetlink T} RTM_F_CLONED:la route est clonée depuis une autre route RTM_F_EQUALIZE:répartiteur multicast (pas encore implémenté) .TE [b]rtm_table[/b] indique la table de routage .TS tab(:); l l. RT_TABLE_UNSPEC:table de routage non spécifiée RT_TABLE_DEFAULT:la table par défaut RT_TABLE_MAIN:la table principale RT_TABLE_LOCAL:la table locale .TE L'utilisateur peut affecter à son gré les valeurs entre [b]RT_TABLE_UNSPEC[/b] et [b]RT_TABLE_DEFAULT .[/b] .TS tab(:); c l l l. Attributes rta_type:type de valeur:description _ RTA_UNSPEC:-:ignoré. RTA_DST:Adresse protocole:Adresse de la route destination. RTA_SRC:Adresse protocole:Adresse de la route source. RTA_IIF:int:Index interface d'entrée. RTA_OIF:int:Index interface de sortie. RTA_GATEWAY:Adresse protocole:Passerelle de la route. RTA_PRIORITY:int:Priorité de la route. RTA_PREFSRC:: RTA_METRICS:int:Métrique de la route. RTA_MULTIPATH:: RTA_PROTOINFO:: RTA_FLOW:: RTA_CACHEINFO:: .TE [/col][/row][/table] [b]RTM_NEWNEIGH , RTM_DELNEIGH , RTM_GETNEIGH [/b] [table][row][col] [/col][col]Ajouter, supprimer ou obtenir des informations sur les voisinage d'un élément de table (ex : entrée ARP). Le message contient une structure [b]ndmsg .[/b] .nf .ta 4 19 32 struct ndmsg { unsigned char ndm_family; int ndm_ifindex; /* Index interface */ __u16 ndm_state; /* États */ __u8 ndm_flags; /* Attributs */ __u8 ndm_type; }; struct nda_cacheinfo { __u32 ndm_confirmed; __u32 ndm_used; __u32 ndm_updated; __u32 ndm_refcnt; }; .fi [b]ndm_state[/b] est un masque contenant les bits suivants : .TS tab(:); l l. NUD_INCOMPLETE:une entrée de cache non résolue. NUD_REACHABLE:une entrée de cache confirmée correcte. NUD_STALE:une entrée de cache expirée. NUD_DELAY:une entrée de cache en attente de timer. NUD_PROBE:une entrée de cache en vérification. NUD_FAILED:une entrée de cache invalide. NUD_NOARP:un périphérique sans cache de destination. NUD_PERMANENT:une entrée statique. .TE Les valeurs valides pour [b]ndm_flags[/b] sont : .TS tab(:); l l. NTF_PROXY:nne entrée proxy Arp. NTF_ROUTER:un routeur IPv6. .TE La structure [b]rtaddr[/b] prend les significations suivantes pour le champ [b]rta_type :[/b] .TS tab(:); l l. NDA_UNSPEC:type inconnu NDA_DST:une adresse niveau réseau dans le cache de voisinage. NDA_LLADDR:une adresse niveau liaison dans le cache voisinage. NDA_CACHEINFO:statistiques sur le cache. .TE Si le champ [b]rta_type[/b] vaut [b]NDA_CACHEINFO[/b] alors un en-tête [b]struct nda_cacheinfo[/b] suit.[/col][/row][/table] [b]RTM_NEWRULE , RTM_DELRULE , RTM_GETRULE[/b] [table][row][col] [/col][col]Ajouter, supprimer ou rechercher une règle de routage. Utilise une [b]struct rtmsg .[/b][/col][/row][/table] [b]RTM_NEWQDISC , RTM_DELQDISC , RTM_GETQDISC[/b] [table][row][col] [/col][col]Ajouter, supprimer ou rechercher une displine de file d'attente. Le message contient une structure [b]struct tcmsg[/b] et peut être suivi par une série d'attributs. .nf .ta 4 19 32 struct tcmsg { unsigned char tcm_family; int tcm_ifindex; /* Index interface */ __u32 tcm_handle; /* Handle Qdisc */ __u32 tcm_parent; /* Parent Qdisc */ __u32 tcm_info; }; .fi .TS tab(:); c l l l. Attributes rta_type:Type valeur:Description _ TCA_UNSPEC:-:unspecified TCA_KIND:Chaîne AsciiZ:Nom de la discipline de file TCA_OPTIONS:Séquence octets:Options spécifiques Qdisc suivent TCA_STATS:struct tc_stats:Statistiques Qdisc TCA_XSTATS:Spécifique Qdisc:Statistiques spécifiques module TCA_RATE:struct tc_estimator:Limitation taux .TE De plus d'autres attributs spécifiques au module Qdisc sont possibles. Pour plus d'information, voir les fichiers d'en-tête appropriés.[/col][/row][/table] [b]RTM_NEWTCLASS , RTM_DELTCLASS , RTM_GETTCLASS[/b] [table][row][col] [/col][col]Ajouter, supprimer ou rechercher une classe de trafic. Ces messages contiennent une [b]struct tcmsg[/b] décrite plus haut.[/col][/row][/table] [b]RTM_NEWTFILTER , RTM_DELTFILTER , RTM_GETTFILTER[/b] [table][row][col] [/col][col]Ajouter, supprimer ou obtenir des informations sur un flitre de trafic. Ces messages contiennent une [b]struct tcmsg[/b] décrite plus haut.[/col][/row][/table] [size=18] [b]Versions[/b] [/size] [b]rtnetlink [/b] est une nouveauté Linux 2.2. [size=18] [b]Bugs[/b] [/size] Cette page de manuel est très incomplète. [size=18] [b]Voir aussi[/b] [/size] [b]netlink (7),[/b] [b]cmsg (3),[/b] [b]ip (7),[/b] [b]rtnetlink (3)[/b] [size=18] [b]Traduction[/b] [/size] Christophe Blaess, 2003.
Fichier
Forum
-
Derniers messages
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Software
problème sur windows 10
Réseaux et Télécom
Administrateur Réseau - Cisco
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Hardware
conseil matos réseau?
Hardware
nVidia Shield Android TV
Actualités
-
Archives
Matériel
Nvidia prévient d'une pénurie de GPU ce trimestre, avec une reprise début 2025
Les Technos
Les Technos #469 : Un jour sans fin
Jeux Vidéos
Test Farming Simulator 25 (PS5) - Des innovations intéressantes mais des performances à revoir
Matériel
Qualcomm souhaite réduire davantage les prix des PC Windows basés sur ARM
Tablettes
Finalement, Google préparerait une nouvelle tablette mais la Pixel Tablet 2 serait abandonnée
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2024
Akretio
SPRL - Generated via
Kelare
The Akretio Network:
Akretio
-
Freedelity
-
KelCommerce
-
Votre publicité sur informaticien.be ?