module ietf-upc-subscribed-notifications {
yang-version 1.1;
namespace
"urn:ietf:params:xml:ns:yang:ietf-upc-subscribed-notifications";
prefix upcsn;
import ietf-subscribed-notifications {
prefix sn;
reference
"RFC 8639: Subscription to YANG Notifications";
}
import ietf-inet-types {
prefix inet;
reference
"RFC 6991: Common YANG Data Types";
}
organization "IETF NETCONF (Network Configuration) Working Group";
contact
"WG Web:
WG List:
Editor: Guangying Zheng
Editor: Tianran Zhou
Editor: Alexander Clemm
";
description
"Defines UDP Publish Channel as a supported transport for subscribed
event notifications.
Copyright (c) 2018 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; see the RFC
itself for full legal notices.";
revision 2020-03-26 {
description
"Initial version";
reference
"RFC XXXX: UDP based Publication Channel for Streaming Telemetry";
}
identity upc {
base sn:transport;
description
"UPC is used as transport for notification messages and state
change notifications.";
}
identity encode-cbor {
base sn:encoding;
description
"Encode data using CBOR as described in RFC 7049.";
reference
"RFC 7049: Concise Binary Object Representation";
}
identity encode-gpb {
base sn:encoding;
description
"Encode data using GPB.";
}
grouping target-receiver {
description
"Provides a reusable description of a UPC target receiver.";
leaf address {
type inet:ip-address;
description
"IP address of target upc receiver, which can be IPv4 address or
IPV6 address.";
}
leaf port {
type inet:port-number;
description
"Port number of target UPC receiver, if not specify, system
should use default port number.";
}
leaf enable-fragmentation {
type boolean;
default false;
description
"The switch for the fragmentation feature. When disabled, the
publisher will not allow fragmentation for a very large data";
}
leaf max-fragmentation-size {
when "../enable-fragmentation = true";
type uint32;
description "UPC provides a configurable max-fragmentation-size
to control the size of each message.";
}
}
augment "/sn:subscriptions/sn:subscription/sn:receivers/sn:receiver" {
description
"This augmentation allows UPC specific parameters to be
exposed for a subscription.";
uses target-receiver;
}
}