IP-TRAFFIC-FLOW-SECURITY-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, Counter64, mib-2 FROM SNMPv2-SMI CounterBasedGauge64 FROM HCNUM-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF TEXTUAL-CONVENTION, TruthValue FROM SNMPv2-TC; iptfsMIB MODULE-IDENTITY LAST-UPDATED "202301310000Z" ORGANIZATION "IETF IPsecme Working Group" CONTACT-INFO " Author: Don Fedyk Author: Eric Kinzie " DESCRIPTION "This module defines the configuration and operational state for managing the IP Traffic Flow Security functionality (RFC 9349). 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 Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info). This version of this SNMP MIB module is part of RFC 9349; see the RFC itself for full legal notices." REVISION "202301310000Z" DESCRIPTION "Initial revision. Derived from the IP-TFS YANG Data Model." ::= { mib-2 246} -- -- Textual Conventions -- UnsignedShort ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "xs:unsignedShort" SYNTAX Unsigned32 (0 .. 65535) NanoSeconds ::= TEXTUAL-CONVENTION DISPLAY-HINT "d-6" STATUS current DESCRIPTION "Represents the time unit value in nanoseconds." SYNTAX Integer32 -- Objects, Notifications & Conformances iptfsMIBObjects OBJECT IDENTIFIER ::= { iptfsMIB 1 } iptfsMIBConformance OBJECT IDENTIFIER ::= { iptfsMIB 2} -- -- IP-TFS MIB Object Groups -- iptfsGroup OBJECT IDENTIFIER ::= { iptfsMIBObjects 1 } ipsecStatsGroup OBJECT IDENTIFIER ::= { iptfsMIBObjects 2 } iptfsInnerStatsGroup OBJECT IDENTIFIER ::= { iptfsMIBObjects 3 } iptfsOuterStatsGroup OBJECT IDENTIFIER ::= { iptfsMIBObjects 4 } iptfsConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF IptfsConfigTableEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing configuration information for IP-TFS." ::= { iptfsGroup 1 } iptfsConfigTableEntry OBJECT-TYPE SYNTAX IptfsConfigTableEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular IP-TFS SA." INDEX { iptfsConfigSaIndex } ::= { iptfsConfigTable 1 } IptfsConfigTableEntry ::= SEQUENCE { iptfsConfigSaIndex Integer32, -- identifier information congestionControl TruthValue, usePathMtuDiscovery TruthValue, outerPacketSize UnsignedShort, l2FixedRate CounterBasedGauge64, l3FixedRate CounterBasedGauge64, dontFragment TruthValue, maxAggregationTime NanoSeconds, windowSize UnsignedShort, sendImmediately TruthValue, lostPacketTimerInterval NanoSeconds } iptfsConfigSaIndex OBJECT-TYPE SYNTAX Integer32 (1..16777215) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique value, greater than zero, for each SA. It is recommended that values are assigned contiguously, starting from 1. The value for each entry must remain constant at least from one re-initialization of an entity's network management system to the next re-initialization." ::= { iptfsConfigTableEntry 1 } congestionControl OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "When set to true, the default, this enables the congestion control on-the-wire exchange of data that is required by congestion control algorithms, as defined by RFC 5348. When set to false, IP-TFS sends fixed-sized packets over an IP-TFS tunnel at a constant rate." ::= { iptfsConfigTableEntry 2 } usePathMtuDiscovery OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Packet size is either auto-discovered or manually configured. If usePathMtuDiscovery is true, the system utilizes path-mtu to determine the maximum IP-TFS packet size. If the packet size is explicitly configured, then it will only be adjusted downward if use-path-mtu is set." ::= { iptfsConfigTableEntry 3 } outerPacketSize OBJECT-TYPE SYNTAX UnsignedShort MAX-ACCESS read-only STATUS current DESCRIPTION "On transmission, the size of the outer encapsulating tunnel packet (i.e., the IP packet containing Encapsulating Security Payload)." ::= { iptfsConfigTableEntry 4 } l2FixedRate OBJECT-TYPE SYNTAX CounterBasedGauge64 MAX-ACCESS read-only STATUS current DESCRIPTION "The IP-TFS bit rate may be specified as a layer 2 wire rate. On transmission, the target bandwidth/bit rate in bits per second (bps) for the IP-TFS tunnel. This rate is the nominal timing for the fixed-size packet. If congestion control is enabled, the rate may be adjusted down." ::= { iptfsConfigTableEntry 5 } l3FixedRate OBJECT-TYPE SYNTAX CounterBasedGauge64 MAX-ACCESS read-only STATUS current DESCRIPTION "The IP-TFS bit rate may be specified as a layer 3 packet rate. On transmission, the target bandwidth/bit rate in bps for the IP-TFS tunnel. This rate is the nominal timing for the fixed-size packet. If congestion control is enabled, the rate may be adjusted down." ::= { iptfsConfigTableEntry 6 } dontFragment OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "On transmission, disable packet fragmentation across consecutive IP-TFS tunnel packets; inner packets larger than what can be transmitted in outer packets will be dropped." ::= { iptfsConfigTableEntry 7 } maxAggregationTime OBJECT-TYPE SYNTAX NanoSeconds MAX-ACCESS read-only STATUS current DESCRIPTION "On transmission, the maximum aggregation time is the maximum length of time a received inner packet can be held prior to transmission in the IP-TFS tunnel. Inner packets that would be held longer than this time, based on the current tunnel configuration, will be dropped rather than be queued for transmission." ::= { iptfsConfigTableEntry 8 } windowSize OBJECT-TYPE SYNTAX UnsignedShort MAX-ACCESS read-only STATUS current DESCRIPTION "On reception, the maximum number of out-of-order packets that will be reordered by an IP-TFS receiver while performing the reordering operation. The value 0 disables any reordering." ::= { iptfsConfigTableEntry 9 } sendImmediately OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "On reception, send inner packets as soon as possible; do not wait for lost or misordered outer packets. Selecting this option reduces the inner (user) packet delay but can amplify out-of-order delivery of the inner packet stream in the presence of packet aggregation and any reordering." ::= { iptfsConfigTableEntry 10 } lostPacketTimerInterval OBJECT-TYPE SYNTAX NanoSeconds MAX-ACCESS read-only STATUS current DESCRIPTION "On reception, this interval defines the length of time an IP-TFS receiver will wait for a missing packet before considering it lost. If not using send-immediately, then each lost packet will delay inner (user) packets until this timer expires. Setting this value too low can impact reordering and reassembly." ::= { iptfsConfigTableEntry 11 } ipsecStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF IpsecStatsTableEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing basic statistics on IPsec." ::= { ipsecStatsGroup 1 } ipsecStatsTableEntry OBJECT-TYPE SYNTAX IpsecStatsTableEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular IKE SA." INDEX { ipsecSaIndex } ::= { ipsecStatsTable 1 } IpsecStatsTableEntry ::= SEQUENCE { ipsecSaIndex Integer32, -- packet statistics information txPkts Counter64, txOctets Counter64, txDropPkts Counter64, rxPkts Counter64, rxOctets Counter64, rxDropPkts Counter64 } ipsecSaIndex OBJECT-TYPE SYNTAX Integer32 (1..16777215) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique value, greater than zero, for each SA. It is recommended that values are assigned contiguously, starting from 1. The value for each entry must remain constant at least from one re-initialization of an entity's network management system to the next re-initialization." ::= { ipsecStatsTableEntry 1 } txPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Outbound Packet count." ::= { ipsecStatsTableEntry 2 } txOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Outbound Packet bytes." ::= { ipsecStatsTableEntry 3 } txDropPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Outbound dropped packets count." ::= { ipsecStatsTableEntry 4 } rxPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Inbound Packet count." ::= { ipsecStatsTableEntry 5 } rxOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Inbound Packet bytes." ::= { ipsecStatsTableEntry 6 } rxDropPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Inbound dropped packets." ::= { ipsecStatsTableEntry 7 } iptfsInnerStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF IptfsInnerStatsSaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing information on IP-TFS inner packets." ::= { iptfsInnerStatsGroup 1 } iptfsInnerStatsTableEntry OBJECT-TYPE SYNTAX IptfsInnerStatsSaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing the information on a particular IP-TFS SA." INDEX { iptfsInnerSaIndex } ::= { iptfsInnerStatsTable 1 } IptfsInnerStatsSaEntry ::= SEQUENCE { iptfsInnerSaIndex Integer32, txInnerPkts Counter64, txInnerOctets Counter64, rxInnerPkts Counter64, rxInnerOctets Counter64, rxIncompleteInnerPkts Counter64 } iptfsInnerSaIndex OBJECT-TYPE SYNTAX Integer32 (1..16777215) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique value, greater than zero, for each SA. It is recommended that values are assigned contiguously, starting from 1. The value for each entry must remain constant at least from one re-initialization of an entity's network management system to the next re-initialization." ::= { iptfsInnerStatsTableEntry 1 } txInnerPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of IP-TFS inner packets sent. This count is whole packets only. A fragmented packet counts as one packet." ::= { iptfsInnerStatsTableEntry 2 } txInnerOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of IP-TFS inner octets sent. This is inner packet octets only. This does not count padding." ::= { iptfsInnerStatsTableEntry 3 } rxInnerPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of IP-TFS inner packets received." ::= { iptfsInnerStatsTableEntry 4 } rxInnerOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of IP-TFS inner octets received. This does not include padding or overhead." ::= { iptfsInnerStatsTableEntry 5 } rxIncompleteInnerPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of IP-TFS inner packets that were incomplete. Usually, this is due to fragments not received. Also, this may be due to misordering or errors in received outer packets." ::= { iptfsInnerStatsTableEntry 6 } iptfsOuterStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF IptfsOuterStatsSaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing information on IP-TFS." ::= { iptfsOuterStatsGroup 1 } iptfsOuterStatsTableEntry OBJECT-TYPE SYNTAX IptfsOuterStatsSaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing the information on a particular IP-TFS SA." INDEX { iptfsOuterSaIndex } ::= { iptfsOuterStatsTable 1 } IptfsOuterStatsSaEntry ::= SEQUENCE { iptfsOuterSaIndex Integer32, -- iptfs packet statistics information txExtraPadPkts Counter64, txExtraPadOctets Counter64, txAllPadPkts Counter64, txAllPadOctets Counter64, rxExtraPadPkts Counter64, rxExtraPadOctets Counter64, rxAllPadPkts Counter64, rxAllPadOctets Counter64, rxErroredPkts Counter64, rxMissedPkts Counter64 } iptfsOuterSaIndex OBJECT-TYPE SYNTAX Integer32 (1..16777215) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique value, greater than zero, for each SA. It is recommended that values are assigned contiguously, starting from 1. The value for each entry must remain constant at least from one re-initialization of an entity's network management system to the next re-initialization." ::= { iptfsOuterStatsTableEntry 1 } txExtraPadPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of transmitted outer IP-TFS packets that included some padding." ::= { iptfsOuterStatsTableEntry 2 } txExtraPadOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of transmitted octets of padding added to outer IP-TFS packets with data." ::= { iptfsOuterStatsTableEntry 3 } txAllPadPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of transmitted IP-TFS packets that were all padding with no inner packet data." ::= { iptfsOuterStatsTableEntry 4 } txAllPadOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number transmitted octets of padding added to IP-TFS packets with no inner packet data." ::= { iptfsOuterStatsTableEntry 5 } rxExtraPadPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of received outer IP-TFS packets that included some padding." ::= { iptfsOuterStatsTableEntry 6 } rxExtraPadOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of received octets of padding added to outer IP-TFS packets with data." ::= { iptfsOuterStatsTableEntry 7 } rxAllPadPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of received IP-TFS packets that were all padding with no inner packet data." ::= { iptfsOuterStatsTableEntry 8 } rxAllPadOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number received octets of padding added to IP-TFS packets with no inner packet data." ::= { iptfsOuterStatsTableEntry 9 } rxErroredPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of IP-TFS outer packets dropped due to errors." ::= { iptfsOuterStatsTableEntry 10 } rxMissedPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Total number of IP-TFS outer packets missing indicated by a missing sequence number." ::= { iptfsOuterStatsTableEntry 11 } -- -- Iptfs Module Compliance -- iptfsMIBConformances OBJECT IDENTIFIER ::= { iptfsMIBConformance 1 } iptfsMIBGroups OBJECT IDENTIFIER ::= { iptfsMIBConformance 2 } iptfsMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities that implement the IP-TFS MIB." MODULE -- this module MANDATORY-GROUPS { iptfsMIBConfGroup, ipsecStatsConfGroup, iptfsInnerStatsConfGroup, iptfsOuterStatsConfGroup } ::= { iptfsMIBConformances 1 } -- -- MIB Groups (Units of Conformance) -- iptfsMIBConfGroup OBJECT-GROUP OBJECTS { congestionControl, usePathMtuDiscovery, outerPacketSize , l2FixedRate , l3FixedRate , dontFragment, maxAggregationTime, windowSize, sendImmediately, lostPacketTimerInterval } STATUS current DESCRIPTION "A collection of objects providing per SA IP-TFS configuration." ::= { iptfsMIBGroups 1 } ipsecStatsConfGroup OBJECT-GROUP OBJECTS { txPkts, txOctets, txDropPkts, rxPkts, rxOctets, rxDropPkts } STATUS current DESCRIPTION "A collection of objects providing per SA basic statistics." ::= { iptfsMIBGroups 2 } iptfsInnerStatsConfGroup OBJECT-GROUP OBJECTS { txInnerPkts, txInnerOctets, rxInnerPkts, rxInnerOctets, rxIncompleteInnerPkts } STATUS current DESCRIPTION "A collection of objects providing per SA IP-TFS inner packet statistics." ::= { iptfsMIBGroups 3 } iptfsOuterStatsConfGroup OBJECT-GROUP OBJECTS { txExtraPadPkts, txExtraPadOctets, txAllPadPkts, txAllPadOctets, rxExtraPadPkts, rxExtraPadOctets, rxAllPadPkts, rxAllPadOctets, rxErroredPkts, rxMissedPkts } STATUS current DESCRIPTION "A collection of objects providing per SA IP-TFS outer packet statistics." ::= { iptfsMIBGroups 4 } END