Partager via


Extensions de filtrage

Une extension de filtrage de commutateur extensible Hyper-V peut inspecter, modifier et insérer des paquets dans le chemin de données du commutateur extensible. En fonction des paramètres de stratégie de commutateur et de port de commutateur extensibles, l’extension peut supprimer un paquet ou exclure sa remise à un ou plusieurs ports de destination.

Les extensions de filtrage sont appelées après la capture des extensions dans le chemin des données d’entrée et après les extensions de transfert dans le chemin de données de sortie. Pour plus d’informations sur ces chemins de données, consultez Chemin des données de commutateur extensible Hyper-V.

Une extension de filtrage peut effectuer les opérations suivantes avec des paquets qui ont été obtenus sur le chemin des données d’entrée :

  • Filtrez le trafic de paquets et appliquez des stratégies de port ou de commutateur personnalisées pour la remise de paquets via le commutateur extensible. Lorsque l’extension de filtrage filtre les paquets dans le chemin des données d’entrée, elle peut appliquer des règles de filtrage basées uniquement sur le port source et la connexion de carte réseau d’où provient le paquet. Ces informations sont stockées dans les données hors bande (OOB) de la structure NET_BUFFER_LIST d’un paquet et peuvent être obtenues à l’aide de la macro NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL .

    Note Les paquets obtenus sur le chemin des données d’entrée ne contiennent pas de ports de destination. Le filtrage des paquets en fonction des ports de destination ne peut être effectué que sur les paquets obtenus sur le chemin des données de sortie.

    Les stratégies personnalisées sont définies par l’éditeur de logiciels indépendant (ISV). Les paramètres de propriété de ce type de stratégie sont gérés via la couche de gestion WMI Hyper-V. L’extension de filtrage est configurée avec ces paramètres de propriété via une demande d’identificateur d’objet (OID) de OID_SWITCH_PORT_PROPERTY_UPDATE et de OID_SWITCH_PROPERTY_UPDATE.

    Pour plus d’informations sur les stratégies de port ou de commutateur extensible personnalisées, consultez Gestion des stratégies de commutateur extensible Hyper-V.

    Note Seules les extensions de transfert peuvent appliquer des stratégies de port standard pour la remise de paquets via le commutateur extensible.

  • Injectez des paquets nouveaux, modifiés ou cloné dans le chemin des données d’entrée.

    Pour plus d’informations, consultez Opérations d’envoi et de réception du commutateur extensible Hyper-V.

Une extension de filtrage peut effectuer les opérations suivantes avec des paquets qui ont été obtenus sur le chemin des données de sortie :

  • Filtrez le trafic de paquets et appliquez des stratégies de port ou de commutateur personnalisées pour la remise de paquets via le commutateur extensible. Lorsque l’extension de filtrage filtre les paquets dans le chemin des données de sortie, elle peut appliquer des règles de filtrage basées sur les ports source ou de destination d’un paquet. Les données de port de destination sont stockées dans les données OOB de la structure NET_BUFFER_LIST d’un paquet. Les extensions obtiennent ces informations en appelant la fonction GetNetBufferListDestinations .

  • Excluez la remise du paquet à un ou plusieurs ports de destination de commutateur extensibles. Cela permet à l’extension de filtrage d’exclure la remise d’un paquet aux ports de commutateur extensibles.

    Pour plus d’informations sur l’exclusion de la remise de paquets vers des ports de commutateur extensibles, consultez Exclusion de la remise de paquets vers les ports de destination de commutateur extensible.

  • Gérez le flux de trafic vers un ou plusieurs ports de destination en reportant le transfert des paquets sur le chemin des données de sortie.

    Par exemple, une extension de filtrage qui prend en charge la fonctionnalité de qualité de service (QoS) peut vouloir appeler immédiatement NdisFSendNetBufferLists pour transférer les paquets spécifiés avec une valeur de priorité plus élevée. En fonction du flux de trafic, l’extension peut souhaiter transférer ultérieurement des paquets avec une valeur de priorité inférieure.

  • Modifiez les données du paquet. Si l’extension de filtrage doit modifier les données d’un paquet, elle doit d’abord cloner le paquet sans conserver les destinations de port. Ensuite, l’extension doit injecter le paquet modifié dans le chemin des données d’entrée. Cela permet aux extensions sous-jacentes d’appliquer des stratégies sur le paquet modifié et l’extension de transfert peut ajouter des destinations de port.

    Pour plus d’informations, consultez Clonage du trafic de paquets.

Outre l’inspection des requêtes OID et des indications de status NDIS, une extension de filtrage peut effectuer les opérations suivantes :

  • Opposez votre veto à la création d’un port de commutateur extensible ou d’une connexion de carte réseau en retournant STATUS_DATA_NOT_ACCEPTED pour les OID de commutateur extensibles applicables. Par exemple, l’extension de filtrage peut opposer son veto à une demande de création de port en retournant STATUS_DATA_NOT_ACCEPTED lorsque le pilote reçoit une demande de jeu d’OID de OID_SWITCH_PORT_CREATE.

    Note Les extensions de filtrage ne créent pas ou ne suppriment pas de ports ou de connexions de carte réseau. Le bord du protocole du commutateur extensible émet des OID pour informer les pilotes de filtre sous-jacents de la création ou de la suppression de ports ou de connexions de carte réseau. Pour plus d’informations, consultez États du port de la carte réseau et du port de commutateur extensible Hyper-V.

  • Opposez votre veto à l’ajout ou à la mise à jour d’un commutateur extensible ou d’une stratégie de port en retournant STATUS_DATA_NOT_ACCEPTED pour les OID de commutateur extensible applicables. Par exemple, l’extension de filtrage peut opposer son opposition à l’ajout d’une stratégie de port en retournant STATUS_DATA_NOT_ACCEPTED lorsque l’extension reçoit une demande de jeu d’OID de OID_SWITCH_PORT_PROPERTY_ADD.

    Pour plus d’informations sur les stratégies de commutateur extensible, consultez Gestion des stratégies de commutateur extensible Hyper-V.

Une extension de filtrage a les exigences suivantes :

  • Une extension de filtrage doit être développée en tant que pilote de filtre NDIS qui prend en charge l’interface de commutateur extensible.

    Pour plus d’informations sur les pilotes de filtre, consultez Pilotes de filtre NDIS.

    Pour plus d’informations sur l’écriture d’une extension de filtrage, consultez Écriture d’extensions de commutateur extensible Hyper-V.

    Note La plateforme de filtrage Windows (PAM) fournit une extension de filtrage de commutateur extensible dans la boîte (Wfplwfs.sys ). Cette extension permet aux filtres PAM ou aux pilotes de légende d’intercepter des paquets le long du chemin de données du commutateur extensible Hyper-V. Cela permet aux filtres ou aux pilotes de légende d’effectuer une inspection ou une modification des paquets à l’aide des fonctions système et de gestion PAM. Pour obtenir une vue d’ensemble de PAM, consultez Plateforme de filtrage Windows.

  • Le fichier INF d’une extension de filtrage doit installer le pilote en tant que pilote de filtre de modification. Les pilotes de filtre de surveillance NDIS ne peuvent pas être installés dans la pile de pilotes de commutateur extensible.

    Pour plus d’informations sur la modification des pilotes de filtre, consultez Types de pilotes de filtre.

    Pour plus d’informations sur les exigences INF pour la modification des pilotes de filtre, consultez Configuration d’un fichier INF pour un pilote de filtre de modification.

  • La valeur FilterClass dans le fichier INF du pilote de filtre doit être définie sur ms_switch_filter. Pour plus d’informations, consultez Exigences INF pour les extensions de commutateur extensible Hyper-V.

  • Un nombre quelconque d’extensions de filtrage peut être lié et activé dans la pile de pilotes pour chaque instance d’un commutateur extensible. Par défaut, plusieurs extensions de filtrage sont triées en fonction du moment où elles ont été installées. Par exemple, plusieurs extensions de filtrage sont superposées dans la pile des pilotes de commutateur extensible avec l’extension la plus récente installée au-dessus des autres extensions de filtrage dans la pile.

    Une fois qu’elles sont liées et activées dans un commutateur extensible instance, la superposition des extensions de filtrage dans la pile de pilotes de commutateur extensible peut être réorganisées. Pour plus d’informations, consultez Réorganiser les extensions de commutateur extensible Hyper-V.