Partager via


Utilisation du filtrage de commutateurs virtuels

Vue d’ensemble du filtrage de commutateurs virtuels

Le filtrage de commutateurs virtuels est pris en charge dans Windows 8 et les versions ultérieures de Windows.

Cette fonctionnalité WFP permet de filtrer les champs de l’en-tête MAC, de l’en-tête IP et des ports de protocole supérieurs, ainsi que des champs spécifiques au commutateur virtuel, tels que le port virtuel (VPort) et l’identificateur de machine virtuelle (ID de la VM). Ces couches sont appelées par paquet pour tous les paquets qui traversent le commutateur virtuel. Ces couches sont accessibles à partir d’un filtre d’extension de commutateur virtuel, un type de pilote LWF (filtre léger) NDIS.

Un pilote d’appel appelle la fonction FwpsvSwitchEventsSubscribe0 pour inscrire des points d’entrée de rappel pour les événements de la couche commutateur virtuel.

Les points d’entrée des fonctions de notification de rappel sont spécifiés dans une structure FWPS_VSWITCH_EVENT_DISPATCH_TABLE0. Les fonctions de rappel disponibles sont les suivantes :

L’énumération FWPS_VSWITCH_EVENT_TYPE définit les valeurs du paramètre eventType des fonctions de notification de commutateur virtuel.

Le pilote d’appel doit finalement appeler FwpsvSwitchEventsUnsubscribe0 pour libérer les ressources système.

Si un pilote d’appel renvoie STATUS_PENDING à partir d’une fonction de notification WFP, WFP renvoie STATUS_PENDING au gestionnaire de demandes OID. Le pilote d’appel doit appeler la fonction FwpsvSwitchNotifyComplete0 pour terminer l’opération en attente. Après l’appel FwpsvSwitchNotifyComplete0, WFP appelle la fonction NdisFOidRequestComplete pour terminer l’OID pour le commutateur virtuel.

Les rappels ne doivent pas ajouter ou supprimer de filtres WFP de manière synchrone dans le contexte des fonctions de notification. En outre, si la fonction de notification autorise le rappel à renvoyer STATUS_PENDING et que le rappel renvoie STATUS_PENDING, le rappel ne doit pas ajouter ou supprimer des filtres WFP avant de terminer la notification.

Couche et champs du filtre du commutateur virtuel WFP

Les identificateurs de couche de filtrage de runtime pour le filtrage de commutateur virtuel sont les suivants :

  • FWPS_LAYER_INGRESS_VSWITCH_ETHERNET
  • FWPS_LAYER_EGRESS_VSWITCH_ETHERNET
  • FWPS_LAYER_INGRESS_VSWITCH_TRANSPORT_V4
  • FWPS_LAYER_INGRESS_VSWITCH_TRANSPORT_V6
  • FWPS_LAYER_EGRESS_VSWITCH_TRANSPORT_V4
  • FWPS_LAYER_EGRESS_VSWITCH_TRANSPORT_V6

Les identificateurs de champ de données pour le filtrage du commutateur virtuel sont les suivants :

Conseils pour les rédacteurs de l’appel du commutateur virtuel du WFP

Trafic du port 0

Pour les appels de commutateurs virtuels WFP, le trafic provenant du port 0 (l’ID de port par défaut) est fiable et ne doit pas être filtré. En effet, le trafic sur le port 0 provient généralement d’autres extensions de la pile de pilotes et est donc traité par le chemin de données comme privilégié et fiable. Les extensions de commutateurs virtuels utiliseront le port 0 avec parcimonie dans des situations telles que l’émission d’un paquet de contrôle, qui ne doit pas être filtré ni rejeté par les extensions sous-jacentes. Pour en savoir plus sur la modification du port source des commutateurs extensibles Hyper-V, consultez Modification des données de port source des commutateurs extensibles d’un paquet.

Règles de correspondance de rappel

Lors de la définition d’une règle de correspondance pour le filtrage, les rappels des commutateurs virtuels ne doivent pas utiliser l’adresse MAC comme base de comparaison. Les adresses MAC peuvent changer au moment de l’exécution, et certains ports peuvent générer du trafic à partir de plusieurs adresses MAC. Au lieu de cela, les appels doivent utiliser une règle de correspondance plus durable telle que l’ID de carte réseau, qui ne changera pas.

Virtualisation des E/S (IOV) et coexistence du WFP

La WFP ne peut pas être activée sur un commutateur IOV et est bloquée par le système d’exploitation si on tente de l’activer.

Activation ou désactivation de la WFP

Les installateurs de commutateurs virtuels WFP ne doivent pas modifier l’état d’activation de l’extension WFP, c’est-à-dire qu’ils ne doivent pas activer ou désactiver le WFP lui-même.