Skip to content

yc.o sync #1654

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 4, 2025
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
146 changes: 146 additions & 0 deletions experimental/ietf-extracted-YANG-modules/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
module ietf-schc-icmpv6 {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-schc-icmpv6";
prefix schc-icmpv6;

import ietf-schc {
prefix schc;
}

organization
"IETF Static Context Header Compression (schc) working group";
contact
"WG Web: <https://datatracker.ietf.org/wg/schc/about/>
WG List: <mailto:[email protected]>
Editor: Laurent Toutain
<mailto:[email protected]>
Editor: Ana Minaburo
<mailto:[email protected]>";
description
"
Copyright (c) 2021 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 Simplified BSD License set
forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(https://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.

The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
'MAY', and 'OPTIONAL' in this document are to be interpreted as
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
they appear in all capitals, as shown here.

*******************************************************************

This module extends the ietf-schc module to include the
describe ICMPv6 Field IDs, MO and CDA described in RFC YYYY.
It does not introduce new leaf in the Data Model.";

revision 2024-11-20 {
description
"Initial version for RFC YYYY ";
reference
"RFC YYYY: ICMPv6";
}

identity fid-icmpv6-base-type {
base schc:fid-base-type;
description
"Field IP base type for ICMPv6 headers described in RFC 4443";
reference
"RFC 4443 Internet Control Message Protocol (ICMPv6)
for the Internet Protocol Version 6 (IPv6)
Specification";
}

// ICMPv6 Fields

identity fid-icmpv6-type {
base fid-icmpv6-base-type;
description
"ICMPv6 code field present in all ICMPv6 messages.";
}

identity fid-icmpv6-code {
base fid-icmpv6-base-type;
description
"ICMPv6 code field present in all ICMPv6 messages.";
}

identity fid-icmpv6-checksum {
base fid-icmpv6-base-type;
description
"ICMPv6 checksum field present in all ICMPv6 messages.";
}

identity fid-icmpv6-mtu {
base fid-icmpv6-base-type;
description
"ICMPv6 MTU, present in Packet Too Big message.";
}

identity fid-icmpv6-pointer {
base fid-icmpv6-base-type;
description
"ICMPv6 Pointer, present in Parameter Problem message.";
}

identity fid-icmpv6-identifier {
base fid-icmpv6-base-type;
description
"ICMPv6 identifier field, present in Echo Request/Reply
message.";
}

identity fid-icmpv6-sequence {
base fid-icmpv6-base-type;
description
"ICMPv6 sequence number field, present in Echo Request/Reply
message.";
}

identity fid-icmpv6-payload {
base fid-icmpv6-base-type;
description
"ICMPv6 payload following ICMPv6 header.
If payload is empty, this field exists with a length of 0.";
}

// MO and CDA

identity mo-rule-match {
base schc:mo-base-type;
description
"Macthing operator return true, if the TV matches a rule
keeping UP and DOWN direction.";
}

identity mo-rev-rule-match {
base schc:mo-base-type;
description
"Macthing operator return true, if the TV matches a rule
reversing UP and DOWN direction.";
}

identity cda-compress-sent {
base schc:mo-base-type;
description
"Send a compressed version of TV keeping UP and
DOWN direction.";
}

identity cda-rev-compress-sent {
base schc:mo-base-type;
description
"Send a compressed version of TV reversing UP and
DOWN direction.";
}
}
111 changes: 66 additions & 45 deletions ...es/[email protected] → ...es/[email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ module ietf-telemetry-message {
}
import ietf-inet-types {
prefix inet;
reference
"RFC 6991: Common YANG Data Types";
}
import ietf-platform-manifest {
prefix p-mf;
Expand All @@ -27,8 +29,9 @@ module ietf-telemetry-message {
Thomas Graf
<mailto:[email protected]>";
description
"This YANG modules defines a model for a telemetry collector to send
collected YANG data from the network.
"This YANG module defines an extensible message schema to be used at
the data collection to transform Network Telemetry messages into
external systems such as Message Brokers.

Copyright (c) 2025 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Expand All @@ -42,7 +45,7 @@ module ietf-telemetry-message {
This version of this YANG module is part of RFC XXXX; see the RFC
itself for full legal notices.";

revision 2025-04-17 {
revision 2025-06-10 {
description
"Initial revision.";
reference
Expand Down Expand Up @@ -79,6 +82,16 @@ module ietf-telemetry-message {
"RFC 8040.";
}

feature network-node-manifest {
description
"This feature indicates the network node manifest support.";
}

feature data-collection-manifest {
description
"This feature indicates the data collection manifest support.";
}

typedef telemetry-notification-event-type {
type enumeration {
enum log {
Expand Down Expand Up @@ -108,78 +121,86 @@ module ietf-telemetry-message {
base session-protocol;
}
description
"Notification protocol used to deliver the notification to the
data collection.";
"Network Telemetry protocol used to deliver the notification
between the network node and the data collection.";
}

container message {
config false;
description
"Telemetry message used in Data Mesh";
leaf timestamp {
type yang:date-and-time;
mandatory true;
description
"Timestamp when the data collection collected the payload
from the network element or an update or delete event is
triggered.";
}
leaf session-protocol {
type telemetry-session-protocol-type;
mandatory true;
description
"Session protocol used to collect the payload of this message
from the network";
}
"Telemetry message used within the Data Mesh";
container network-node-manifest {
if-feature "network-node-manifest";
description
"Address of network element from which the payload is
collected.";
uses p-mf:platform-details;
}
container data-collection-manifest {
description
"Address of the telemetry data collection.";
"Contains the Data Manifest about the network node that
exported Network Telemetry data.";
uses p-mf:platform-details;
}
container telemetry-message-metadata {
description
"Extensible message and protocol specific metadata";
leaf event-time {
"contains the session information about the session between the
collector and the network node.";
leaf node-export-timestamp {
type yang:date-and-time;
description
"NETCONF eventTime. Redefined in here since NETCONF header is
XML not YANG.";
"Timestamp when the Network Telemetry data has been exported
from network element.";
}
}
container data-collection-metadata {
description
"Metadata added by data collection.";
leaf remote-address {
leaf collection-timestamp {
type yang:date-and-time;
mandatory true;
description
"Timestamp when the data collection collected the Network
Telemetry data from the network element.";
}
leaf session-protocol {
type telemetry-session-protocol-type;
mandatory true;
description
"Session protocol used to collect the Network Telemetry data
from the network node.";
}
leaf export-address {
type inet:host;
mandatory true;
description
"Network node IP address.";
"Network node IP address from where the Network Telemetry data
was exported from.";
}
leaf remote-port {
leaf export-port {
type inet:port-number;
description
"Network node transport port number.";
"Network node transport port number from where the Network
Telemetry data was exported.";
}
leaf local-address {
leaf collection-address {
type inet:host;
description
"Data collection IP address.";
"Data collection IP address at which the Network Telemetry
data was collected.";
}
leaf local-port {
leaf collection-port {
type inet:port-number;
description
"Data collection transport port number.";
"Data collection transport port number at which the Network
Telemetry data was collected.";
}
}
container data-collection-manifest {
if-feature "data-collection-manifest";
description
"Contains the Data Manifest of the data collection which
collected the Network Telemetry data.";
uses p-mf:platform-details;
}
container network-operator-metadata {
description
"Network operator specific metadata added by the Network
Telemetry data collection.";
list labels {
key "name";
description
"Arbiterary labels assinged by the data collection.";
"Abritrary labels assinged by the data collection.";
leaf name {
type string {
length "1..max";
Expand Down
23 changes: 12 additions & 11 deletions [email protected][email protected]
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ module ietf-yang-push-telemetry-message {
import ietf-telemetry-message {
prefix tm;
reference
"XXX";
"draft-netana-nmop-message-broker-telemetry-message: Extensible
YANG Model for Network Telemetry Messages";
}
import ietf-yang-push {
prefix yp;
Expand All @@ -33,14 +34,13 @@ module ietf-yang-push-telemetry-message {
import ietf-yang-revisions {
prefix rev;
reference
"RFC YYYY: draft-ietf-netmod-yang-module-versioning-11,
Updated YANG Module Revision Handling";
"draft-ietf-netmod-yang-module-versioning: Updated YANG Module
Revision Handling";
}
import ietf-yang-semver {
prefix ysver;
reference
"RFC ZZZZ: draft-ietf-netmod-yang-semver-15, YANG Semantic
Versioning";
"draft-ietf-netmod-yang-semver: YANG Semantic Versioning";
}

organization
Expand All @@ -52,8 +52,9 @@ module ietf-yang-push-telemetry-message {
Thomas Graf
<mailto:[email protected]>";
description
"Augments the ietf-telemetry-message with YANG Push specific
fields.
"Adds YANG-Push specific subscription metadata to the data
collection protocol provenance of the ietf-telemetry-message
envelope.

The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL',
'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED',
Expand All @@ -74,7 +75,7 @@ module ietf-yang-push-telemetry-message {
This version of this YANG module is part of RFC XXXX; see the RFC
itself for full legal notices.";

revision 2025-04-17 {
revision 2025-06-10 {
description
"Initial revision.";
reference
Expand All @@ -84,11 +85,11 @@ module ietf-yang-push-telemetry-message {
augment "/tm:message/tm:telemetry-message-metadata" {
description
"Augments telemetry-message-metadata with YANG-Push specific
metadata";
subscription metadata";
container yang-push-subscription {
config false;
description
"YANG-Push specific metadata";
"YANG-Push specific subscription metadata";
leaf id {
type sn:subscription-id;
description
Expand All @@ -105,7 +106,7 @@ module ietf-yang-push-telemetry-message {
Section 6.";
reference
"RFC 6241: Network Configuration Protocol (NETCONF),
Section 6.";
Section 6.";
}
leaf xpath-filter {
type yang:xpath1.0;
Expand Down