Skip to content
Open
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
18 changes: 9 additions & 9 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ anyhow = { version = "1" }
serde_with = { version = "3.20" }
indexmap = { version = "2.14" }
apache-avro = { version = "0.21" }
# TODO: clean-up and consolidate towards schema-registry-client
schema_registry_converter = { version = "4.9", default-features = false }
rdkafka = { version = "0.39", default-features = false }
tracing-test = { version = "0.2" }
Expand All @@ -102,7 +103,7 @@ sysinfo = { version = "0.39", default-features = false }
shadow-rs = { version = "2.0", default-features = false }
smallvec = { version = "1.15" }
rustc-hash = { version = "2.1" }
yang4 = { version = "0.1", features = ["bundled"] }
yang5 = { version = "0.2", features = ["bundled"] }
tempfile = { version = "3.27" }
quick-xml = { version = "0.40" }
russh = { version = "0.61" }
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
module ietf-distributed-notif {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-distributed-notif";
prefix dn;

import ietf-subscribed-notifications {
prefix sn;
reference
"RFC 8639: Subscription to YANG Notifications";
}
import ietf-yang-push {
prefix yp;
reference
"RFC 8641: Subscription to YANG Notifications for Datastore
Updates";
}

organization
"IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web: <https://datatracker.ietf.org/wg/netconf/>
WG List: <mailto:netconf@ietf.org>

Authors: Guangying Zheng
<mailto:zhengguangying@huawei.com>
Tianran Zhou
<mailto:zhoutianran@huawei.com>
Thomas Graf
<mailto:thomas.graf@swisscom.com>
Pierre Francois
<mailto:pierre.francois@insa-lyon.fr>
Eric Voit
<mailto:evoit@cisco.com>";
description
"Defines augmentation for ietf-subscribed-notifications to
enable the distributed publication with single subscription.

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
(https://trustee.ietf.org/license-info).

All revisions of IETF and IANA published modules can be found
at the YANG Parameters registry
(https://www.iana.org/assignments/yang-parameters).

This version of this YANG module is part of RFC XXXX; see
the RFC itself for full legal notices.";

revision 2026-04-13 {
description
"Initial version";
reference
"RFC XXXX: Subscription to Notifications in a Distributed
Architecture";
}

grouping message-publisher-id {
description
"Provides a reusable message-publisher-id leaf.";
leaf message-publisher-id {
type uint32;
config false;
description
"Identifies the Component software process which publishes
notification messages (e.g., processor 1 on line card 1). This
field is used to notify the receiver which publisher process
published which message. The identifier is locally unique to
the Network Node.";
}
}

grouping message-publisher-ids {
description
"Provides a reusable message-publisher-id-list leaf-list.";
leaf-list message-publisher-id {
type uint32;
config false;
description
"Identifies the Component software process which publishes
notification messages (e.g., processor 1 on line card 1). This
field is used to notify the receiver which publisher processes
are going to publish. The identifiers are locally unique to
the Network Node.";
}
}

augment "/sn:subscriptions/sn:subscription" {
description
"This augmentation allows the Message
Publisher ID to be exposed for a subscription.";
uses message-publisher-ids;
}

augment "/sn:subscription-started" {
description
"This augmentation adds the Message Publisher ID to the
subscription-started subscription change notifications.";
uses message-publisher-ids;
}

augment "/sn:subscription-modified" {
description
"This augmentation adds the Message Publisher ID to the
subscription-modified subscription change notifications.";
uses message-publisher-ids;
}

augment "/yp:push-update" {
description
"This augmentation adds the Message Publisher ID in the
push-update notification.";
uses message-publisher-id;
}

augment "/yp:push-change-update" {
description
"This augmentation adds the Message Publisher ID in the
push-change-update notification.";
uses message-publisher-id;
}
}
Loading
Loading