Résumé

  • La révision 04 de draft-hi-ccamp-cmis-control-yang est disponible depuis le 9 septembre 2026. Il s’agit d’un Internet-Draft individuel actif, à l’état I-D Exists, et non d’un document adopté par CCAMP, d’un RFC ou d’une norme déployée.
  • Une nouvelle section définit le transfert de contrôle : inscrire une page dans remote-write-allowed-pages confie les écritures au système distant ; l’en retirer révoque ce pouvoir et oblige le NOS hôte à rétablir sa configuration locale.
  • Le même texte laisse explicitement hors périmètre l’atomicité et l’exclusion mutuelle des opérations CMIS en plusieurs étapes. Une opération partiellement appliquée au moment de la révocation ne dispose donc pas d’un état de protocole commun marquant la fin du rédacteur distant.
  • Daniel Kade propose une machine d’états locale de mise au repos entre révocation et reprise par l’hôte. Cette discipline de déploiement n’est pas une exigence de l’IETF et ne doit conserver que les faits minimaux nécessaires à une vérification locale.

Un droit d’écriture devient une responsabilité opérationnelle

Le texte immuable de la révision 04 porte la date du 9 septembre 2026. L’enregistrement API de Datatracker confirme le numéro 04, une expiration au 13 mars 2027 et les états Active et I-D Exists. Le dépôt reste individuel, sans filière RFC ni Area Director responsable. La mention « Standards Track » dans l’en-tête exprime une intention, pas une adoption par le groupe CCAMP.

Le projet traite d’un besoin réel des modules Digital Coherent Optics enfichables. Leur mémoire CMIS contient des pages standard et des pages personnalisées par le fabricant. Le NOS du routeur peut gérer les fonctions abstraites déjà connues ; un contrôleur optique distant ou une application tierce peut devoir atteindre une fonction propriétaire, ou une fonction standard que le NOS n’a pas encore intégrée. Les modules YANG proposés offrent alors des lectures, écritures, actions, RPC et notifications au niveau des registres.

La révision 04 resserre cette ouverture. Elle présente cet accès brut comme complément des modèles abstraits, non comme substitut. Elle recommande de commencer au laboratoire, pendant la mise en service ou le dépannage, puis de privilégier en production la lecture et la surveillance avant d’autoriser des écritures limitées à des pages et procédures validées.

Surtout, elle ajoute une section « Control Handover ». Lorsqu’une page rejoint remote-write-allowed-pages, le contrôle de ses écritures est délégué au système distant. Le NOS hôte ne doit plus modifier de lui-même les registres correspondants, sauf intervention de sûreté — par exemple l’arrêt d’un émetteur — et devrait ensuite avertir le contrôleur.

Lorsque la page est retirée, la délégation cesse. Le NOS doit imposer sa configuration locale, écraser les valeurs modifiées à distance ou les remettre aux valeurs par défaut prévues par le modèle. La révocation s’applique aux opérations lancées après le changement de gouvernance. Les écritures distantes en vol qui n’ont pas encore été appliquées devraient être rejetées.

La liste ne distribue donc pas seulement des permissions. Elle désigne celui qui porte la main sur une portion du dispositif, organise une exception de sécurité et ordonne une restitution de l’état.

Le changement de ligne est administratif ; le changement de maître est opérationnel.

« Pas encore appliquée » n’est pas toujours un instant unique

Une écriture simple peut avoir un résultat observable. Une procédure optique composée est moins docile. Une première commande peut choisir une page, la suivante placer des paramètres, une troisième déclencher leur prise en compte. Plusieurs pages peuvent former une seule manœuvre. Au milieu de cette suite, le système doit pouvoir distinguer quatre cas : rien n’a commencé ; tout est terminé ; l’opération est annulée ; ou certains effets subsistent sans verdict certain.

Le projet reconnaît la limite. Sa partie sécurité précise qu’il ne définit ni atomicité ni exclusion mutuelle pour les opérations CMIS multiétapes entre le NOS et un système distant. La coordination relève de l’opérateur et reste hors périmètre.

Cette franchise est préférable à une promesse fictive. Elle ne suffit pas pour exploiter le transfert. La nouvelle règle peut interdire la prochaine requête distante ; elle ne prouve pas que le rédacteur précédent a cessé, qu’une séquence partielle a été neutralisée ou que la configuration locale a été rejouée dans un ordre sûr. L’instant où une autorisation change et celui où l’équipement atteint un état cohérent ne se confondent pas.

Les conséquences possibles expliquent la prudence du texte. Des registres peuvent modifier puissance de sortie et fréquence, au risque de perturber d’autres longueurs d’onde actives. La mémoire basse ne doit jamais être ouverte aux écritures distantes, car elle contient des drapeaux de gestion de l’hôte et les registres de sélection de page. Les pages CDB de gestion du micrologiciel, de 9Fh à AFh, sont également interdites afin qu’une délégation ne puisse lancer une mise à jour persistante. Ces limites fermes réduisent le domaine du danger ; elles ne donnent pas un état terminal à une opération autorisée puis interrompue.

Une lecture peut emporter la preuve

La difficulté ne concerne pas que l’écriture. Certains registres sont « clear-on-read » : la première lecture efface l’événement. Si le contrôleur lit, le NOS peut ne plus le voir, et inversement. La révision 04 confie au système distant la responsabilité de ces lectures pendant la délégation et qualifie l’usage concurrent de défaut de conception de la délégation.

Au retour, la garde de cette preuve doit elle aussi changer de main. Le NOS ne devrait pas consommer un événement non transmis en cherchant à vérifier l’état. Il ne peut pas davantage interpréter un registre vide comme absence d’incident lorsque le contrôleur l’a déjà lu. Le dernier lecteur responsable, ou l’impossibilité de préserver l’état, appartient donc au transfert.

RFC 8341 permet de limiter dans NETCONF et RESTCONF les utilisateurs, les opérations et les nœuds de données. Le projet ajoute la granularité de page parce que NACM ne peut filtrer une action ou un RPC selon la valeur d’un paramètre d’entrée tel que le numéro de page. Les deux protections sont complémentaires. Aucune ne certifie à elle seule qu’un ancien maître a terminé et que le nouveau dispose d’un état reconcilié.

Une barrière de repos avant de rendre l’autonomie

Une solution limitée peut rester locale. Elle consiste à représenter la restitution par quatre états ordinaires, plus une voie d’urgence.

Dans REMOTE_ACTIVE, l’identité du contrôleur, l’équipement ou l’interface, l’ensemble des pages et la version de gouvernance fixent la portée des écritures distantes. La révocation ouvre QUIESCING : aucune nouvelle opération distante n’entre, et chaque opération en cours reçoit une issue — terminée, annulée ou indéterminée. Une suite en plusieurs étapes doit obtenir un seul état terminal.

Vient ensuite HOST_RECONCILING. Le NOS rejoue sa configuration dans un ordre déclaré, traite la garde des registres effaçables à la lecture et vérifie les invariants locaux utiles : page sélectionnée, état de l’émetteur, fréquence, puissance ou lien, selon la fonction. L’autonomie ne revient qu’après cette vérification, dans HOST_ACTIVE.

SAFETY_OVERRIDE reste une branche séparée. Une menace immédiate peut justifier l’arrêt de l’émetteur sans attendre. Mais l’exception doit rester visible, désigner son périmètre, avertir le contrôleur lorsque possible et rejoindre la phase de réconciliation. L’urgence interrompt la possession normale ; elle ne doit pas en réécrire silencieusement l’historique.

Le dossier minimal contient la révision du module et son empreinte, l’équipement, l’interface et les pages, le propriétaire courant, la version de gouvernance, l’heure de coupure, l’état de transition, le sort des opérations en vol, la dernière opération acceptée si elle est disponible, la version de configuration locale, la garde des lectures destructrices, l’intervention de sûreté, le résultat de réconciliation et le responsable. Les valeurs propriétaires, la topologie privée et les détails exploitables restent internes.

Cette architecture reprend la retenue de la Minimum Initial Specification de Heng Lu : rendre déterministes les règles communes nécessaires à la sécurité et à la transition d’état, laisser la sémantique du fabricant et les choix d’exploitation au niveau local. The Policy Mirror ajoute l’exigence de pouvoir reconstruire règle, autorité et résultat après l’action. La machine d’états est ma proposition, pas celle du projet.

Le projet ne fournit pas encore de preuve de déploiement

La révision 04 complète utilement ses garde-fous. Une lecture non filtrée ou trop fréquente peut saturer le bus interne lent et partagé ; elle recommande des opérations ciblées, des limites, du filtrage et du contrôle de débit. La plateforme peut être plus restrictive que la liste configurée, même si l’annonce de ces restrictions attend une révision ultérieure.

La section d’état d’implémentation conserve toutefois uniquement ses champs de modèle non renseignés. Le compte rendu CCAMP de l’IETF 126 rapporte des questions sur le retour des opérateurs, la dépendance à l’implémentation, le chevauchement avec les modèles abstraits et l’éventualité d’un statut expérimental. Ce sont des interventions, pas une décision collective.

Aucune source ne démontre ici course réelle, panne, brouillage optique, micrologiciel compromis ou produit défaillant. Le constat est plus précis : la révision 04 sait désormais dire qui écrit sur une page autorisée et comment les valeurs locales doivent revenir, mais elle confie encore à l’opérateur la fin d’une séquence multiétape. Avant la production, il faut un point vérifiable où le contrôleur est silencieux et où l’hôte a retrouvé un état cohérent.

Sources