Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ module ietf-cmis-control-action {
"IETF CCAMP Working Group";

contact
"WG Web: <http://tools.ietf.org/wg/ccamp/>
"WG Web: <https://datatracker.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org>

Editor: Shunsuke Homma
Expand Down Expand Up @@ -115,10 +115,11 @@ module ietf-cmis-control-action {
"Write CMIS register data via action context.
The operation MUST respect the governance policy defined
in the 'cmis-control' container of the target interface.
If the target page is not in the 'remote-write-allowed-pages'
list, the server MUST reject the request.
Writing to Lower Memory (Address 0-127) MUST NOT be performed
to prevent interference with Host management.";
If the target page is not in the
'remote-write-allowed-pages' list, the server MUST
reject the request. Writing to Lower Memory
(Address 0-127) MUST NOT be performed to prevent
interference with Host management.";
input {
leaf page {
type uint8;
Expand Down Expand Up @@ -153,21 +154,23 @@ module ietf-cmis-control-action {
governance policy (e.g., page not in whitelist).";
}
enum io-error {
description "I/O error during write";
description "I/O error during write.";
}
enum invalid-params {
description "Bad parameters";
}
}
description "Result of the write operation.";
}

leaf post-write-value {
type binary;
description
"Optional read-back of the target value after write.
Present only if the implementation performed a read-back
(e.g., for 'rw' registers). Not present for 'wo' registers
or when no-readback was requested/possible.";
(e.g., for 'rw' registers). Not present for 'wo'
registers or when no-readback was
requested/possible.";
}
}
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
module ietf-cmis-control-primitive {
yang-version 1.1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-cmis-control-primitive";
prefix cmis-ctrl-pm;

import ietf-interfaces {
prefix if;
}

organization
"IETF CCAMP Working Group";

contact
"WG Web: <https://datatracker.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org>

Editor: Shunsuke Homma
<mailto:shunsuke.homma.ietf@gmail.com>

Editor: Hitoshi Irino
<mailto:hitoshi.irino.ntt@gmail.com>";

description
"This YANG module defines a primitive data model for the
management of CMIS (Common Management Interface Specification)
pages as specified by OIF. It treats CMIS page memory as a
flat data structure without supplemental information such as
access types or descriptions, to support the management of
pluggable optical modules via NETCONF or RESTCONF.

Copyright (c) 2026 IETF Trust and the persons identified
as authors of the code. All rights reserved.

Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and
subject to the license terms contained in, the Revised
BSD License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info).

This version of this YANG module is part of RFC XXXX
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
for full legal notices.";

// RFC Ed.: replace XXXX with actual RFC number and remove this note

revision "2026-06-10" {
description
"Restored the datastore-based module definition; the module
body in the previous revisions of this document had been
erroneously replaced with action definitions.";
reference
"I-D.hi-ccamp-cmis-control-yang-03";
}

revision "2025-04-21" {
description
"Initial revision.";
reference
"I-D.hi-ccamp-cmis-control-yang-00";
}

/*
* Primitive Mode of CMIS control data nodes
*/

grouping primitive-cmis-page {
description
"Parameters stored in the CMIS page as flat data structure";

leaf page-num {
type uint8 {
range "0 .. 255";
}
description
"The number of the CMIS page.";
}

leaf bank {
type uint8;
mandatory true;
description
"The banks corresponding to the CMIS page.";
}

leaf offset {
type uint8;
mandatory true;
description
"The memory address of the value.";
}

leaf size {
type uint8 {
range "1 .. 128";
}
mandatory true;
description
"The memory size of the value.";
}

leaf value {
type binary;
mandatory true;
description
"The actual data to write to the CMIS memory.";
}
}

grouping cmis-control-primitive {
description
"Parameters for primitive CMIS control of the pluggable
device equipped in the interface.";

leaf cmis-enabled {
type boolean;
default "false";
config false;
description
"The availability of the CMIS for control the pluggable
device equipped in the interface. If the device does not
support CMIS, this value is false.";
}

leaf cmis-version {
type string;
config false;
description
"The version of the CMIS by the pluggable device.";
}

list primitive-cmis-page {
key "page-num";
description
"A flat representation of CMIS page memory.";
uses primitive-cmis-page;
}
}

/*
* Augment Interface
*/

augment "/if:interfaces/if:interface" {
description
"Augments interface with primitive CMIS control parameters.";
container cmis-control-primitive {
description
"Container for primitive CMIS control.";
uses cmis-control-primitive;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ module ietf-cmis-control-rpc {
"IETF CCAMP Working Group";

contact
"WG Web: <http://tools.ietf.org/wg/ccamp/>
"WG Web: <https://datatracker.ietf.org/wg/ccamp/>
WG List: <mailto:ccamp@ietf.org>

Editor: Shunsuke Homma
Expand Down Expand Up @@ -115,10 +115,11 @@ module ietf-cmis-control-rpc {
"Write CMIS register data to a pluggable module.
The operation MUST respect the governance policy defined
in the 'cmis-control' container of the target interface.
If the target page is not in the 'remote-write-allowed-pages'
list, the server MUST reject the request.
Writing to Lower Memory (Address 0-127) MUST NOT be performed
to prevent interference with Host management.";
If the target page is not in the
'remote-write-allowed-pages' list, the server MUST
reject the request. Writing to Lower Memory
(Address 0-127) MUST NOT be performed to prevent
interference with Host management.";
input {
leaf interface-name {
type leafref{
Expand Down
Loading
Loading