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
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ module ietf-bmp-tcp-dependencies {

import ietf-bmp {
prefix bmp;
reference
"RFC XXXX: BMP YANG Module.";
}
import ietf-tcp {
prefix tcp;
reference
"RFC 9648: YANG Data
Model for TCP.";
}
import ietf-tcp-common {
prefix tcpcmn;
Expand All @@ -28,13 +36,19 @@ module ietf-bmp-tcp-dependencies {
<mailto:camilo@ntt.net>

Author: Paolo Lucente
<mailto:cpaolo@ntt.net>
<mailto:paolo@ntt.net>

Author: Thomas Graf
<mailto:thomas.graf@swisscom.com>

Author: Benoit Claise
<mailto:benoit.claise@huawei.com>";
<mailto:benoit@everything-ops.net>

Author: Dhananjay Patki
<mailto:dhpatki@cisco.com>

Author: Prasad S. Narasimha
<mailto:snprasad@cisco.com>";
description
"This module specifies a structure for BMP
(BGP Monitoring Protocol) configuration and monitoring.
Expand Down Expand Up @@ -65,32 +79,56 @@ module ietf-bmp-tcp-dependencies {
description
"initial version";
reference
"RFC YYYY: BMP YANG Module
RFC-EDITOR: please update YYYY with this RFC ID";
"RFC XXXX: BMP YANG Data Model";
}

augment "/bmp:bmp/bmp:monitoring-stations/"
+ "bmp:monitoring-station/"
+ "bmp:connection/bmp:tcp-options" {
description
"Augment the tcp options of the BMP model";
"Augment the tcp options of the ietf-bmp module";
leaf mss {
type tcp:mss;
description
"Maximum segment size (MSS) for the TCP connections.
In the absence of this container, the system
will select the maximum segment size for this
connection.";
reference
"RFC 9293: Transmission Control
Protocol (TCP) Specification.
RFC 9648: YANG Data Model for TCP.";
}
uses tcpcmn:tcp-common-grouping;
leaf maximum-segment-size {
type uint16;
description
"Maximum segment size for the TCP connections.
In the absence of this container, the system
will select the maximum segment size for this
connection.";
}
container secure-session {
presence "Means the session should be secure. ";
if-feature "tcp:authentication";
presence "The presence of this container means the
session should be secured. ";
description
"Container for describing how a particular BMP session
is to be secured.";
is to be secured. Based on RFC 9293 implementation.";
reference
"RFC 9293: Transmission Control
Protocol (TCP) Specification";
choice authentication {
mandatory true;
description
"Choice of TCP authentication.";
case ao {
description
"Uses TCP-AO to secure the session. Parameters for
those are defined as a grouping in the TCP YANG
model.";
"Uses TCP-AO to secure the session.";
reference
"RFC 5925 - The TCP Authentication Option.";
"RFC 5925 - The TCP Authentication Option.
RFC 9648: YANG Data Model for TCP (grouping ao).";
uses tcp:ao;
leaf ao-keychain {
type key-chain:key-chain-ref;
description
Expand All @@ -103,11 +141,10 @@ module ietf-bmp-tcp-dependencies {
}
case md5 {
description
"Uses TCP-MD5 to secure the session. Parameters for
those are defined as a grouping in the TCP YANG
model.";
"Uses TCP-MD5 to secure the session. .";
reference
"RFC 5925: The TCP Authentication Option.";
"RFC 2385: Protection of BGP Sessions
via the TCP MD5 Signature Option.";
leaf md5-keychain {
type key-chain:key-chain-ref;
description
Expand All @@ -121,4 +158,4 @@ module ietf-bmp-tcp-dependencies {
}
}
}
}
}
89 changes: 22 additions & 67 deletions experimental/ietf-extracted-YANG-modules/ietf-bmp@2025-01-02.yang
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ module ietf-bmp {

import ietf-yang-types {
prefix yang;
reference
"RFC 6991: Common YANG Data Types";
}
import ietf-inet-types {
prefix inet;
Expand Down Expand Up @@ -40,17 +42,18 @@ module ietf-bmp {
contact
"WG Web: <https://datatracker.ietf.org/wg/grow/>
WG List: <mailto:grow@ietf.org>

Author: Camilo Cardona
<mailto:camilo@ntt.net>

Author: Paolo Lucente
<mailto:cpaolo@ntt.net>
<mailto:paolo@ntt.net>

Author: Thomas Graf
<mailto:thomas.graf@swisscom.com>

Author: Benoit Claise
<mailto:benoit.claise@huawei.com>
<mailto:benoit@everything-ops.net>

Author: Dhananjay Patki
<mailto:dhpatki@cisco.com>
Expand Down Expand Up @@ -86,8 +89,7 @@ module ietf-bmp {
description
"initial version";
reference
"RFC YYYY: BMP YANG Module
RFC-EDITOR: please update YYYY with this RFC ID";
"RFC XXXX: BMP YANG Data Model.";
}

feature bmp-filter-based-on-route-policy {
Expand All @@ -96,8 +98,9 @@ module ietf-bmp {
is capable of filtering prefixes in BMP monitoring sessions";
}

/* The next enums are temporary here until we resolve how to deal
* with them. Taken from draft-ietf-idr-bgp-model */
/* The next identities are temporary here until we resolve
* how to deal with them. Taken from
* draft-ietf-idr-bgp-model. */
/* BGP AFI-SAFI Type Identities. */

identity afi-safi-type {
Expand Down Expand Up @@ -136,6 +139,7 @@ module ietf-bmp {
"This identity selects all peers under the RIB.
When used, it acts as a default configuration.";
}

identity bmp-ni-types {
description
"Identities for selecting one or more network instances for
Expand All @@ -162,7 +166,7 @@ module ietf-bmp {
to select all network instances except the global one.";
}

/* The next types are temporary here until we resolve how to deal
/* The next type are temporary here until we resolve how to deal
* with them. Taken from draft-ietf-idr-bgp-model */
/* BGP Peer-Types */

Expand Down Expand Up @@ -411,12 +415,7 @@ module ietf-bmp {
instances SHOULD provide a way of unambiguously
selecting which configuration container should
be selected
for a peer in case of multiple matches.

Note that if the implementation supports module
ietf-bmp-bgp-dependencies, the peer configurations
under the BGP container have priority over the
configurations under this container.";
for a peer in case of multiple matches.";
container peers {
description
"Configuration for individual peers.";
Expand Down Expand Up @@ -468,11 +467,12 @@ module ietf-bmp {
key "id";
description
"Identification of peers
for which we send BMP data to the collector
using a peer type defined using a
bmp-peer-selectors identity.
for which BMP data is sent to
the collector using a peer type
defined by a bmp-peer-selectors
identity.
For instance, to create a default for all
peers use all-peers";
peers use the all-peers identity";
leaf id {
type identityref {
base bmp-peer-selectors;
Expand All @@ -497,7 +497,7 @@ module ietf-bmp {
key "id";
description
"Identification of peers
for which we send BMP data to the collector
for which BMP data is sent to the collector
using BGP peer-type (e.g. internal, external)
";
leaf id {
Expand Down Expand Up @@ -703,23 +703,16 @@ module ietf-bmp {
description
"TCP options for the connection to the monitoring
station.";
leaf maximum-segment-size {
type uint16;
description
"Maximum segment size for the TCP connections.
In the absence of this container, the system
will select the maximum segment size for this
connection.";
}
// Taken from the bgp yang module
leaf mtu-discovery {
type boolean;
default "true";
description
"Enables path MTU discovery for the TCP sessions
(true) or disables it (false).";
reference
"RFC 1191: Path MTU discovery.";
"RFC 9293: Transmission Control Protocol (TCP).
RFC 9648: YANG Data Model for TCP,
see leaf pmtud for reference.";
}
}
leaf initial-delay {
Expand Down Expand Up @@ -1064,52 +1057,14 @@ module ietf-bmp {
action session-reset {
description
"Resets the session for a station.";
output {
choice outcome {
description
"Output of the reset operation. Either a success or
failure. For the latter, the reason for the
error is provided.";
leaf success {
type empty;
description
"Reset successful.";
}
leaf failure {
type string;
description
"Reset could not be performed.
The reason is included in the field.";
}
}
}
}
action session-counter-reset {
description
"Resets the counters of a BMP monitoring station.";
output {
choice outcome {
description
"Output of the reset operation. Either a success or
failure. For the latter, the reason for the
error is provided.";
leaf success {
type empty;
description
"Counter reset successful.";
}
leaf failure {
type string;
description
"Reset could not be performed.
The reason is included in the field.";
}
}
}
}
nacm:default-deny-all;
}
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ module ietf-nrp-device {
fully conforms to the Network Management Datastore
Architecture (NMDA).

Copyright (c) 2025 IETF Trust and the persons identified as
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
Expand All @@ -66,7 +66,7 @@ module ietf-nrp-device {
// RFC Ed.: update the date below with the date of RFC
// publication and remove this note.

revision 2025-03-02 {
revision 2026-06-01 {
description
"Initial revision.";
reference
Expand All @@ -78,13 +78,12 @@ module ietf-nrp-device {
* Grouping - NRP QoS Per-Hop Behavior (PHB) profile
*/

grouping qos-phb-profile {
grouping phb-profile-ref {
description
"Grouping for NRP QoS Per-Hop Behavior (PHB) profile.";
leaf phb-profile {
type leafref {
path
"/nrp-policies/qos-profiles/phb-profile-identifier/id";
path "/nrp-policies/qos-profiles/phb-profile-identifier/id";
}
description
"PHB profile identifier, specifying the forwarding treatment
Expand Down Expand Up @@ -122,7 +121,7 @@ module ietf-nrp-device {
}
uses nrp:resource-reservation;
uses nrp:selector-id;
uses qos-phb-profile;
uses phb-profile-ref;
uses nrp:igp-congruent;
/* NRP Interface Configuration Data */
container interfaces {
Expand All @@ -139,7 +138,7 @@ module ietf-nrp-device {
}
uses nrp:resource-reservation;
uses nrp:selector-id;
uses qos-phb-profile;
uses phb-profile-ref;
}
}
}
Expand Down
Loading
Loading