当前位置:网站首页>Pcie Access Control Service (ACS)

Pcie Access Control Service (ACS)

2021-10-14 05:58:05 Mangopapa




️️️️️️️️️️️️️️️️️️️️️️️️️️


1. Pourquoi utiliserACS ?

1.1 P2P Risque de transmission

  ATS(Address Translation Services) Est un accord de service basé sur la confiance .SiEPFinATC(Address Translation Cache)Il prétend que la demande d'accès qu'il a faite était une adresse convertie, Et l'adresse tombe juste à côté de PCIe Commutateur BARDans le champ d'application, La demande d'accès n'arrivera pas RC,Au lieu de cela, le commutateur de commutation est acheminé à l'adresse correspondanteEP.C'est - à - dire, La demande d'accès a été contournée IOMMUIsolement,C'est fait.P2P(peer-to-peer)Transmission.

Fig.1 Peer-to-peer PCIe Transaction

Fig.1 Peer-to-peer PCIe Transaction

  PCIe Accord autorisé P2PTransmission, Ça veut dire la même chose. PCIe Les interrupteurs de commutation sont connectés différemment EP Peut passer à travers RC Pour communiquer entre eux . Si vous ne voulez pas P2P Communication directe sans mesures ,La vulnérabilité est susceptible d'être déclenchée par inadvertance ou intentionnellement, De sorte que certains EP Reçu non valable 、 Demandes d'accès illégales ou même malveillantes , Ce qui crée une série de problèmes potentiels .


1.2 Solutions - ACS

  ACS Le Protocole fournit un mécanisme ,Capable de déciderTLP Routé normalement 、Blocage ou redirection.InSR-IOVDans le système, Peut également empêcher VIOu différentSIMatérielFunction Communication directe entre . En ouvrant sur le noeud d'échange ACSServices,Peut être interditP2PEnvoyer,Forcer le noeud d'échange à envoyer toutes les demandes d'accès àRC,Pour éviterP2P Risques liés à l'accès .ACSPeut être appliqué àPCIePont、 Noeuds d'échange et avec VFDePF Et tous les noeuds avec la fonction de programmation , Agir comme gardien .



️️️️️️️️️️️️️️️️️️️️️️️️️️

2. ACSIntroduction au service

2.1 ACS Types de contrôle d'accès pris en charge

️2.1.1 ACS Compétences de base

  ACS Les types suivants sont pris en charge PCIeContrôle d'accès:

  • ACS Validation des sources ;
  • ACS Bloc de conversion ;
  • ACS P2P Demander une redirection de transaction ;
  • ACS Terminer la redirection des transactions ;
  • ACS Liaison montante ;
  • ACS P2P Contrôle des exportations ;
  • ACS Conversion directionnelle P2P.

️2.1.2 ACS Renforcement des capacités

  Pour l'AscensionACS Capacité d'isolement et de protection ,Dans la routineACS En dehors du mécanisme de contrôle ACS Renforcement des capacités , Il existe quatre types principaux: :

  • ACS I/ODemande de blocage;
  • ACS DSP Accès à la cible de stockage ;
  • ACS USP Accès à la cible de stockage ;
  • ACS Demande de redirection non déclarée .

2.2 ACS Champ d'application du contrôle d'accès

  ACS Le service est désactivé par défaut ,Je veux utiliserACS Le Service de contrôle d'accès doit être configuré par logiciel ACS Contrôle le registre pour ouvrir la capacité correspondante .InPCIe Option d'arrêt dans le système ACS, Vous pouvez également sélectionner tout ou partie ACS Capacité de contrôle d'accès .C'est différent.PCIe Paire de composants ACS Exigences différentes pour les fonctions de contrôle d'accès ,DifférentACSLes fonctions de contrôle d'accès ne s'appliquent pas non plus à tous lesPCIeComponents. En ce qui concerne les éléments spécifiques à activer ou à désactiver ACS Capacité de contrôle d'accès , Dépend Function Type et s'il y a plus Function Composants de l'équipement .PCIe Paire de composants ACS Exigences relatives aux fonctions de contrôle d'accès ,Ou plutôtACS Pour chaque capacité de contrôle d'accès PCIe Portée des composants ,Comme le montre le tableau ci - dessous::

Tableau1 ACS Champ d'application du contrôle d'accès

- Fin descendante
(SingleFuntion、Beaucoup.Function)
AvecSR-IOVCompetentFunction
Et beaucoup FunctionMatériel
( Sans port de liaison descendante Function)
SingleFunctionMatériel
( Non inclus SR-IOV Liste des compétences Function Et le port de liaison descendante Function)
ACS Validation des sources Obligatoire Désactiver Sans objet
ACS Bloc de conversion Obligatoire Désactiver Sans objet
ACS P2P Demander une redirection de transaction SoutienP2PAffairesRP Obligatoire pour
Obligatoire pour le port de liaison descendante du noeud de commutation
SoutienP2PTransmissionFunction Obligatoire pour RCiEPFacultatif Sans objet
ACS Terminer la redirection des transactions SoutienP2PDemandeRedirigéRP Obligatoire pour
Obligatoire pour le port de liaison descendante du noeud de commutation
SoutienP2PDemandeRedirigéFunction Obligatoire pour Sans objet
ACS Liaison montante RC Prise en charge de la validation des demandes de redirection RP Obligatoire pour Désactiver Sans objet
ACS P2P Contrôle des exportations Facultatif Facultatif Sans objet
ACS Conversion directionnelle P2P SoutienATS&P2PAffairesRP Obligatoire pour
Obligatoire pour le port de liaison descendante du noeud de commutation
SoutienATS&P2P Beaucoup de transactions FunctionMatérielFunction Obligatoire pour Sans objet
ACS I/ODemande de blocage SoutienACS Extensible RP Et le port de liaison descendante du noeud de commutation est requis Sans objet Sans objet
ACS DSP Accès à la cible de stockage SoutienACS Extensible et MEM BARDeRP Et le port de liaison descendante du noeud de commutation est requis Sans objet Sans objet
ACS USP Accès à la cible de stockage SoutienACS Extensibilité et port de liaison montante MEM BAR Obligatoire pour le port de liaison descendante du noeud de commutation RPSans objet Sans objet Sans objet
ACS Demande de redirection non déclarée SoutienACSObligatoire pour les ports de liaison descendante des noeuds de commutation extensibles
RP Sans objet
Sans objet Sans objet

Note du tableau: C'est ouvert. VFDeFunction L'équipement est essentiellement plus performant Function Équipement identique ,ACS Peut également être utilisé avec SR-IOV Liste des compétences FunctionMatériel.

Sauf indication contraire dans le tableau ci - dessus ,InACS Il convient également de noter que la mise en œuvre

  • ACS Ne jamais utiliser PCIe-PCI Entre les ponts et RCCollecteur d'événements, Ces endroits ne peuvent pas non plus être réalisés ACSStructure des capacités d'expansion.
  • SaufACS Hors vérification à la source ,ACS Le contrôle d'accès ne s'applique pas à la Multidiffusion TLP.
  • RCiEPPeut être réaliséACSMais pas nécessairement.UniqueRCEn basRCiEP Peut être partiellement ouvert ACS.

2.3 ACSEt nonACS Interopérabilité entre les composants

Pour s'assurer qu'il est allumé ACS Et non ouvert ACSDePCIe Interopérabilité entre les composants , Les principes suivants doivent être respectés entre les deux: :

  • Si non utiliséACSComponentP2PDemande de redirectionEtP2P Redirection terminée Fonction,EtACSEt nonACS Les composants peuvent être mélangés , N'affecte pas l'interopérabilité des deux ,EtACS Un sous - ensemble de composants reste ouvert ACSFonction.
  • SiPCIeLe système utiliseACS P2P Demande de redirection ou /EtACS P2P Redirection complète ,EtPCIeLes composants du système qui utilisent ces fonctions doivent supporterACS Transmission en amont des demandes de redirection en amont ,En particulier -
    • AutresRPDoit soutenirACS Liaison montante ,SinonRP Impossible de traiter la demande de redirection vers le haut ou de compléter TLP,En ce momentRC La validation des demandes de redirection doit également être mise en œuvre .
    • Chacun est allumé. P2P Transaction redirigée ACS Composants et accessoires RPTous les noeuds d'échange intermédiaires entre eux doivent supporterACS Liaison montante ,Sinon, ces noeuds d'échange ne peuvent pas traiter les transactions de redirection de liaison montante.

2.4 ACS P2P Interaction de contrôle

   Pour chaque coup P2PDemande,PlusieursACSLes mécanismes de contrôle s'influencent les uns les autres et déterminent finalement la façon dont la demande actuelle sera traitée:① Routage direct vers P2PObjectifs、② Considéré commeACS Interception immédiate en cas de violation Ou③ Rediriger la liaison montante vers RC Vérification de l'accès .P2P La redirection complète n'est pas limitée par ACS P2P Mécanisme de redirection complet .

  SiPort/FunctionC'est ouvertACS Conversion directionnelle P2PFonction,Peu importe.ACS P2P Demande de redirection et ACS P2P Comment définir le contrôle des exportations ,AT Le champ est affiché comme P2PLes demandes d'accès à la mémoire inter doivent être acheminées normalement versP2PObjectifPort/Function.Si elle n'est pas ouverteACS Conversion directionnelle P2PFonction,P2PLes demandes d'accès à la mémoire inter doivent être soumises inconditionnellement àACS P2P Demande de redirection et ACS P2P Mécanismes de contrôle des exportations .En particulier:, Est le BIT vectoriel de contrôle de sortie 、ACS P2P Contrôle de sortie activer les bits (E)EtACS P2P Demander des bits de redirection (R) Les trois décident ensemble de la façon de traiter P2PDemande,Comme le montre le tableau ci - dessous:.

Tableau2 ACS P2P Demande de redirection et ACS P2P Interaction du contrôle des exportations

E R Bits vectoriels de contrôle des exportations C'est exact.P2P Traitement des demandes
0 0 x(0/1) Routage direct vers P2PDestination
0 1 x(0/1) Redirection vers le Haut
1 0 1 Considéré commeACSViolation
1 0 0 Routage direct vers P2PDestination
1 1 1 Redirection vers le Haut
1 1 0 Routage direct vers P2PDestination

Attention!:En raison de la traditionDevice Prise en charge de l'accès verrouillé ,SiACS P2P La cible de redirection de la demande est traditionnelle Device, Impossible de garantir l'atomicité de l'accès .


2.5 ACS Traitement des erreurs de violation

  Des défauts de conception matérielle ou logicielle peuvent causerACSViolation.Pour faciliter l'isolement des erreurs et l'analyse des causes des erreurs,RecommandationsACS Mise en œuvre dans les composants AER(Advanced Error Reporting)Capacité.OuvertAER prefix/header Après la fonction d'enregistrement ,Si elle apparaîtACSViolation, Peut être demandé en analysant prefix/header Pour localiser la cause du problème .

  Quand ça arriveACS En cas de violation , En tant qu'achèvement ACS Les composants doivent être traités conformément aux règles suivantes: :

  • Pour les demandes non transmises , L'état d'achèvement doit être généré par l'achèvement CA Opérations achevées pour ;
  • L'achèvement doit être documenté et signalé. ACS Erreur de violation . Même si c'est déjà fait. CAOpérations achevées, Il devrait également être enregistré et signalé comme d'habitude. ACS Erreur de violation , Et enregistrer les erreurs ; Si l'erreur n'est pas fatale ,L'erreur est traitée conformément aux règles applicables.

2.6 ACS Effet de la redirection sur la collation

  C'est ouvertACS P2P Après avoir demandé la fonction de redirection ,Après redirectionP2PLa demande peut enfreindre les règles normales de tri des transactions.


️2.6.1 Violation du tri 1 - La transaction terminée dépasse la transaction de demande de renvoi

   Violation du tri :SelonPCIeTri des transactions,Les transactions d'achèvement non triées en vrac ne peuvent pas dépasser les transactions de demande de renvoi.Mais quandP2P La demande de renvoi est redirigée vers l'arrière , Suivi P2P Les transactions d'achèvement non laxistes sont acheminées directement vers P2PDestination,La transaction de demande de renvoi en arrière a donc été dépassée.

  Solutions: Pour éviter cette violation de tri , Disponible sur ACS P2P Redirection complète .C'est ouvertACS P2P Une fois la redirection terminée ,Tous lesP2P Opérations d'achèvement non triées avec P2P Les demandes de renvoi sont redirigées de la même manière .Parce que c'est pareil.TC La transaction demandée pour , Après le redémarrage de la transaction d'achèvement , Même si elle n'est pas allumée P2P Redirection de la demande de renvoi , Et n'affecte pas la collation .

  C'est ouvertACS Une fois la transaction terminée ,TousP2P Toutes les transactions sont envoyées en premier. RC Et les envoyer P2PDestination, Apparemment, c'est mieux que d'aller directement P2P La destination est lente , Affecter les performances de transmission .Compte tenu du fait que les transactions finies avec un tri lâche activé ne sont pas redirigées,Il est fortement recommandé au demandeur d'activer et de compléter le tri des transactions libres, Amélioration des performances à la fois .


️2.6.2 Violation du tri 2 - La transaction demandée dépasse la transaction demandée transmise

   Violation du tri :SelonPCIeTri des transactions,Une transaction de demande de renvoi qui n'est pas une transaction de demande de renvoi ou une transaction de demande de renvoi qui n'est pas triée de façon lâche ne peut pas dépasser une transaction de demande de renvoi.SiACS P2P Demande de redirection et ACS Conversion directionnelle P2P Fonction activée simultanément , La partie facile à apparaître P2PDemande redirigée、SectionP2P Demande directe P2P Situation au moment de l'objectif , Cela entraîne une violation de la règle de tri .

  Solutions: Pour éviter de telles violations de tri ,.Les deux ne peuvent être activés que s'il est établi à l'avance que la violation ne se produira pasACSFonction.



️️️️️️️️️️️️️️️️️️️️️️️️️️

3. ACSConfiguration du logiciel

   Ce n'est pas pour ça. PCIe Tous les composants ont ACSCapacité, Pas vraiment. ACSCompetentPCIe Les composants ont tous ACS Capacité de contrôle d'accès .InPCIe Lors de l'énumération des appareils , Vue du logiciel PCIe ACS Registre des structures d'extensibilité (Fig.2,Fig.3)Pour confirmerPCIe Le composant a - t - il ACS Capacité de contrôle d'accès , Lecture du logiciel ACS Registre des capacités pour savoir ce qu'il a ACSCapacité(Fig.4).ACS Le service est désactivé par défaut sur le matériel ,Je veux utiliserACS Le Service de contrôle d'accès doit être configuré par logiciel ACSRegistre de contrôle(Fig.5) Pour ouvrir la capacité correspondante .

Fig.2 ACSStructure des capacités d'expansion

Fig.2 ACSStructure des capacités d'expansion

Fig.3 ACS En - tête de structure extensible

Fig.3 ACS En - tête de structure extensible

Fig.4 ACSRegistre des capacités

Fig.4 ACSRegistre des capacités

Fig.5 ACSRegistre de contrôle

Fig.5 ACSRegistre de contrôle



RÉFÉRENCES

  1. PCI Express Base Specification Revision 5.0 Version 1.0 (22 May 2019)
  2. PCI-SIG, ACS Enhancement
  3. PCIE Problème d'adresse du bus
  4. PCI-SIG SR-IOV Primer
  5. IOMMU group and PCIe ACSQuestions
  6. Introduction to PCIe Access Control Services
  7. IOMMU Comment diviser PCI device groupDe
  8. PCIe Glossary | PLDA
  9. PCI Passthrough with PCIe devices behind a non-ACS switch in vSphere

版权声明
本文为[Mangopapa]所创,转载请带上原文链接,感谢
https://chowdera.com/2021/10/20211013211639756i.html

随机推荐