Partager via


structure MIB_IPFORWARD_ROW2 (netioapi.h)

La structure MIB_IPFORWARD_ROW2 stocke des informations sur une entrée de route IP.

Syntaxe

typedef struct _MIB_IPFORWARD_ROW2 {
  NET_LUID          InterfaceLuid;
  NET_IFINDEX       InterfaceIndex;
  IP_ADDRESS_PREFIX DestinationPrefix;
  SOCKADDR_INET     NextHop;
  UCHAR             SitePrefixLength;
  ULONG             ValidLifetime;
  ULONG             PreferredLifetime;
  ULONG             Metric;
  NL_ROUTE_PROTOCOL Protocol;
  BOOLEAN           Loopback;
  BOOLEAN           AutoconfigureAddress;
  BOOLEAN           Publish;
  BOOLEAN           Immortal;
  ULONG             Age;
  NL_ROUTE_ORIGIN   Origin;
} MIB_IPFORWARD_ROW2, *PMIB_IPFORWARD_ROW2;

Membres

InterfaceLuid

Type : NET_LUID

Identificateur unique local (LUID) de l’interface réseau associée à cette entrée de route IP.

InterfaceIndex

Type : NET_IFINDEX

Valeur d’index local pour l’interface réseau associée à cette entrée de route IP. Cette valeur d’index peut changer lorsqu’une carte réseau est désactivée puis activée, ou dans d’autres circonstances, et ne doit pas être considérée comme persistante.

DestinationPrefix

Type : IP_ADDRESS_PREFIX

Préfixe d’adresse IP de l’adresse IP de destination pour cet itinéraire.

NextHop

Type : SOCKADDR_INET

Pour un itinéraire distant, l’adresse IP du système ou de la passerelle suivante en route. Si l’itinéraire est vers une adresse de bouclage locale ou une adresse IP sur le lien local, le tronçon suivant n’est pas spécifié (tous les zéros). Pour un itinéraire de bouclage local, ce membre doit être une adresse IPv4 de 0.0.0.0 pour une entrée de route IPv4 ou une adresse IPv6 de 0 ::0 pour une entrée de route IPv6.

SitePrefixLength

Type : UCHAR

Longueur, en bits, du préfixe de site ou de la partie réseau de l’adresse IP de cet itinéraire. Pour une entrée de route IPv4, toute valeur supérieure à 32 est une valeur non valide. Pour une entrée de route IPv6, toute valeur supérieure à 128 est une valeur non valide. Une valeur de 255 est couramment utilisée pour représenter une valeur non valide.

ValidLifetime

Type : ULONG

Durée maximale, en secondes, pendant laquelle l’entrée de route IP est valide. Une valeur de 0xffffffff est considérée comme infinie.

PreferredLifetime

Type : ULONG

Heure par défaut, en secondes, pendant laquelle l’entrée d’itinéraire IP est valide. Une valeur de 0xffffffff est considérée comme infinie.

Metric

Type : ULONG

Valeur de décalage de la métrique d’itinéraire pour cette entrée d’itinéraire IP. Notez que la métrique d’itinéraire réelle utilisée pour calculer la préférence d’itinéraire est la somme de la métrique d’interface spécifiée dans le membre métrique de la structure MIB_IPINTERFACE_ROW et le décalage de métrique d’itinéraire spécifié dans ce membre. La sémantique de cette métrique est déterminée par le protocole de routage spécifié dans le membre du protocole . Si cette métrique n’est pas utilisée, sa valeur doit être définie sur -1. Cette valeur est documentée dans RFC 4292. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc4292.txt.

Protocol

Type : NL_ROUTE_PROTOCOL

Mécanisme de routage de la façon dont cette route IP a été ajoutée. Ce membre peut être l’une des valeurs du type d’énumération NL_ROUTE_PROTOCOL défini dans le fichier d’en-tête Nldef.h . Le membre est décrit dans RFC 4292. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc4292.txt.

Notez que l’en-tête Nldef.h est automatiquement inclus par le fichier d’en-tête Ipmib.h qui est automatiquement inclus par l’en-tête Iprtrmib.h . L’en-tête Iphlpapi.h inclut automatiquement le fichier d’en-tête Iprtrmib.h. Les fichiers d’en-tête Iprtrmib.h, Ipmib.h et Nldef.h ne doivent jamais être utilisés directement.

La liste suivante affiche les valeurs possibles pour ce membre.

Valeur Signification
MIB_IPPROTO_OTHER
1
Le mécanisme de routage n’a pas été spécifié.
MIB_IPPROTO_LOCAL
2
Interface locale.
MIB_IPPROTO_NETMGMT
3
Itinéraire statique. Cette valeur est utilisée pour identifier les informations d’itinéraire pour le routage IP défini via la gestion réseau, comme le protocole DCHP (Dynamic Host Configuration Protocol), le protocole SNMP (Simple Network Management Protocol), ou par des appels aux fonctions CreateIpForwardEntry2, DeleteIpForwardEntry2 ou SetIpForwardEntry2 .
MIB_IPPROTO_ICMP
4
Résultat d’une redirection ICMP.
MIB_IPPROTO_EGP
5
Le protocole EGP (Exterior Gateway Protocol), un protocole de routage dynamique.
MIB_IPPROTO_GGP
6
Le protocole GGP (Gateway-to-Gateway Protocol), un protocole de routage dynamique.
MIB_IPPROTO_HELLO
7
Protocole Hellospeak, un protocole de routage dynamique. Il s’agit d’une entrée historique qui n’est plus utilisée et qui était un protocole de routage précoce utilisé par les routeurs ARPANET d’origine qui exécutaient un logiciel spécial appelé protocole de routage Fuzzball, parfois appelé Hellospeak, comme décrit dans RFC 891 et RFC 1305. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc891.txt et http://www.ietf.org/rfc/rfc1305.txt.
MIB_IPPROTO_RIP
8
Le protocole RIP (Berkeley Routing Information Protocol) ou RIP-II, un protocole de routage dynamique.
MIB_IPPROTO_IS_IS
9
Le protocole IS (Intermediate System-to-Intermediate System), un protocole de routage dynamique. Le protocole IS-IS a été développé pour être utilisé dans la suite de protocoles OSI (Open Systems Interconnection).
MIB_IPPROTO_ES_IS
10
Le protocole ES-IS (End System-to-Intermediate System), un protocole de routage dynamique. Le protocole ES-IS a été développé pour être utilisé dans la suite de protocoles OSI (Open Systems Interconnection).
MIB_IPPROTO_CISCO
11
Le protocole IGRP (Cisco Interior Gateway Routing Protocol), un protocole de routage dynamique.
MIB_IPPROTO_BBN
12
Protocole IGP (Interior Gateway Protocol) Bolt, Beranek et Newman (BBN) qui a utilisé l’algorithme SPF (Shortest Path First). Il s’agissait d’un protocole de routage dynamique précoce.
MIB_IPPROTO_OSPF
13
Le protocole OSPF (Open Shortest Path First), un protocole de routage dynamique.
MIB_IPPROTO_BGP
14
Le protocole BGP (Border Gateway Protocol), un protocole de routage dynamique.
MIB_IPPROTO_NT_AUTOSTATIC
10002
Entrée spécifique à Windows ajoutée à l’origine par un protocole de routage, mais qui est maintenant statique.
MIB_IPPROTO_NT_STATIC
10006
Entrée spécifique à Windows ajoutée en tant qu’itinéraire statique à partir de l’interface utilisateur de routage ou d’une commande de routage.
MIB_IPPROTO_NT_STATIC_NON_DOD
10007
Une entrée spécifique à Windows ajoutée en tant qu’itinéraire statique à partir de l’interface utilisateur de routage ou d’une commande de routage, sauf que ces itinéraires ne provoquent pas la numérotation à la demande (DOD).

Loopback

Type : BOOLEAN

Valeur qui spécifie si l’itinéraire est un itinéraire de bouclage (la passerelle se trouve sur l’hôte local).

AutoconfigureAddress

Type : BOOLEAN

Valeur qui spécifie si l’adresse IP est configurée automatiquement.

Publish

Type : BOOLEAN

Valeur qui spécifie si l’itinéraire est publié.

Immortal

Type : BOOLEAN

Valeur qui spécifie si l’itinéraire est immortel.

Age

Type : ULONG

Nombre de secondes depuis l’ajout ou la modification de l’itinéraire dans la table de routage réseau.

Origin

Type : NL_ROUTE_ORIGIN

Origine de l’itinéraire. Ce membre peut être l’une des valeurs du type d’énumération NL_ROUTE_ORIGIN défini dans le fichier d’en-tête Nldef.h .

Valeur Signification
NlroManual
0
Résultat de la configuration manuelle.
NlroWellKnown
1
Une route bien connue.
NlroDHCP
2
Résultat de la configuration DHCP.
NlroRouterAdvertisement
3
Résultat de la publicité du routeur.
Nlro6to4
4
Résultat d’un tunneling 6to4.

Remarques

La structure MIB_IPFORWARD_ROW2 est définie sur Windows Vista et versions ultérieures.

La fonction GetIpForwardTable2 énumère les entrées d’itinéraire IP sur un système local et retourne ces informations dans une structure MIB_IPFORWARD_TABLE2 sous la forme d’un tableau d’entrées MIB_IPFORWARD_ROW2 .

La fonction GetIpForwardEntry2 récupère une seule entrée d’itinéraire IP et retourne ces informations dans une structure MIB_IPFORWARD_ROW2 .

Une entrée avec les membres Prefix et PrefixLength du IP_ADDRESS_PREFIX défini sur zéro dans le membre DestinationPrefix de la structure MIB_IPFORWARD_ROW2 est considérée comme un itinéraire par défaut. Le MIB_IPFORWARD_TABLE2 peut contenir plusieurs entrées de MIB_IPFORWARD_ROW2 avec les membres Prefix et PrefixLength du IP_ADDRESS_PREFIX défini sur zéro dans le membre DestinationPrefix quand plusieurs cartes réseau sont installées.

Le membre métrique d’une entrée MIB_IPFORWARD_ROW2 est une valeur qui est affectée à un itinéraire IP pour une interface réseau particulière qui identifie le coût associé à l’utilisation de cet itinéraire. Par exemple, la métrique peut être évaluée en termes de vitesse de liaison, de nombre de tronçons ou de délai. La métrique automatique est une fonctionnalité sur Windows XP et versions ultérieures qui configure automatiquement la métrique pour les itinéraires locaux basés sur la vitesse de liaison. La fonctionnalité de métrique automatique est activée par défaut (le membre UseAutomaticMetric de la structure MIB_IPINTERFACE_ROW a la valeur TRUE) sur Windows XP et versions ultérieures. Il peut également être configuré manuellement pour affecter une métrique spécifique à un itinéraire IP.

La métrique d’itinéraire spécifiée dans le membre de métrique de la structure MIB_IPFORWARD_ROW2 représente uniquement le décalage de la métrique d’itinéraire. La métrique complète est une combinaison de ce décalage de métrique d’itinéraire ajouté à la métrique d’interface spécifiée dans le membre Métrique de la structure MIB_IPINTERFACE_ROW de l’interface associée. Une application peut récupérer la métrique d’interface en appelant la fonction GetIpInterfaceEntry .

Notez que le fichier d’en-tête Netioapi.h est automatiquement inclus dans le fichier d’en-tête Iphlpapi.h . Le fichier d’en-tête Netioapi.h ne doit jamais être utilisé directement.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête netioapi.h (include Iphlpapi.h)

Voir aussi

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

IP_ADDRESS_PREFIX

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

SOCKADDR_INET

SetIpForwardEntry2