blob: 744f0964809a354d217e87f1c8ba96631a6633ad [file] [log] [blame]
Gaurav Agrawal28920d82017-10-06 17:39:42 +05301module ietf-ipfix-psamp {
2 namespace "urn:ietf:params:xml:ns:yang:ietf-ipfix-psamp";
3 prefix ipfix;
4
5 import ietf-yang-types { prefix yang; }
6 import ietf-inet-types { prefix inet; }
7
8 organization
9 "IETF IPFIX Working Group";
10
11 contact
12 "WG Web: <http://tools.ietf.org/wg/ipfix/>
13 WG List: <ipfix@ietf.org>
14
15 WG Chair: Nevil Brownlee
16 <n.brownlee@auckland.ac.nz>
17
18 WG Chair: Juergen Quittek
19 <quittek@neclab.eu>
20
21 Editor: Gerhard Muenz
22 <muenz@net.in.tum.de>";
23
24 description
25 "IPFIX/PSAMP Configuration Data Model
26
27 Copyright (c) 2012 IETF Trust and the persons identified as
28 the document authors. All rights reserved.
29 Redistribution and use in source and binary forms, with or
30 without modification, is permitted pursuant to, and subject
31 to the license terms contained in, the Simplified BSD License
32 set forth in Section 4.c of the IETF Trust's Legal Provisions
33 Relating to IETF Documents
34 (http://trustee.ietf.org/license-info).";
35
36 revision 2012-09-05 {
37 description "Initial version";
38 reference "RFC 6728: Configuration Data Model for the IP Flow
39 Information Export (IPFIX) and Packet Sampling (PSAMP)
40 Protocols";
41 }
42
43 /*****************************************************************
44 * Features
45 *****************************************************************/
46
47 feature exporter {
48 description "If supported, the Monitoring Device can be used as
49 an Exporter. Exporting Processes can be configured.";
50 }
51
52 feature collector {
53 description "If supported, the Monitoring Device can be used as
54 a Collector. Collecting Processes can be configured.";
55 }
56
57 feature meter {
58 description "If supported, Observation Points, Selection
59 Processes, and Caches can be configured.";
60 }
61
62 feature psampSampCountBased {
63 description "If supported, the Monitoring Device supports
64 count-based Sampling. The Selector method sampCountBased can
65 be configured.";
66 }
67
68 feature psampSampTimeBased {
69 description "If supported, the Monitoring Device supports
70 time-based Sampling. The Selector method sampTimeBased can
71 be configured.";
72 }
73
74 feature psampSampRandOutOfN {
75 description "If supported, the Monitoring Device supports
76 random n-out-of-N Sampling. The Selector method
77 sampRandOutOfN can be configured.";
78 }
79
80 feature psampSampUniProb {
81 description "If supported, the Monitoring Device supports
82 uniform probabilistic Sampling. The Selector method
83 sampUniProb can be configured.";
84 }
85
86 feature psampFilterMatch {
87 description "If supported, the Monitoring Device supports
88 property match Filtering. The Selector method filterMatch
89 can be configured.";
90 }
91
92 feature psampFilterHash {
93 description "If supported, the Monitoring Device supports
94 hash-based Filtering. The Selector method filterHash can be
95 configured.";
96 }
97
98 feature immediateCache {
99 description "If supported, the Monitoring Device supports
100 Caches generating PSAMP Packet Reports by configuration with
101 immediateCache.";
102 }
103
104 feature timeoutCache {
105 description "If supported, the Monitoring Device supports
106 Caches generating IPFIX Flow Records by configuration with
107 timeoutCache.";
108 }
109
110 feature naturalCache {
111 description "If supported, the Monitoring Device supports
112 Caches generating IPFIX Flow Records by configuration with
113 naturalCache.";
114 }
115
116 feature permanentCache {
117 description "If supported, the Monitoring Device supports
118 Caches generating IPFIX Flow Records by configuration with
119 permanentCache.";
120 }
121
122 feature udpTransport {
123 description "If supported, the Monitoring Device supports UDP
124 as the transport protocol.";
125 }
126
127 feature tcpTransport {
128 description "If supported, the Monitoring Device supports TCP
129 as the transport protocol.";
130 }
131
132 feature fileReader {
133 description "If supported, the Monitoring Device supports the
134 configuration of Collecting Processes as File Readers.";
135 }
136
137 feature fileWriter {
138 description "If supported, the Monitoring Device supports the
139 configuration of Exporting Processes as File Writers.";
140 }
141
142 /*****************************************************************
143 * Identities
144 *****************************************************************/
145
146 /*** Hash function identities ***/
147 identity hashFunction {
148 description "Base identity for all hash functions used for
149 hash-based packet Filtering. Identities derived from
150 this base are used by the leaf
151 /ipfix/selectionProcess/selector/filterHash/hashFunction.";
152 }
153 identity BOB {
154 base "hashFunction";
155 description "BOB hash function";
156 reference "RFC 5475, Section 6.2.4.1.";
157 }
158 identity IPSX {
159 base "hashFunction";
160 description "IPSX hash function";
161 reference "RFC 5475, Section 6.2.4.1.";
162 }
163 identity CRC {
164 base "hashFunction";
165 description "CRC hash function";
166 reference "RFC 5475, Section 6.2.4.1.";
167 }
168
169 /*** Export mode identities ***/
170 identity exportMode {
171 description "Base identity for different usages of export
172 destinations configured for an Exporting Process.
173 Identities derived from this base are used by the leaf
174 /ipfix/exportingProcess/exportMode.";
175 }
176 identity parallel {
177 base "exportMode";
178 description "Parallel export of Data Records to all
179 destinations configured for the Exporting Process.";
180 }
181 identity loadBalancing {
182 base "exportMode";
183 description "Load-balancing between the different destinations
184 configured for the Exporting Process.";
185 }
186 identity fallback {
187 base "exportMode";
188 description "Export to the primary destination (i.e., the first
189 SCTP, UDP, TCP, or file destination configured for the
190 Exporting Process). If the export to the primary destination
191 fails, the Exporting Process tries to export to the secondary
192 destination. If the secondary destination fails as well, it
193 continues with the tertiary, etc.";
194 }
195
196 /*** Options type identities ***/
197 identity optionsType {
198 description "Base identity for report types exported with
199 options. Identities derived from this base are used by the leaf
200 /ipfix/exportingProcess/options/optionsType.";
201 }
202 identity meteringStatistics {
203 base "optionsType";
204 description "Metering Process Statistics.";
205 reference "RFC 5101, Section 4.1.";
206 }
207 identity meteringReliability {
208 base "optionsType";
209 description "Metering Process Reliability Statistics.";
210 reference "RFC 5101, Section 4.2.";
211 }
212 identity exportingReliability {
213 base "optionsType";
214 description "Exporting Process Reliability
215 Statistics.";
216 reference "RFC 5101, Section 4.3.";
217 }
218 identity flowKeys {
219 base "optionsType";
220 description "Flow Keys.";
221 reference "RFC 5101, Section 4.4.";
222 }
223 identity selectionSequence {
224 base "optionsType";
225 description "Selection Sequence and Selector Reports.";
226 reference "RFC 5476, Sections 6.5.1 and 6.5.2.";
227 }
228 identity selectionStatistics {
229 base "optionsType";
230 description "Selection Sequence Statistics Report.";
231 reference "RFC 5476, Sections 6.5.3.";
232 }
233 identity accuracy {
234 base "optionsType";
235 description "Accuracy Report.";
236 reference "RFC 5476, Section 6.5.4.";
237 }
238 identity reducingRedundancy {
239 base "optionsType";
240 description "Enables the utilization of Options Templates to
241 reduce redundancy in the exported Data Records.";
242 reference "RFC 5473.";
243 }
244 identity extendedTypeInformation {
245 base "optionsType";
246 description "Export of extended type information for
247 enterprise-specific Information Elements used in the
248 exported Templates.";
249 reference "RFC 5610.";
250 }
251
252 /*****************************************************************
253 * Type definitions
254 *****************************************************************/
255
256 typedef ieNameType {
257 type string {
258 length "1..max";
259 pattern "\S+";
260 }
261 description "Type for Information Element names. Whitespaces
262 are not allowed.";
263 }
264
265 typedef ieIdType {
266 type uint16 {
267 range "1..32767" {
268 description "Valid range of Information Element
269 identifiers.";
270 reference "RFC 5102, Section 4.";
271 }
272 }
273 description "Type for Information Element identifiers.";
274 }
275
276 typedef nameType {
277 type string {
278 length "1..max";
279 pattern "\S(.*\S)?";
280 }
281 description "Type for 'name' leafs, which are used to identify
282 specific instances within lists, etc.
283 Leading and trailing whitespaces are not allowed.";
284 }
285
286 typedef ifNameType {
287 type string {
288 length "1..255";
289 }
290 description "This corresponds to the DisplayString textual
291 convention of SNMPv2-TC, which is used for ifName in the IF
292 MIB module.";
293 reference "RFC 2863 (ifName).";
294 }
295
296 typedef direction {
297 type enumeration {
298 enum ingress {
299 description "This value is used for monitoring incoming
300 packets.";
301 }
302 enum egress {
303 description "This value is used for monitoring outgoing
304 packets.";
305 }
306 enum both {
307 description "This value is used for monitoring incoming and
308 outgoing packets.";
309 }
310 }
311 description "Direction of packets going through an interface or
312 linecard.";
313 }
314
315 typedef transportSessionStatus {
316 type enumeration {
317 enum inactive {
318 description "This value MUST be used for Transport Sessions
319 that are specified in the system but currently not active.
320 The value can be used for Transport Sessions that are
321 backup (secondary) sessions.";
322 }
323 enum active {
324 description "This value MUST be used for Transport Sessions
325 that are currently active and transmitting or receiving
326 data.";
327 }
328 enum unknown {
329 description "This value MUST be used if the status of the
330 Transport Sessions cannot be detected by the device. This
331 value should be avoided as far as possible.";
332 }
333 }
334 description "Status of a Transport Session.";
335 reference "RFC 6615, Section 8 (ipfixTransportSessionStatus).";
336 }
337
338 /*****************************************************************
339 * Groupings
340 *****************************************************************/
341
342 grouping observationPointParameters {
343 description "Interface as input to Observation Point.";
344 leaf observationPointId {
345 type uint32;
346 config false;
347 description "Observation Point ID (i.e., the value of the
348 Information Element observationPointId) assigned by the
349 Monitoring Device.";
350 reference "IANA registry for IPFIX Entities,
351 http://www.iana.org/assignments/ipfix.";
352 }
353 leaf observationDomainId {
354 type uint32;
355 mandatory true;
356 description "The Observation Domain ID associates the
357 Observation Point to an Observation Domain. Observation
358 Points with identical Observation Domain IDs belong to the
359 same Observation Domain.
360 Note that this parameter corresponds to
361 ipfixObservationPointObservationDomainId in the IPFIX MIB
362 module.";
363 reference "RFC 5101; RFC 6615, Section 8
364 (ipfixObservationPointObservationDomainId).";
365 }
366 leaf-list ifName {
367 type ifNameType;
368 description "List of names identifying interfaces of the
369 Monitoring Device. The Observation Point observes packets at
370 the specified interfaces.";
371 }
372 leaf-list ifIndex {
373 type uint32;
374 description "List of ifIndex values pointing to entries in the
375 ifTable of the IF-MIB module maintained by the Monitoring
376 Device. The Observation Point observes packets at the
377 specified interfaces.
378 This parameter SHOULD only be used if an SNMP agent enables
379 access to the ifTable.
380 Note that this parameter corresponds to
381 ipfixObservationPointPhysicalInterface in the IPFIX MIB
382 module.";
383 reference "RFC 2863; RFC 6615, Section 8
384 (ipfixObservationPointPhysicalInterface).";
385 }
386 leaf-list entPhysicalName {
387 type string;
388 description "List of names identifying physical entities of the
389 Monitoring Device. The Observation Point observes packets at
390 the specified entities.";
391 }
392 leaf-list entPhysicalIndex {
393 type uint32;
394 description "List of entPhysicalIndex values pointing to
395 entries in the entPhysicalTable of the ENTITY-MIB module
396 maintained by the Monitoring Device. The Observation Point
397 observes packets at the specified entities.
398 This parameter SHOULD only be used if an SNMP agent enables
399 access to the entPhysicalTable.
400 Note that this parameter corresponds to
401 ipfixObservationPointPhysicalEntity in the IPFIX MIB
402 module.";
403 reference "RFC 4133; RFC 6615, Section 8
404 (ipfixObservationPointPhysicalInterface).";
405 }
406 leaf direction {
407 type direction;
408 default both;
409 description "Direction of packets. If not applicable (e.g., in
410 the case of a sniffing interface in promiscuous mode), this
411 parameter is ignored.";
412 }
413 }
414
415 grouping sampCountBasedParameters {
416 description "Configuration parameters of a Selector applying
417 systematic count-based packet Sampling to the packet
418 stream.";
419 reference "RFC 5475, Section 5.1; RFC 5476, Section 6.5.2.1.";
420 leaf packetInterval {
421 type uint32;
422 units packets;
423 mandatory true;
424 description "The number of packets that are consecutively
425 sampled between gaps of length packetSpace.
426 This parameter corresponds to the Information Element
427 samplingPacketInterval and to psampSampCountBasedInterval
428 in the PSAMP MIB module.";
429 reference "RFC 5477, Section 8.2.2; RFC 6727, Section 6
430 (psampSampCountBasedInterval).";
431 }
432 leaf packetSpace {
433 type uint32;
434 units packets;
435 mandatory true;
436 description "The number of unsampled packets between two
437 Sampling intervals.
438 This parameter corresponds to the Information Element
439 samplingPacketSpace and to psampSampCountBasedSpace
440 in the PSAMP MIB module.";
441 reference "RFC 5477, Section 8.2.3; RFC 6727, Section 6
442 (psampSampCountBasedSpace).";
443 }
444 }
445
446 grouping sampTimeBasedParameters {
447 description "Configuration parameters of a Selector applying
448 systematic time-based packet Sampling to the packet
449 stream.";
450 reference "RFC 5475, Section 5.1; RFC 5476, Section 6.5.2.2.";
451 leaf timeInterval {
452 type uint32;
453 units microseconds;
454 mandatory true;
455 description "The time interval in microseconds during
456 which all arriving packets are sampled between gaps
457 of length timeSpace.
458 This parameter corresponds to the Information Element
459 samplingTimeInterval and to psampSampTimeBasedInterval
460 in the PSAMP MIB module.";
461 reference "RFC 5477, Section 8.2.4; RFC 6727, Section 6
462 (psampSampTimeBasedInterval).";
463 }
464 leaf timeSpace {
465 type uint32;
466 units microseconds;
467 mandatory true;
468 description "The time interval in microseconds during
469 which no packets are sampled between two Sampling
470 intervals specified by timeInterval.
471 This parameter corresponds to the Information Element
472 samplingTimeInterval and to psampSampTimeBasedSpace
473 in the PSAMP MIB module.";
474 reference "RFC 5477, Section 8.2.5; RFC 6727, Section 6
475 (psampSampTimeBasedSpace).";
476 }
477 }
478
479 grouping sampRandOutOfNParameters {
480 description "Configuration parameters of a Selector applying
481 n-out-of-N packet Sampling to the packet stream.";
482 reference "RFC 5475, Section 5.2.1; RFC 5476, Section 6.5.2.3.";
483 leaf size {
484 type uint32;
485 units packets;
486 mandatory true;
487 description "The number of elements taken from the parent
488 population.
489 This parameter corresponds to the Information Element
490 samplingSize and to psampSampRandOutOfNSize in the PSAMP
491 MIB module.";
492 reference "RFC 5477, Section 8.2.6; RFC 6727, Section 6
493 (psampSampRandOutOfNSize).";
494 }
495 leaf population {
496 type uint32;
497 units packets;
498 mandatory true;
499 description "The number of elements in the parent
500 population.
501 This parameter corresponds to the Information Element
502 samplingPopulation and to psampSampRandOutOfNPopulation
503 in the PSAMP MIB module.";
504 reference "RFC 5477, Section 8.2.7; RFC 6727, Section 6
505 (psampSampRandOutOfNPopulation).";
506 }
507 }
508
509 grouping sampUniProbParameters {
510 description "Configuration parameters of a Selector applying
511 uniform probabilistic packet Sampling (with equal
512 probability per packet) to the packet stream.";
513 reference "RFC 5475, Section 5.2.2.1;
514 RFC 5476, Section 6.5.2.4.";
515 leaf probability {
516 type decimal64 {
517 fraction-digits 18;
518 range "0..1";
519 }
520 mandatory true;
521 description "Probability that a packet is sampled,
522 expressed as a value between 0 and 1. The probability
523 is equal for every packet.
524 This parameter corresponds to the Information Element
525 samplingProbability and to psampSampUniProbProbability
526 in the PSAMP MIB module.";
527 reference "RFC 5477, Section 8.2.8; RFC 6727, Section 6
528 (psampSampUniProbProbability).";
529 }
530 }
531
532 grouping filterMatchParameters {
533 description "Configuration parameters of a Selector applying
534 property match Filtering to the packet stream.
535 The field to be matched is specified as an Information
536 Element.";
537 reference "RFC 5475, Section 6.1; RFC 5476, Section 6.5.2.5.";
538 choice nameOrId {
539 mandatory true;
540 description "The field to be matched is specified by
541 either the name or the identifier of the Information
542 Element.";
543 leaf ieName {
544 type ieNameType;
545 description "Name of the Information Element.";
546 }
547 leaf ieId {
548 type ieIdType;
549 description "Identifier of the Information Element.";
550 }
551 }
552 leaf ieEnterpriseNumber {
553 type uint32;
554 default 0;
555 description "If this parameter is zero, the Information
556 Element is registered in the IANA registry of IPFIX
557 Information Elements.
558 If this parameter is configured with a non-zero private
559 enterprise number, the Information Element is
560 enterprise-specific.";
561 reference "IANA registry for Private Enterprise Numbers,
562 http://www.iana.org/assignments/enterprise-numbers;
563 IANA registry for IPFIX Entities,
564 http://www.iana.org/assignments/ipfix.";
565 }
566 leaf value {
567 type string;
568 mandatory true;
569 description "Matching value of the Information Element.";
570 }
571 }
572
573 grouping filterHashParameters {
574 description "Configuration parameters of a Selector applying
575 hash-based Filtering to the packet stream.";
576 reference "RFC 5475, Section 6.2; RFC 5476, Section 6.5.2.6.";
577 leaf hashFunction {
578 type identityref {
579 base "hashFunction";
580 }
581 default BOB;
582 description "Hash function to be applied. According to
583 RFC 5475, Section 6.2.4.1, 'BOB' must be used in order to
584 be compliant with PSAMP.
585 This parameter functionally corresponds to
586 psampFiltHashFunction in the PSAMP MIB module.";
587 reference "RFC 6727, Section 6 (psampFiltHashFunction)";
588 }
589 leaf initializerValue {
590 type uint64;
591 description "Initializer value to the hash function.
592 If not configured by the user, the Monitoring Device
593 arbitrarily chooses an initializer value.
594 This parameter corresponds to the Information Element
595 hashInitialiserValue and to psampFiltHashInitializerValue
596 in the PSAMP MIB module.";
597 reference "RFC 5477, Section 8.3.9; RFC 6727, Section 6
598 (psampFiltHashInitializerValue).";
599 }
600 leaf ipPayloadOffset {
601 type uint64;
602 units octets;
603 default 0;
604 description "IP payload offset indicating the position of
605 the first payload byte considered as input to the hash
606 function.
607 Default value 0 corresponds to the minimum offset that
608 must be configurable according to RFC 5476, Section
609 6.5.2.6.
610 This parameter corresponds to the Information Element
611 hashIPPayloadOffset and to psampFiltHashIpPayloadOffset
612 in the PSAMP MIB module.";
613 reference "RFC 5477, Section 8.3.2; RFC 6727, Section 6
614 (psampFiltHashIpPayloadOffset).";
615 }
616 leaf ipPayloadSize {
617 type uint64;
618 units octets;
619 default 8;
620 description "Number of IP payload bytes used as input to
621 the hash function, counted from the payload offset.
622 If the IP payload is shorter than the payload range,
623 all available payload octets are used as input.
624 Default value 8 corresponds to the minimum IP payload
625 size that must be configurable according to RFC 5476,
626 Section 6.5.2.6.
627 This parameter corresponds to the Information Element
628 hashIPPayloadSize and to psampFiltHashIpPayloadSize
629 in the PSAMP MIB module.";
630 reference "RFC 5477, Section 8.3.3; RFC 6727, Section 6
631 (psampFiltHashIpPayloadSize).";
632 }
633 leaf digestOutput {
634 type boolean;
635 default false;
636 description "If true, the output from this Selector is
637 included in the Packet Report as a packet digest.
638 Therefore, the configured Cache Layout needs to contain
639 a digestHashValue field.
640 This parameter corresponds to the Information Element
641 hashDigestOutput.";
642 reference "RFC 5477, Section 8.3.8.";
643 }
644 leaf outputRangeMin {
645 type uint64;
646 config false;
647 description "Beginning of the hash function's potential
648 range.
649 This parameter corresponds to the Information Element
650 hashOutputRangeMin and to psampFiltHashOutputRangeMin
651 in the PSAMP MIB module.";
652 reference "RFC 5477, Section 8.3.4; RFC 6727, Section 6
653 (psampFiltHashOutputRangeMin).";
654 }
655 leaf outputRangeMax {
656 type uint64;
657 config false;
658 description "End of the hash function's potential range.
659 This parameter corresponds to the Information Element
660 hashOutputRangeMax and to psampFiltHashOutputRangeMax
661 in the PSAMP MIB module.";
662 reference "RFC 5477, Section 8.3.5; RFC 6727, Section 6
663 (psampFiltHashOutputRangeMax).";
664 }
665 list selectedRange {
666 key name;
667 min-elements 1;
668 description "List of hash function return ranges for
669 which packets are selected.";
670 leaf name {
671 type nameType;
672 description "Key of this list.";
673 }
674 leaf min {
675 type uint64;
676 description "Beginning of the hash function's selected
677 range.
678 This parameter corresponds to the Information Element
679 hashSelectedRangeMin and to psampFiltHashSelectedRangeMin
680 in the PSAMP MIB module.";
681 reference "RFC 5477, Section 8.3.6; RFC 6727, Section 6
682 (psampFiltHashSelectedRangeMin).";
683 }
684 leaf max {
685 type uint64;
686 description "End of the hash function's selected range.
687 This parameter corresponds to the Information Element
688 hashSelectedRangeMax and to psampFiltHashSelectedRangeMax
689 in the PSAMP MIB module.";
690 reference "RFC 5477, Section 8.3.7; RFC 6727, Section 6
691 (psampFiltHashSelectedRangeMax).";
692 }
693 }
694 }
695
696 grouping selectorParameters {
697 description "Configuration and state parameters of a Selector.";
698 choice Method {
699 mandatory true;
700 description "Packet selection method applied by the Selector.";
701 leaf selectAll {
702 type empty;
703 description "Method that selects all packets.";
704 }
705 container sampCountBased {
706 if-feature psampSampCountBased;
707 description "Systematic count-based packet Sampling.";
708 uses sampCountBasedParameters;
709 }
710 container sampTimeBased {
711 if-feature psampSampTimeBased;
712 description "Systematic time-based packet Sampling.";
713 uses sampTimeBasedParameters;
714 }
715 container sampRandOutOfN {
716 if-feature psampSampRandOutOfN;
717 description "n-out-of-N packet Sampling.";
718 uses sampRandOutOfNParameters;
719 }
720 container sampUniProb {
721 if-feature psampSampUniProb;
722 description "Uniform probabilistic packet Sampling.";
723 uses sampUniProbParameters;
724 }
725 container filterMatch {
726 if-feature psampFilterMatch;
727 description "Property match Filtering.";
728 uses filterMatchParameters;
729 }
730 container filterHash {
731 if-feature psampFilterHash;
732 description "Hash-based Filtering.";
733 uses filterHashParameters;
734 }
735 }
736 leaf packetsObserved {
737 type yang:counter64;
738 config false;
739 description "The number of packets observed at the input of
740 the Selector.
741 If this is the first Selector in the Selection Process,
742 this counter corresponds to the total number of packets in
743 all Observed Packet Streams at the input of the Selection
744 Process. Otherwise, the counter corresponds to the total
745 number of packets at the output of the preceding Selector.
746 Discontinuities in the value of this counter can occur at
747 re-initialization of the management system, and at other
748 times as indicated by the value of
749 selectorDiscontinuityTime.
750 Note that this parameter corresponds to
751 ipfixSelectorStatsPacketsObserved in the IPFIX MIB
752 module.";
753 reference "RFC 6615, Section 8
754 (ipfixSelectorStatsPacketsObserved).";
755 }
756 leaf packetsDropped {
757 type yang:counter64;
758 config false;
759 description "The total number of packets discarded by the
760 Selector.
761 Discontinuities in the value of this counter can occur at
762 re-initialization of the management system, and at other
763 times as indicated by the value of
764 selectorDiscontinuityTime.
765 Note that this parameter corresponds to
766 ipfixSelectorStatsPacketsDropped in the IPFIX MIB
767 module.";
768 reference "RFC 6615, Section 8
769 (ipfixSelectorStatsPacketsDropped).";
770 }
771 leaf selectorDiscontinuityTime {
772 type yang:date-and-time;
773 config false;
774 description "Timestamp of the most recent occasion at which
775 one or more of the Selector counters suffered a
776 discontinuity.
777 Note that this parameter functionally corresponds to
778 ipfixSelectionProcessStatsDiscontinuityTime in the IPFIX
779 MIB module. In contrast to
780 ipfixSelectionProcessStatsDiscontinuityTime, the time is
781 absolute and not relative to sysUpTime.";
782 reference "RFC 6615, Section 8
783 (ipfixSelectionProcessStatsDiscontinuityTime).";
784 }
785 }
786 grouping cacheLayoutParameters {
787 description "Cache Layout parameters used by immediateCache,
788 timeoutCache, naturalCache, and permanentCache.";
789 container cacheLayout {
790 description "Cache Layout parameters.";
791 list cacheField {
792 key name;
793 min-elements 1;
794 description "Superset of fields that are included in the
795 Packet Reports or Flow Records generated by the Cache.";
796 leaf name {
797 type nameType;
798 description "Key of this list.";
799 }
800 choice nameOrId {
801 mandatory true;
802 description "Name or identifier of the Information
803 Element.";
804 reference "RFC 5102, Section 2; IANA registry for IPFIX
805 Entities, http://www.iana.org/assignments/ipfix.";
806 leaf ieName {
807 type ieNameType;
808 description "Name of the Information Element.";
809 }
810 leaf ieId {
811 type ieIdType;
812 description "Identifier of the Information Element.";
813 }
814 }
815 leaf ieLength {
816 type uint16;
817 units octets;
818 description "Length of the field in which the Information
819 Element is encoded. A value of 65535 specifies a
820 variable-length Information Element. For Information
821 Elements of integer and float type, the field length MAY
822 be set to a smaller value than the standard length of
823 the abstract data type if the rules of reduced size
824 encoding are fulfilled.
825 If not configured by the user, this parameter is set by
826 the Monitoring Device.";
827 reference "RFC 5101, Section 6.2.";
828 }
829 leaf ieEnterpriseNumber {
830 type uint32;
831 default 0;
832 description "If this parameter is zero, the Information
833 Element is registered in the IANA registry of IPFIX
834 Information Elements.
835 If this parameter is configured with a non-zero private
836 enterprise number, the Information Element is
837 enterprise-specific.
838 If the enterprise number is set to 29305, this field
839 contains a Reverse Information Element. In this case,
840 the Cache MUST generate Data Records in accordance to
841 RFC 5103.";
842 reference "RFC 5101; RFC 5103;
843 IANA registry for Private Enterprise Numbers,
844 http://www.iana.org/assignments/enterprise-numbers;
845 IANA registry for IPFIX Entities,
846 http://www.iana.org/assignments/ipfix.";
847 }
848 leaf isFlowKey {
849 when "(name(../../..) != 'immediateCache')
850 and
851 ((count(../ieEnterpriseNumber) = 0)
852 or
853 (../ieEnterpriseNumber != 29305))" {
854 description "This parameter is not available for
855 Reverse Information Elements (which have enterprise
856 number 29305). It is also not available for
857 immediateCache.";
858 }
859 type empty;
860 description "If present, this is a flow key.";
861 }
862 }
863 }
864 }
865
866 grouping flowCacheParameters {
867 description "Configuration and state parameters of a Cache
868 generating Flow Records.";
869 leaf maxFlows {
870 type uint32;
871 units flows;
872 description "This parameter configures the maximum number of
873 Flows in the Cache, which is the maximum number of Flows
874 that can be measured simultaneously.
875 The Monitoring Device MUST ensure that sufficient resources
876 are available to store the configured maximum number of
877 Flows.
878 If the maximum number of Flows is measured, an additional
879 Flow can be measured only if an existing entry is removed.
880 However, traffic that pertains to existing Flows can
881 continue to be measured.";
882 }
883 leaf activeTimeout {
884 when "(name(..) = 'timeoutCache') or
885 (name(..) = 'naturalCache')" {
886 description "This parameter is only available for
887 timeoutCache and naturalCache.";
888 }
889 type uint32;
890 units seconds;
891 description "This parameter configures the time in
892 seconds after which a Flow is expired even though packets
893 matching this Flow are still received by the Cache.
894 The parameter value zero indicates infinity, meaning that
895 there is no active timeout.
896 If not configured by the user, the Monitoring Device sets
897 this parameter.
898 Note that this parameter corresponds to
899 ipfixMeteringProcessCacheActiveTimeout in the IPFIX
900 MIB module.";
901 reference "RFC 6615, Section 8
902 (ipfixMeteringProcessCacheActiveTimeout).";
903 }
904 leaf idleTimeout {
905 when "(name(..) = 'timeoutCache') or
906 (name(..) = 'naturalCache')" {
907 description "This parameter is only available for
908 timeoutCache and naturalCache.";
909 }
910 type uint32;
911 units seconds;
912 description "This parameter configures the time in
913 seconds after which a Flow is expired if no more packets
914 matching this Flow are received by the Cache.
915 The parameter value zero indicates infinity, meaning that
916 there is no idle timeout.
917 If not configured by the user, the Monitoring Device sets
918 this parameter.
919 Note that this parameter corresponds to
920 ipfixMeteringProcessCacheIdleTimeout in the IPFIX
921 MIB module.";
922 reference "RFC 6615, Section 8
923 (ipfixMeteringProcessCacheIdleTimeout).";
924 }
925 leaf exportInterval {
926 when "name(..) = 'permanentCache'" {
927 description "This parameter is only available for
928 permanentCache.";
929 }
930 type uint32;
931 units seconds;
932 description "This parameter configures the interval (in
933 seconds) for periodical export of Flow Records.
934 If not configured by the user, the Monitoring Device sets
935 this parameter.";
936 }
937 leaf activeFlows {
938 type yang:gauge32;
939 units flows;
940 config false;
941 description "The number of Flows currently active in this
942 Cache.
943 Note that this parameter corresponds to
944 ipfixMeteringProcessCacheActiveFlows in the IPFIX MIB
945 module.";
946 reference "RFC 6615, Section 8
947 (ipfixMeteringProcessCacheActiveFlows).";
948 }
949 leaf unusedCacheEntries {
950 type yang:gauge32;
951 units flows;
952 config false;
953 description "The number of unused Cache entries in this
954 Cache.
955 Note that this parameter corresponds to
956 ipfixMeteringProcessCacheUnusedCacheEntries in the IPFIX
957 MIB module.";
958 reference "RFC 6615, Section 8
959 (ipfixMeteringProcessCacheUnusedCacheEntries).";
960 }
961 }
962
963 grouping exportingProcessParameters {
964 description "Parameters of an Exporting Process.";
965 leaf exportingProcessId {
966 type uint32;
967 config false;
968 description "The identifier of the Exporting Process.
969 This parameter corresponds to the Information Element
970 exportingProcessId. Its occurrence helps to associate
971 Exporting Process parameters with Exporing Process
972 statistics exported by the Monitoring Device using the
973 Exporting Process Reliability Statistics Template as
974 defined by the IPFIX protocol specification.";
975 reference "RFC 5101, Section 4.3; IANA registry for IPFIX
976 Entities, http://www.iana.org/assignments/ipfix.";
977 }
978 leaf exportMode {
979 type identityref {
980 base "exportMode";
981 }
982 default parallel;
983 description "This parameter determines to which configured
984 destination(s) the incoming Data Records are exported.";
985 }
986 list destination {
987 key name;
988 min-elements 1;
989 description "List of export destinations.";
990 leaf name {
991 type nameType;
992 description "Key of this list.";
993 }
994 choice DestinationParameters {
995 mandatory true;
996 description "Configuration parameters depend on whether
997 SCTP, UDP, or TCP is used as transport protocol, and
998 whether the destination is a file.";
999 container sctpExporter {
1000 description "SCTP parameters.";
1001 uses sctpExporterParameters;
1002 }
1003 container udpExporter {
1004 if-feature udpTransport;
1005 description "UDP parameters.";
1006 uses udpExporterParameters;
1007 }
1008 container tcpExporter {
1009 if-feature tcpTransport;
1010 description "TCP parameters.";
1011 uses tcpExporterParameters;
1012 }
1013 container fileWriter {
1014 if-feature fileWriter;
1015 description "File Writer parameters.";
1016 uses fileWriterParameters;
1017 }
1018 }
1019 }
1020 list options {
1021 key name;
1022 description "List of options reported by the Exporting
1023 Process.";
1024 leaf name {
1025 type nameType;
1026 description "Key of this list.";
1027 }
1028 uses optionsParameters;
1029 }
1030 }
1031
1032 grouping commonExporterParameters {
1033 description "Parameters of en export destination that are
1034 common to all transport protocols.";
1035 leaf ipfixVersion {
1036 type uint16;
1037 default 10;
1038 description "IPFIX version number.";
1039 reference "RFC 5101.";
1040 }
1041 leaf destinationPort {
1042 type inet:port-number;
1043 description "If not configured by the user, the Monitoring
1044 Device uses the default port number for IPFIX, which is
1045 4739 without TLS or DTLS and 4740 if TLS or DTLS is
1046 activated.";
1047 }
1048 choice indexOrName {
1049 description "Index or name of the interface as stored in the
1050 ifTable of IF-MIB.
1051 If configured, the Exporting Process MUST use the given
1052 interface to export IPFIX Messages to the export
1053 destination.
1054 If omitted, the Exporting Process selects the outgoing
1055 interface based on local routing decision and accepts
1056 return traffic, such as transport-layer acknowledgments,
1057 on all available interfaces.";
1058 reference "RFC 2863.";
1059 leaf ifIndex {
1060 type uint32;
1061 description "Index of an interface as stored in the ifTable
1062 of IF-MIB.";
1063 reference "RFC 2863.";
1064 }
1065 leaf ifName {
1066 type string;
1067 description "Name of an interface as stored in the ifTable
1068 of IF-MIB.";
1069 reference "RFC 2863.";
1070 }
1071 }
1072 leaf sendBufferSize {
1073 type uint32;
1074 units bytes;
1075 description "Size of the socket send buffer.
1076 If not configured by the user, this parameter is set by
1077 the Monitoring Device.";
1078 }
1079 leaf rateLimit {
1080 type uint32;
1081 units "bytes per second";
1082 description "Maximum number of bytes per second the Exporting
1083 Process may export to the given destination. The number of
1084 bytes is calculated from the lengths of the IPFIX Messages
1085 exported. If not configured, no rate limiting is performed.";
1086 reference "RFC 5476, Section 6.3.";
1087 }
1088 container transportLayerSecurity {
1089 presence "If transportLayerSecurity is present, DTLS is
1090 enabled if the transport protocol is SCTP or UDP, and TLS
1091 is enabled if the transport protocol is TCP.";
1092 description "TLS or DTLS configuration.";
1093 uses transportLayerSecurityParameters;
1094 }
1095 container transportSession {
1096 config false;
1097 description "State parameters of the Transport Session
1098 directed to the given destination.";
1099 uses transportSessionParameters;
1100 }
1101 }
1102
1103 grouping sctpExporterParameters {
1104 description "SCTP-specific export destination parameters.";
1105 uses commonExporterParameters;
1106 leaf-list sourceIPAddress {
1107 type inet:ip-address;
1108 description "List of source IP addresses used by the
1109 Exporting Process.
1110 If configured, the specified addresses are eligible local
1111 IP addresses of the multihomed SCTP endpoint.
1112 If not configured, all locally assigned IP addresses are
1113 eligible local IP addresses.";
1114 reference "RFC 4960, Section 6.4.";
1115 }
1116 leaf-list destinationIPAddress {
1117 type inet:ip-address;
1118 min-elements 1;
1119 description "One or more IP addresses of the Collecting
1120 Process to which IPFIX Messages are sent.
1121 The user MUST ensure that all configured IP addresses
1122 belong to the same Collecting Process.
1123 The Exporting Process tries to establish an SCTP
1124 association to any of the configured destination IP
1125 addresses.";
1126 reference "RFC 4960, Section 6.4.";
1127 }
1128 leaf timedReliability {
1129 type uint32;
1130 units milliseconds;
1131 default 0;
1132 description "Lifetime in milliseconds until an IPFIX
1133 Message containing Data Sets only is 'abandoned' due to
1134 the timed reliability mechanism of PR-SCTP.
1135 If this parameter is set to zero, reliable SCTP
1136 transport is used for all Data Records.
1137 Regardless of the value of this parameter, the Exporting
1138 Process MAY use reliable SCTP transport for Data Sets
1139 associated with Options Templates.";
1140 reference "RFC 3758; RFC 4960.";
1141 }
1142 }
1143
1144 grouping udpExporterParameters {
1145 description "Parameters of a UDP export destination.";
1146 uses commonExporterParameters;
1147 leaf sourceIPAddress {
1148 type inet:ip-address;
1149 description "Source IP address used by the Exporting Process.
1150 If not configured, the IP address assigned to the outgoing
1151 interface is used as source IP address.";
1152 }
1153 leaf destinationIPAddress {
1154 type inet:ip-address;
1155 mandatory true;
1156 description "IP address of the Collection Process to which
1157 IPFIX Messages are sent.";
1158 }
1159 leaf maxPacketSize {
1160 type uint16;
1161 units octets;
1162 description "This parameter specifies the maximum size of
1163 IP packets sent to the Collector. If set to zero, the
1164 Exporting Device MUST derive the maximum packet size
1165 from path MTU discovery mechanisms.
1166 If not configured by the user, this parameter is set by
1167 the Monitoring Device.";
1168 }
1169 leaf templateRefreshTimeout {
1170 type uint32;
1171 units seconds;
1172 default 600;
1173 description "Sets time after which Templates are resent in the
1174 UDP Transport Session.
1175 Note that the configured lifetime MUST be adapted to the
1176 templateLifeTime parameter value at the receiving Collecting
1177 Process.
1178 Note that this parameter corresponds to
1179 ipfixTransportSessionTemplateRefreshTimeout in the IPFIX
1180 MIB module.";
1181 reference "RFC 5101, Section 10.3.6; RFC 6615, Section 8
1182 (ipfixTransportSessionTemplateRefreshTimeout).";
1183 }
1184 leaf optionsTemplateRefreshTimeout {
1185 type uint32;
1186 units seconds;
1187 default 600;
1188 description "Sets time after which Options Templates are
1189 resent in the UDP Transport Session.
1190 Note that the configured lifetime MUST be adapted to the
1191 optionsTemplateLifeTime parameter value at the receiving
1192 Collecting Process.
1193 Note that this parameter corresponds to
1194 ipfixTransportSessionOptionsTemplateRefreshTimeout in the
1195 IPFIX MIB module.";
1196 reference "RFC 5101, Section 10.3.6; RFC 6615, Section 8
1197 (ipfixTransportSessionOptionsTemplateRefreshTimeout).";
1198 }
1199 leaf templateRefreshPacket {
1200 type uint32;
1201 units "IPFIX Messages";
1202 description "Sets number of IPFIX Messages after which
1203 Templates are resent in the UDP Transport Session.
1204 Note that this parameter corresponds to
1205 ipfixTransportSessionTemplateRefreshPacket in the IPFIX
1206 MIB module.
1207 If omitted, Templates are only resent after timeout.";
1208 reference "RFC 5101, Section 10.3.6; RFC 6615, Section 8
1209 (ipfixTransportSessionTemplateRefreshPacket).";
1210 }
1211 leaf optionsTemplateRefreshPacket {
1212 type uint32;
1213 units "IPFIX Messages";
1214 description "Sets number of IPFIX Messages after which
1215 Options Templates are resent in the UDP Transport Session
1216 protocol.
1217 Note that this parameter corresponds to
1218 ipfixTransportSessionOptionsTemplateRefreshPacket in the
1219 IPFIX MIB module.
1220 If omitted, Templates are only resent after timeout.";
1221 reference "RFC 5101, Section 10.3.6; RFC 6615, Section 8
1222 (ipfixTransportSessionOptionsTemplateRefreshPacket).";
1223 }
1224 }
1225
1226 grouping tcpExporterParameters {
1227 description "Parameters of a TCP export destination.";
1228 uses commonExporterParameters;
1229 leaf sourceIPAddress {
1230 type inet:ip-address;
1231 description "Source IP address used by the Exporting Process.
1232 If not configured by the user, this parameter is set by
1233 the Monitoring Device to an IP address assigned to the
1234 outgoing interface.";
1235 }
1236 leaf destinationIPAddress {
1237 type inet:ip-address;
1238 mandatory true;
1239 description "IP address of the Collection Process to which
1240 IPFIX Messages are sent.";
1241 }
1242 }
1243
1244 grouping fileWriterParameters {
1245 description "File Writer parameters.";
1246 leaf ipfixVersion {
1247 type uint16;
1248 default 10;
1249 description "IPFIX version number.";
1250 reference "RFC 5101.";
1251 }
1252 leaf file {
1253 type inet:uri;
1254 mandatory true;
1255 description "URI specifying the location of the file.";
1256 }
1257 leaf bytes {
1258 type yang:counter64;
1259 units octets;
1260 config false;
1261 description "The number of bytes written by the File Writer.
1262 Discontinuities in the value of this counter can occur at
1263 re-initialization of the management system, and at other
1264 times as indicated by the value of
1265 fileWriterDiscontinuityTime.";
1266 }
1267 leaf messages {
1268 type yang:counter64;
1269 units "IPFIX Messages";
1270 config false;
1271 description "The number of IPFIX Messages written by the File
1272 Writer.
1273 Discontinuities in the value of this counter can occur at
1274 re-initialization of the management system, and at other
1275 times as indicated by the value of
1276 fileWriterDiscontinuityTime.";
1277 }
1278 leaf discardedMessages {
1279 type yang:counter64;
1280 units "IPFIX Messages";
1281 config false;
1282 description "The number of IPFIX Messages that could not be
1283 written by the File Writer due to internal buffer
1284 overflows, limited storage capacity, etc.
1285 Discontinuities in the value of this counter can occur at
1286 re-initialization of the management system, and at other
1287 times as indicated by the value of
1288 fileWriterDiscontinuityTime.";
1289 }
1290 leaf records {
1291 type yang:counter64;
1292 units "Data Records";
1293 config false;
1294 description "The number of Data Records written by the File
1295 Writer.
1296 Discontinuities in the value of this counter can occur at
1297 re-initialization of the management system, and at other
1298 times as indicated by the value of
1299 fileWriterDiscontinuityTime.";
1300 }
1301 leaf templates {
1302 type yang:counter32;
1303 units "Templates";
1304 config false;
1305 description "The number of Template Records (excluding
1306 Options Template Records) written by the File Writer.
1307 Discontinuities in the value of this counter can occur at
1308 re-initialization of the management system, and at other
1309 times as indicated by the value of
1310 fileWriterDiscontinuityTime.";
1311 }
1312 leaf optionsTemplates {
1313 type yang:counter32;
1314 units "Options Templates";
1315 config false;
1316 description "The number of Options Template Records written
1317 by the File Writer.
1318 Discontinuities in the value of this counter can occur at
1319 re-initialization of the management system, and at other
1320 times as indicated by the value of
1321 fileWriterDiscontinuityTime.";
1322 }
1323 leaf fileWriterDiscontinuityTime {
1324 type yang:date-and-time;
1325 config false;
1326 description "Timestamp of the most recent occasion at which
1327 one or more File Writer counters suffered a discontinuity.
1328 In contrast to discontinuity times in the IPFIX MIB module,
1329 the time is absolute and not relative to sysUpTime.";
1330 }
1331 list template {
1332 config false;
1333 description "This list contains the Templates and Options
1334 Templates that have been written by the File Reader.
1335 Withdrawn or invalidated (Options) Templates MUST be removed
1336 from this list.";
1337 uses templateParameters;
1338 }
1339 }
1340
1341 grouping optionsParameters {
1342 description "Parameters specifying the data export using an
1343 Options Template.";
1344 leaf optionsType {
1345 type identityref {
1346 base "optionsType";
1347 }
1348 mandatory true;
1349 description "Type of the exported options data.";
1350 }
1351 leaf optionsTimeout {
1352 type uint32;
1353 units milliseconds;
1354 description "Time interval for periodic export of the options
1355 data. If set to zero, the export is triggered when the
1356 options data has changed.
1357 If not configured by the user, this parameter is set by the
1358 Monitoring Device.";
1359 }
1360 }
1361
1362 grouping collectingProcessParameters {
1363 description "Parameters of a Collecting Process.";
1364 list sctpCollector {
1365 key name;
1366 description "List of SCTP receivers (sockets) on which the
1367 Collecting Process receives IPFIX Messages.";
1368 leaf name {
1369 type nameType;
1370 description "Key of this list.";
1371 }
1372 uses sctpCollectorParameters;
1373 }
1374 list udpCollector {
1375 if-feature udpTransport;
1376 key name;
1377 description "List of UDP receivers (sockets) on which the
1378 Collecting Process receives IPFIX Messages.";
1379 leaf name {
1380 type nameType;
1381 description "Key of this list.";
1382 }
1383 uses udpCollectorParameters;
1384 }
1385 list tcpCollector {
1386 if-feature tcpTransport;
1387 key name;
1388 description "List of TCP receivers (sockets) on which the
1389 Collecting Process receives IPFIX Messages.";
1390 leaf name {
1391 type nameType;
1392 description "Key of this list.";
1393 }
1394 uses tcpCollectorParameters;
1395 }
1396 list fileReader {
1397 if-feature fileReader;
1398 key name;
1399 description "List of File Readers from which the Collecting
1400 Process reads IPFIX Messages.";
1401 leaf name {
1402 type nameType;
1403 description "Key of this list.";
1404 }
1405 uses fileReaderParameters;
1406 }
1407 }
1408
1409 grouping commonCollectorParameters {
1410 description "Parameters of a Collecting Process that are
1411 common to all transport protocols.";
1412 leaf localPort {
1413 type inet:port-number;
1414 description "If not configured, the Monitoring Device uses the
1415 default port number for IPFIX, which is 4739 without
1416 TLS or DTLS and 4740 if TLS or DTLS is activated.";
1417 }
1418 container transportLayerSecurity {
1419 presence "If transportLayerSecurity is present, DTLS is enabled
1420 if the transport protocol is SCTP or UDP, and TLS is enabled
1421 if the transport protocol is TCP.";
1422 description "TLS or DTLS configuration.";
1423 uses transportLayerSecurityParameters;
1424 }
1425 list transportSession {
1426 config false;
1427 description "This list contains the currently established
1428 Transport Sessions terminating at the given socket.";
1429 uses transportSessionParameters;
1430 }
1431 }
1432
1433 grouping sctpCollectorParameters {
1434 description "Parameters of a listening SCTP socket at a
1435 Collecting Process.";
1436 uses commonCollectorParameters;
1437 leaf-list localIPAddress {
1438 type inet:ip-address;
1439 description "List of local IP addresses on which the
1440 Collecting Process listens for IPFIX Messages. The IP
1441 addresses are used as eligible local IP addresses of the
1442 multihomed SCTP endpoint.";
1443 reference "RFC 4960, Section 6.4.";
1444 }
1445 }
1446
1447 grouping udpCollectorParameters {
1448 description "Parameters of a listening UDP socket at a
1449 Collecting Process.";
1450 uses commonCollectorParameters;
1451 leaf-list localIPAddress {
1452 type inet:ip-address;
1453 description "List of local IP addresses on which the Collecting
1454 Process listens for IPFIX Messages.";
1455 }
1456 leaf templateLifeTime {
1457 type uint32;
1458 units seconds;
1459 default 1800;
1460 description "Sets the lifetime of Templates for all UDP
1461 Transport Sessions terminating at this UDP socket.
1462 Templates that are not received again within the configured
1463 lifetime become invalid at the Collecting Process.
1464 As specified in RFC 5101, the Template lifetime MUST be at
1465 least three times higher than the templateRefreshTimeout
1466 parameter value configured on the corresponding Exporting
1467 Processes.
1468 Note that this parameter corresponds to
1469 ipfixTransportSessionTemplateRefreshTimeout in the IPFIX
1470 MIB module.";
1471 reference "RFC 5101, Section 10.3.7; RFC 6615, Section 8
1472 (ipfixTransportSessionTemplateRefreshTimeout).";
1473 }
1474 leaf optionsTemplateLifeTime {
1475 type uint32;
1476 units seconds;
1477 default 1800;
1478 description "Sets the lifetime of Options Templates for all
1479 UDP Transport Sessions terminating at this UDP socket.
1480 Options Templates that are not received again within the
1481 configured lifetime become invalid at the Collecting
1482 Process.
1483 As specified in RFC 5101, the Options Template lifetime MUST
1484 be at least three times higher than the
1485 optionsTemplateRefreshTimeout parameter value configured on
1486 the corresponding Exporting Processes.
1487 Note that this parameter corresponds to
1488 ipfixTransportSessionOptionsTemplateRefreshTimeout in the
1489 IPFIX MIB module.";
1490 reference "RFC 5101, Section 10.3.7; RFC 6615, Section 8
1491 (ipfixTransportSessionOptionsTemplateRefreshTimeout).";
1492 }
1493 leaf templateLifePacket {
1494 type uint32;
1495 units "IPFIX Messages";
1496 description "If this parameter is configured, Templates
1497 defined in a UDP Transport Session become invalid if they
1498 are neither included in a sequence of more than this number
1499 of IPFIX Messages nor received again within the period of
1500 time specified by templateLifeTime.
1501 Note that this parameter corresponds to
1502 ipfixTransportSessionTemplateRefreshPacket in the IPFIX
1503 MIB module.";
1504 reference "RFC 5101, Section 10.3.7; RFC 6615, Section 8
1505 (ipfixTransportSessionTemplateRefreshPacket).";
1506 }
1507 leaf optionsTemplateLifePacket {
1508 type uint32;
1509 units "IPFIX Messages";
1510 description "If this parameter is configured, Options
1511 Templates defined in a UDP Transport Session become
1512 invalid if they are neither included in a sequence of more
1513 than this number of IPFIX Messages nor received again
1514 within the period of time specified by
1515 optionsTemplateLifeTime.
1516 Note that this parameter corresponds to
1517 ipfixTransportSessionOptionsTemplateRefreshPacket in the
1518 IPFIX MIB module.";
1519 reference "RFC 5101, Section 10.3.7; RFC 6615, Section 8
1520 (ipfixTransportSessionOptionsTemplateRefreshPacket).";
1521 }
1522 }
1523
1524 grouping tcpCollectorParameters {
1525 description "Parameters of a listening TCP socket at a
1526 Collecting Process.";
1527 uses commonCollectorParameters;
1528 leaf-list localIPAddress {
1529 type inet:ip-address;
1530 description "List of local IP addresses on which the Collecting
1531 Process listens for IPFIX Messages.";
1532 }
1533 }
1534
1535 grouping fileReaderParameters {
1536 description "File Reader parameters.";
1537 leaf file {
1538 type inet:uri;
1539 mandatory true;
1540 description "URI specifying the location of the file.";
1541 }
1542 leaf bytes {
1543 type yang:counter64;
1544 units octets;
1545 config false;
1546 description "The number of bytes read by the File Reader.
1547 Discontinuities in the value of this counter can occur at
1548 re-initialization of the management system, and at other
1549 times as indicated by the value of
1550 fileReaderDiscontinuityTime.";
1551 }
1552 leaf messages {
1553 type yang:counter64;
1554 units "IPFIX Messages";
1555 config false;
1556 description "The number of IPFIX Messages read by the File
1557 Reader.
1558 Discontinuities in the value of this counter can occur at
1559 re-initialization of the management system, and at other
1560 times as indicated by the value of
1561 fileReaderDiscontinuityTime.";
1562 }
1563 leaf records {
1564 type yang:counter64;
1565 units "Data Records";
1566 config false;
1567 description "The number of Data Records read by the File
1568 Reader.
1569 Discontinuities in the value of this counter can occur at
1570 re-initialization of the management system, and at other
1571 times as indicated by the value of
1572 fileReaderDiscontinuityTime.";
1573 }
1574 leaf templates {
1575 type yang:counter32;
1576 units "Templates";
1577 config false;
1578 description "The number of Template Records (excluding
1579 Options Template Records) read by the File Reader.
1580 Discontinuities in the value of this counter can occur at
1581 re-initialization of the management system, and at other
1582 times as indicated by the value of
1583 fileReaderDiscontinuityTime.";
1584 }
1585 leaf optionsTemplates {
1586 type yang:counter32;
1587 units "Options Templates";
1588 config false;
1589 description "The number of Options Template Records read by
1590 the File Reader.
1591 Discontinuities in the value of this counter can occur at
1592 re-initialization of the management system, and at other
1593 times as indicated by the value of
1594 fileReaderDiscontinuityTime.";
1595 }
1596 leaf fileReaderDiscontinuityTime {
1597 type yang:date-and-time;
1598 config false;
1599 description "Timestamp of the most recent occasion at which
1600 one or more File Reader counters suffered a discontinuity.
1601 In contrast to discontinuity times in the IPFIX MIB module,
1602 the time is absolute and not relative to sysUpTime.";
1603 }
1604 list template {
1605 config false;
1606 description "This list contains the Templates and Options
1607 Templates that have been read by the File Reader.
1608 Withdrawn or invalidated (Options) Template MUST be removed
1609 from this list.";
1610 uses templateParameters;
1611 }
1612 }
1613
1614 grouping transportLayerSecurityParameters {
1615 description "TLS or DTLS parameters.";
1616 leaf-list localCertificationAuthorityDN {
1617 type string;
1618 description "Distinguished names of certification authorities
1619 whose certificates may be used to identify the local
1620 endpoint.";
1621 reference "RFC 5280.";
1622 }
1623 leaf-list localSubjectDN {
1624 type string;
1625 description "Distinguished names that may be used in the
1626 certificates to identify the local endpoint.";
1627 reference "RFC 5280.";
1628 }
1629 leaf-list localSubjectFQDN {
1630 type inet:domain-name;
1631 description "Fully qualified domain names that may be used to
1632 in the certificates to identify the local endpoint.";
1633 reference "RFC 5280.";
1634 }
1635 leaf-list remoteCertificationAuthorityDN {
1636 type string;
1637 description "Distinguished names of certification authorities
1638 whose certificates are accepted to authorize remote
1639 endpoints.";
1640 reference "RFC 5280.";
1641 }
1642 leaf-list remoteSubjectDN {
1643 type string;
1644 description "Distinguished names which are accepted in
1645 certificates to authorize remote endpoints.";
1646 reference "RFC 5280.";
1647 }
1648 leaf-list remoteSubjectFQDN {
1649 type inet:domain-name;
1650 description "Fully qualified domain names that are accepted in
1651 certificates to authorize remote endpoints.";
1652 reference "RFC 5280.";
1653 }
1654 }
1655
1656 grouping templateParameters {
1657 description "State parameters of a Template used by an Exporting
1658 Process or received by a Collecting Process in a specific
1659 Transport Session. Parameter names and semantics correspond to
1660 the managed objects in IPFIX-MIB";
1661 reference "RFC 5101; RFC 6615, Section 8 (ipfixTemplateEntry,
1662 ipfixTemplateDefinitionEntry, ipfixTemplateStatsEntry)";
1663 leaf observationDomainId {
1664 type uint32;
1665 description "The ID of the Observation Domain for which this
1666 Template is defined.
1667 Note that this parameter corresponds to
1668 ipfixTemplateObservationDomainId in the IPFIX MIB module.";
1669 reference "RFC 6615, Section 8
1670 (ipfixTemplateObservationDomainId).";
1671 }
1672 leaf templateId {
1673 type uint16 {
1674 range "256..65535" {
1675 description "Valid range of Template IDs.";
1676 reference "RFC 5101";
1677 }
1678 }
1679 description "This number indicates the Template ID in the IPFIX
1680 message.
1681 Note that this parameter corresponds to ipfixTemplateId in
1682 the IPFIX MIB module.";
1683 reference "RFC 6615, Section 8 (ipfixTemplateId).";
1684 }
1685 leaf setId {
1686 type uint16;
1687 description "This number indicates the Set ID of the Template.
1688 Currently, there are two values defined. The value 2 is used
1689 for Sets containing Template definitions. The value 3 is
1690 used for Sets containing Options Template definitions.
1691 Note that this parameter corresponds to ipfixTemplateSetId
1692 in the IPFIX MIB module.";
1693 reference "RFC 6615, Section 8 (ipfixTemplateSetId).";
1694 }
1695 leaf accessTime {
1696 type yang:date-and-time;
1697 description "Used for Exporting Processes, this parameter
1698 contains the time when this (Options) Template was last
1699 sent to the Collector(s) or written to the file.
1700 Used for Collecting Processes, this parameter contains the
1701 time when this (Options) Template was last received from the
1702 Exporter or read from the file.
1703 Note that this parameter corresponds to
1704 ipfixTemplateAccessTime in the IPFIX MIB module.";
1705 reference "RFC 6615, Section 8 (ipfixTemplateAccessTime).";
1706 }
1707 leaf templateDataRecords {
1708 type yang:counter64;
1709 description "The number of transmitted or received Data
1710 Records defined by this (Options) Template.
1711 Discontinuities in the value of this counter can occur at
1712 re-initialization of the management system, and at other
1713 times as indicated by the value of
1714 templateDiscontinuityTime.
1715 Note that this parameter corresponds to
1716 ipfixTemplateDataRecords in the IPFIX MIB module.";
1717 reference "RFC 6615, Section 8 (ipfixTemplateDataRecords).";
1718 }
1719 leaf templateDiscontinuityTime {
1720 type yang:date-and-time;
1721 description "Timestamp of the most recent occasion at which
1722 the counter templateDataRecords suffered a discontinuity.
1723 Note that this parameter functionally corresponds to
1724 ipfixTemplateDiscontinuityTime in the IPFIX MIB module.
1725 In contrast to ipfixTemplateDiscontinuityTime, the time
1726 is absolute and not relative to sysUpTime.";
1727 reference "RFC 6615, Section 8
1728 (ipfixTemplateDiscontinuityTime).";
1729 }
1730 list field {
1731 description "This list contains the (Options) Template
1732 fields of which the (Options) Template is defined.
1733 The order of the list corresponds to the order of the fields
1734 in the (Option) Template Record.";
1735 leaf ieId {
1736 type ieIdType;
1737 description "This parameter indicates the Information
1738 Element identifier of the field.
1739 Note that this parameter corresponds to
1740 ipfixTemplateDefinitionIeId in the IPFIX MIB module.";
1741 reference "RFC 5101; RFC 6615, Section 8
1742 (ipfixTemplateDefinitionIeId).";
1743 }
1744 leaf ieLength {
1745 type uint16;
1746 units octets;
1747 description "This parameter indicates the length of the
1748 Information Element of the field.
1749 Note that this parameter corresponds to
1750 ipfixTemplateDefinitionIeLength in the IPFIX MIB
1751 module.";
1752 reference "RFC 5101; RFC 6615, Section 8
1753 (ipfixTemplateDefinitionIeLength).";
1754 }
1755 leaf ieEnterpriseNumber {
1756 type uint32;
1757 description "This parameter indicates the IANA enterprise
1758 number of the authority defining the Information Element
1759 identifier.
1760 If the Information Element is not enterprise-specific,
1761 this state parameter is zero.
1762 Note that this parameter corresponds to
1763 ipfixTemplateDefinitionIeEnterpriseNumber in the IPFIX
1764 MIB module.";
1765 reference "RFC 6615, Section 8
1766 (ipfixTemplateDefinitionIeEnterpriseNumber);
1767 IANA registry for Private Enterprise Numbers,
1768 http://www.iana.org/assignments/enterprise-numbers.";
1769 }
1770 leaf isFlowKey {
1771 when "../../setId = 2" {
1772 description "This parameter is available for non-Options
1773 Templates (Set ID is 2).";
1774 }
1775 type empty;
1776 description "If present, this is a Flow Key field.
1777 Note that this corresponds to flowKey(1) being set in
1778 ipfixTemplateDefinitionFlags.";
1779 reference "RFC 6615, Section 8
1780 (ipfixTemplateDefinitionFlags).";
1781 }
1782 leaf isScope {
1783 when "../../setId = 3" {
1784 description "This parameter is available for Options
1785 Templates (Set ID is 3).";
1786 }
1787 type empty;
1788 description "If present, this is a scope field.
1789 Note that this corresponds to scope(0) being set in
1790 ipfixTemplateDefinitionFlags.";
1791 reference "RFC 6615, Section 8
1792 (ipfixTemplateDefinitionFlags).";
1793 }
1794 }
1795 }
1796
1797 grouping transportSessionParameters {
1798 description "State parameters of a Transport Session originating
1799 from an Exporting Process or terminating at a Collecting
1800 Process. Parameter names and semantics correspond to the
1801 managed objects in IPFIX-MIB.";
1802 reference "RFC 5101; RFC 6615, Section 8
1803 (ipfixTransportSessionEntry,
1804 ipfixTransportSessionStatsEntry).";
1805 leaf ipfixVersion {
1806 type uint16;
1807 description "Used for Exporting Processes, this parameter
1808 contains the version number of the IPFIX protocol that the
1809 Exporter uses to export its data in this Transport Session.
1810 Hence, it is identical to the value of the configuration
1811 parameter ipfixVersion of the outer SctpExporter,
1812 UdpExporter, or TcpExporter node.
1813 Used for Collecting Processes, this parameter contains the
1814 version number of the IPFIX protocol it receives for
1815 this Transport Session. If IPFIX Messages of different
1816 IPFIX protocol versions are received, this parameter
1817 contains the maximum version number.
1818 Note that this parameter corresponds to
1819 ipfixTransportSessionIpfixVersion in the IPFIX MIB
1820 module.";
1821 reference "RFC 6615, Section 8
1822 (ipfixTransportSessionIpfixVersion).";
1823 }
1824 leaf sourceAddress {
1825 type inet:ip-address;
1826 description "The source address of the Exporter of the
1827 IPFIX Transport Session.
1828 If the transport protocol is SCTP, this is one of the
1829 potentially many IP addresses of the Exporter.
1830 Preferably, the source IP address of the path that is
1831 usually selected by the Exporter to send IPFIX Messages to
1832 the Collector SHOULD be used.
1833 Note that this parameter functionally corresponds to
1834 ipfixTransportSessionSourceAddressType and
1835 ipfixTransportSessionSourceAddress in the IPFIX MIB
1836 module.";
1837 reference "RFC 6615, Section 8
1838 (ipfixTransportSessionSourceAddressType,
1839 ipfixTransportSessionSourceAddress);
1840 RFC 4960, Section 6.4.";
1841 }
1842 leaf destinationAddress {
1843 type inet:ip-address;
1844 description "The destination address of the Collector of
1845 the IPFIX Transport Session.
1846 If the transport protocol is SCTP, this is one of the
1847 potentially many IP addresses of the Collector.
1848 Preferably, the destination IP address of the path that is
1849 usually selected by the Exporter to send IPFIX Messages to
1850 the Collector SHOULD be used.
1851 Note that this parameter functionally corresponds to
1852 ipfixTransportSessionDestinationAddressType and
1853 ipfixTransportSessionDestinationAddress in the IPFIX MIB
1854 module.";
1855 reference "RFC 6615, Section 8
1856 (ipfixTransportSessionDestinationAddressType,
1857 ipfixTransportSessionDestinationAddress);
1858 RFC 4960, Section 6.4.";
1859 }
1860 leaf sourcePort {
1861 type inet:port-number;
1862 description "The transport-protocol port number of the
1863 Exporter of the IPFIX Transport Session.
1864 Note that this parameter corresponds to
1865 ipfixTransportSessionSourcePort in the IPFIX MIB module.";
1866 reference "RFC 6615, Section 8
1867 (ipfixTransportSessionSourcePort).";
1868 }
1869 leaf destinationPort {
1870 type inet:port-number;
1871 description "The transport-protocol port number of the
1872 Collector of the IPFIX Transport Session.
1873 Note that this parameter corresponds to
1874 ipfixTransportSessionDestinationPort in the IPFIX MIB
1875 module.";
1876 reference "RFC 6615, Section 8
1877 (ipfixTransportSessionDestinationPort).";
1878 }
1879 leaf sctpAssocId {
1880 type uint32;
1881 description "The association ID used for the SCTP session
1882 between the Exporter and the Collector of the IPFIX
1883 Transport Session. It is equal to the sctpAssocId entry
1884 in the sctpAssocTable defined in the SCTP-MIB.
1885 This parameter is only available if the transport protocol
1886 is SCTP and if an SNMP agent on the same Monitoring Device
1887 enables access to the corresponding MIB objects in the
1888 sctpAssocTable.
1889 Note that this parameter corresponds to
1890 ipfixTransportSessionSctpAssocId in the IPFIX MIB
1891 module.";
1892 reference "RFC 6615, Section 8
1893 (ipfixTransportSessionSctpAssocId);
1894 RFC 3871";
1895 }
1896 leaf status {
1897 type transportSessionStatus;
1898 description "Status of the Transport Session.
1899 Note that this parameter corresponds to
1900 ipfixTransportSessionStatus in the IPFIX MIB module.";
1901 reference "RFC 6615, Section 8 (ipfixTransportSessionStatus).";
1902 }
1903 leaf rate {
1904 type yang:gauge32;
1905 units "bytes per second";
1906 description "The number of bytes per second transmitted by the
1907 Exporting Process or received by the Collecting Process.
1908 This parameter is updated every second.
1909 Note that this parameter corresponds to
1910 ipfixTransportSessionRate in the IPFIX MIB module.";
1911 reference "RFC 6615, Section 8 (ipfixTransportSessionRate).";
1912 }
1913 leaf bytes {
1914 type yang:counter64;
1915 units bytes;
1916 description "The number of bytes transmitted by the
1917 Exporting Process or received by the Collecting Process.
1918 Discontinuities in the value of this counter can occur at
1919 re-initialization of the management system, and at other
1920 times as indicated by the value of
1921 transportSessionDiscontinuityTime.
1922 Note that this parameter corresponds to
1923 ipfixTransportSessionBytes in the IPFIX MIB module.";
1924 reference "RFC 6615, Section 8 (ipfixTransportSessionBytes).";
1925 }
1926 leaf messages {
1927 type yang:counter64;
1928 units "IPFIX Messages";
1929 description "The number of messages transmitted by the
1930 Exporting Process or received by the Collecting Process.
1931 Discontinuities in the value of this counter can occur at
1932 re-initialization of the management system, and at other
1933 times as indicated by the value of
1934 transportSessionDiscontinuityTime.
1935 Note that this parameter corresponds to
1936 ipfixTransportSessionMessages in the IPFIX MIB module.";
1937 reference "RFC 6615, Section 8
1938 (ipfixTransportSessionMessages).";
1939 }
1940 leaf discardedMessages {
1941 type yang:counter64;
1942 units "IPFIX Messages";
1943 description "Used for Exporting Processes, this parameter
1944 indicates the number of messages that could not be sent due
1945 to internal buffer overflows, network congestion, routing
1946 issues, etc. Used for Collecting Process, this parameter
1947 indicates the number of received IPFIX Message that are
1948 malformed, cannot be decoded, are received in the wrong
1949 order or are missing according to the sequence number.
1950 Discontinuities in the value of this counter can occur at
1951 re-initialization of the management system, and at other
1952 times as indicated by the value of
1953 transportSessionDiscontinuityTime.
1954 Note that this parameter corresponds to
1955 ipfixTransportSessionDiscardedMessages in the IPFIX MIB
1956 module.";
1957 reference "RFC 6615, Section 8
1958 (ipfixTransportSessionDiscardedMessages).";
1959 }
1960 leaf records {
1961 type yang:counter64;
1962 units "Data Records";
1963 description "The number of Data Records transmitted by the
1964 Exporting Process or received by the Collecting Process.
1965 Discontinuities in the value of this counter can occur at
1966 re-initialization of the management system, and at other
1967 times as indicated by the value of
1968 transportSessionDiscontinuityTime.
1969 Note that this parameter corresponds to
1970 ipfixTransportSessionRecords in the IPFIX MIB module.";
1971 reference "RFC 6615, Section 8
1972 (ipfixTransportSessionRecords).";
1973 }
1974 leaf templates {
1975 type yang:counter32;
1976 units "Templates";
1977 description "The number of Templates transmitted by the
1978 Exporting Process or received by the Collecting Process.
1979 Discontinuities in the value of this counter can occur at
1980 re-initialization of the management system, and at other
1981 times as indicated by the value of
1982 transportSessionDiscontinuityTime.
1983 Note that this parameter corresponds to
1984 ipfixTransportSessionTemplates in the IPFIX MIB module.";
1985 reference "RFC 6615, Section 8
1986 (ipfixTransportSessionTemplates).";
1987 }
1988 leaf optionsTemplates {
1989 type yang:counter32;
1990 units "Options Templates";
1991 description "The number of Option Templates transmitted by the
1992 Exporting Process or received by the Collecting Process.
1993 Discontinuities in the value of this counter can occur at
1994 re-initialization of the management system, and at other
1995 times as indicated by the value of
1996 transportSessionDiscontinuityTime.
1997 Note that this parameter corresponds to
1998 ipfixTransportSessionOptionsTemplates in the IPFIX MIB
1999 module.";
2000 reference "RFC 6615, Section 8
2001 (ipfixTransportSessionOptionsTemplates).";
2002 }
2003 leaf transportSessionStartTime {
2004 type yang:date-and-time;
2005 description "Timestamp of the start of the given Transport
2006 Session.
2007 This state parameter does not correspond to any object in
2008 the IPFIX MIB module.";
2009 }
2010 leaf transportSessionDiscontinuityTime {
2011 type yang:date-and-time;
2012 description "Timestamp of the most recent occasion at which
2013 one or more of the Transport Session counters suffered a
2014 discontinuity.
2015 Note that this parameter functionally corresponds to
2016 ipfixTransportSessionDiscontinuityTime in the IPFIX MIB
2017 module. In contrast to
2018 ipfixTransportSessionDiscontinuityTime, the time is
2019 absolute and not relative to sysUpTime.";
2020 reference "RFC 6615, Section 8
2021 (ipfixTransportSessionDiscontinuityTime).";
2022 }
2023 list template {
2024 description "This list contains the Templates and Options
2025 Templates that are transmitted by the Exporting Process
2026 or received by the Collecting Process.
2027 Withdrawn or invalidated (Options) Templates MUST be removed
2028 from this list.";
2029 uses templateParameters;
2030 }
2031 }
2032
2033 /*****************************************************************
2034 * Main container
2035 *****************************************************************/
2036
2037 container ipfix {
2038 description "Top-level node of the IPFIX/PSAMP configuration
2039 data model.";
2040 list collectingProcess {
2041 if-feature collector;
2042 key name;
2043 description "Collecting Process of the Monitoring Device.";
2044 leaf name {
2045 type nameType;
2046 description "Key of this list.";
2047 }
2048 uses collectingProcessParameters;
2049 leaf-list exportingProcess {
2050 if-feature exporter;
2051 type leafref { path "/ipfix/exportingProcess/name"; }
2052 description "Export of received records without any
2053 modifications. Records are processed by all Exporting
2054 Processes in the list.";
2055 }
2056 }
2057
2058 list observationPoint {
2059 if-feature meter;
2060 key name;
2061 description "Observation Point of the Monitoring Device.";
2062 leaf name {
2063 type nameType;
2064 description "Key of this list.";
2065 }
2066 uses observationPointParameters;
2067 leaf-list selectionProcess {
2068 type leafref { path "/ipfix/selectionProcess/name"; }
2069 description "Selection Processes in this list process
2070 packets in parallel.";
2071 }
2072 }
2073
2074 list selectionProcess {
2075 if-feature meter;
2076 key name;
2077 description "Selection Process of the Monitoring Device.";
2078 leaf name {
2079 type nameType;
2080 description "Key of this list.";
2081 }
2082 list selector {
2083 key name;
2084 min-elements 1;
2085 ordered-by user;
2086 description "List of Selectors that define the action of the
2087 Selection Process on a single packet. The Selectors are
2088 serially invoked in the same order as they appear in this
2089 list.";
2090 leaf name {
2091 type nameType;
2092 description "Key of this list.";
2093 }
2094 uses selectorParameters;
2095 }
2096 list selectionSequence {
2097 config false;
2098 description "This list contains the Selection Sequence IDs
2099 that are assigned by the Monitoring Device to distinguish
2100 different Selection Sequences passing through the
2101 Selection Process.
2102 As Selection Sequence IDs are unique per Observation
2103 Domain, the corresponding Observation Domain IDs are
2104 included as well.
2105 With this information, it is possible to associate
2106 Selection Sequence (Statistics) Report Interpretations
2107 exported according to the PSAMP protocol with a Selection
2108 Process in the configuration data.";
2109 reference "RFC 5476.";
2110 leaf observationDomainId {
2111 type uint32;
2112 description "Observation Domain ID for which the
2113 Selection Sequence ID is assigned.";
2114 }
2115 leaf selectionSequenceId {
2116 type uint64;
2117 description "Selection Sequence ID used in the Selection
2118 Sequence (Statistics) Report Interpretation.";
2119 }
2120 }
2121 leaf cache {
2122 type leafref { path "/ipfix/cache/name"; }
2123 description "Cache that receives the output of the
2124 Selection Process.";
2125 }
2126 }
2127
2128 list cache {
2129 if-feature meter;
2130 key name;
2131 description "Cache of the Monitoring Device.";
2132 leaf name {
2133 type nameType;
2134 description "Key of this list.";
2135 }
2136 leaf meteringProcessId {
2137 type uint32;
2138 config false;
2139 description "The identifier of the Metering Process this
2140 Cache belongs to.
2141 This parameter corresponds to the Information Element
2142 meteringProcessId. Its occurrence helps to associate
2143 Cache parameters with Metering Process statistics
2144 exported by the Monitoring Device using the Metering
2145 Process (Reliability) Statistics Template as
2146 defined by the IPFIX protocol specification.";
2147 reference "RFC 5101, Sections 4.1 and 4.2;
2148 IANA registry for IPFIX Entities,
2149 http://www.iana.org/assignments/ipfix.";
2150 }
2151 leaf dataRecords {
2152 type yang:counter64;
2153 units "Data Records";
2154 config false;
2155 description "The number of Data Records generated by this
2156 Cache.
2157 Discontinuities in the value of this counter can occur at
2158 re-initialization of the management system, and at other
2159 times as indicated by the value of
2160 cacheDiscontinuityTime.
2161 Note that this parameter corresponds to
2162 ipfixMeteringProcessDataRecords in the IPFIX MIB
2163 module.";
2164 reference "RFC 6615, Section 8
2165 (ipfixMeteringProcessDataRecords).";
2166 }
2167 leaf cacheDiscontinuityTime {
2168 type yang:date-and-time;
2169 config false;
2170 description "Timestamp of the most recent occasion at which
2171 the counter dataRecords suffered a discontinuity.
2172 Note that this parameter functionally corresponds to
2173 ipfixMeteringProcessDiscontinuityTime in the IPFIX MIB
2174 module. In contrast to
2175 ipfixMeteringProcessDiscontinuityTime, the time is
2176 absolute and not relative to sysUpTime.";
2177 reference "RFC 6615, Section 8
2178 (ipfixMeteringProcessDiscontinuityTime).";
2179 }
2180 choice CacheType {
2181 mandatory true;
2182 description "Type of Cache and specific parameters.";
2183 container immediateCache {
2184 if-feature immediateCache;
2185 description "Flow expiration after the first packet;
2186 generation of Packet Records.";
2187 uses cacheLayoutParameters;
2188 }
2189 container timeoutCache {
2190 if-feature timeoutCache;
2191 description "Flow expiration after active and idle
2192 timeout; generation of Flow Records.";
2193 uses flowCacheParameters;
2194 uses cacheLayoutParameters;
2195 }
2196 container naturalCache {
2197 if-feature naturalCache;
2198 description "Flow expiration after active and idle
2199 timeout, or on natural termination (e.g., TCP FIN or
2200 TCP RST) of the Flow; generation of Flow Records.";
2201 uses flowCacheParameters;
2202 uses cacheLayoutParameters;
2203 }
2204 container permanentCache {
2205 if-feature permanentCache;
2206 description "No flow expiration, periodical export with
2207 time interval exportInterval; generation of Flow
2208 Records.";
2209 uses flowCacheParameters;
2210 uses cacheLayoutParameters;
2211 }
2212 }
2213 leaf-list exportingProcess {
2214 if-feature exporter;
2215 type leafref { path "/ipfix/exportingProcess/name"; }
2216 description "Records are exported by all Exporting Processes
2217 in the list.";
2218 }
2219 }
2220
2221 list exportingProcess {
2222 if-feature exporter;
2223 key name;
2224 description "Exporting Process of the Monitoring Device.";
2225 leaf name {
2226 type nameType;
2227 description "Key of this list.";
2228 }
2229 uses exportingProcessParameters;
2230 }
2231 }
2232}