118 lines
3.9 KiB
YANG
118 lines
3.9 KiB
YANG
|
module ietf-tcp-common {
|
||
|
yang-version 1.1;
|
||
|
namespace "urn:ietf:params:xml:ns:yang:ietf-tcp-common";
|
||
|
prefix tcpcmn;
|
||
|
|
||
|
organization
|
||
|
"IETF NETCONF (Network Configuration) Working Group and the
|
||
|
IETF TCP Maintenance and Minor Extensions (TCPM) Working Group";
|
||
|
|
||
|
contact
|
||
|
"WG Web: https://datatracker.ietf.org/wg/netconf
|
||
|
https://datatracker.ietf.org/wg/tcpm
|
||
|
WG List: NETCONF WG list <mailto:netconf@ietf.org>
|
||
|
TCPM WG list <mailto:tcpm@ietf.org>
|
||
|
Authors: Kent Watsen <mailto:kent+ietf@watsen.net>
|
||
|
Michael Scharf
|
||
|
<mailto:michael.scharf@hs-esslingen.de>";
|
||
|
|
||
|
description
|
||
|
"This module define a reusable 'grouping' that is common
|
||
|
to both TCP-clients and TCP-servers. This grouping statement
|
||
|
is used by both the 'ietf-tcp-client' and 'ietf-tcp-server'
|
||
|
modules.
|
||
|
|
||
|
Copyright (c) 2023 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).
|
||
|
|
||
|
This version of this YANG module is part of RFC DDDD
|
||
|
(https://www.rfc-editor.org/info/rfcDDDD); 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.";
|
||
|
|
||
|
revision 2023-12-28 {
|
||
|
description
|
||
|
"Initial version";
|
||
|
reference
|
||
|
"RFC DDDD: YANG Groupings for TCP Clients and TCP Servers";
|
||
|
}
|
||
|
|
||
|
// Features
|
||
|
|
||
|
feature keepalives-supported {
|
||
|
description
|
||
|
"Indicates that keepalives are supported.";
|
||
|
}
|
||
|
|
||
|
// Groupings
|
||
|
|
||
|
grouping tcp-common-grouping {
|
||
|
description
|
||
|
"A reusable grouping for configuring TCP parameters common
|
||
|
to TCP connections as well as the operating system as a
|
||
|
whole.";
|
||
|
container keepalives {
|
||
|
if-feature "keepalives-supported";
|
||
|
description
|
||
|
"Configures the keep-alive policy, to proactively test the
|
||
|
aliveness of the TCP peer. An unresponsive TCP peer is
|
||
|
dropped after approximately (idle-time + max-probes *
|
||
|
probe-interval) seconds. Further guidance can be found
|
||
|
in Section 2.1.5 of RFC DDDD.";
|
||
|
reference
|
||
|
"RFC 9293:
|
||
|
Transmission Control Protocol (TCP), Section 3.8.4..";
|
||
|
leaf idle-time {
|
||
|
type uint16 {
|
||
|
range "1..max";
|
||
|
}
|
||
|
units "seconds";
|
||
|
default 7200;
|
||
|
description
|
||
|
"Sets the amount of time after which if no data has been
|
||
|
received from the TCP peer, a TCP-level probe message
|
||
|
will be sent to test the aliveness of the TCP peer.
|
||
|
Two hours (7200 seconds) is safe value, per RFC 1122.";
|
||
|
reference
|
||
|
"RFC 1122:
|
||
|
Requirements for Internet Hosts -- Communication Layers";
|
||
|
}
|
||
|
leaf max-probes {
|
||
|
type uint16 {
|
||
|
range "1..max";
|
||
|
}
|
||
|
default 9;
|
||
|
description
|
||
|
"Sets the maximum number of sequential keep-alive probes
|
||
|
that can fail to obtain a response from the TCP peer
|
||
|
before assuming the TCP peer is no longer alive.";
|
||
|
}
|
||
|
leaf probe-interval {
|
||
|
type uint16 {
|
||
|
range "1..max";
|
||
|
}
|
||
|
units "seconds";
|
||
|
default 75;
|
||
|
description
|
||
|
"Sets the time interval between failed probes. The interval
|
||
|
SHOULD be significantly longer than one second in order to
|
||
|
avoid harm on a congested link.";
|
||
|
}
|
||
|
} // container keepalives
|
||
|
} // grouping tcp-common-grouping
|
||
|
|
||
|
}
|