Imported Upstream version 0.4.8
[platform/upstream/libsmi.git] / mibs / ietf / NAT-MIB
1 NAT-MIB DEFINITIONS ::= BEGIN
2
3 IMPORTS
4      MODULE-IDENTITY,
5      OBJECT-TYPE,
6      Integer32,
7      Unsigned32,
8      Gauge32,
9      Counter64,
10      TimeTicks,
11      mib-2,
12      NOTIFICATION-TYPE
13              FROM SNMPv2-SMI
14      TEXTUAL-CONVENTION,
15      StorageType,
16      RowStatus
17
18
19
20              FROM SNMPv2-TC
21      MODULE-COMPLIANCE,
22      NOTIFICATION-GROUP,
23      OBJECT-GROUP
24              FROM SNMPv2-CONF
25      ifIndex,
26      ifCounterDiscontinuityGroup
27              FROM IF-MIB
28      SnmpAdminString
29              FROM SNMP-FRAMEWORK-MIB
30      InetAddressType,
31      InetAddress,
32      InetPortNumber
33              FROM INET-ADDRESS-MIB;
34
35 natMIB MODULE-IDENTITY
36      LAST-UPDATED "200503210000Z"
37      ORGANIZATION "IETF Transport Area"
38      CONTACT-INFO
39               "
40                Rohit
41                Mascon Global Limited
42                #59/2 100 ft Ring Road
43                Banashankari II Stage
44                Bangalore 560 070
45                India
46                Phone: +91 80 2679 6227
47                Email: rrohit74@hotmail.com
48
49                P. Srisuresh
50                Caymas Systems, Inc.
51                1179-A North McDowell Blvd.
52                Petaluma, CA 94954
53                Tel: (707) 283-5063
54                Email: srisuresh@yahoo.com
55
56                Rajiv Raghunarayan
57                Cisco Systems Inc.
58                170 West Tasman Drive
59                San Jose, CA 95134
60                Phone: +1 408 853 9612
61                Email: raraghun@cisco.com
62
63                Nalinaksh Pai
64                Cisco Systems, Inc.
65                Prestige Waterford
66                No. 9, Brunton Road
67                Bangalore - 560 025
68
69
70
71                India
72                Phone: +91 80 532 1300
73                Email: npai@cisco.com
74
75                Cliff Wang
76                Information Security
77                Bank One Corp
78                1111 Polaris Pkwy
79                Columbus, OH 43240
80                Phone: +1 614 213 6117
81                Email: cliffwang2000@yahoo.com
82              "
83      DESCRIPTION
84              "This MIB module defines the generic managed objects
85               for NAT.
86
87               Copyright (C) The Internet Society (2005).  This version
88               of this MIB module is part of RFC 4008;  see the RFC
89               itself for full legal notices."
90      REVISION     "200503210000Z"  -- 21th March 2005
91      DESCRIPTION
92              "Initial version, published as RFC 4008."
93      ::= { mib-2 123 }
94
95 natMIBObjects OBJECT IDENTIFIER ::= { natMIB 1 }
96
97 NatProtocolType ::= TEXTUAL-CONVENTION
98        STATUS       current
99        DESCRIPTION
100                "A list of protocols that support the network
101                 address translation.  Inclusion of the values is
102                 not intended to imply that those protocols
103                 need to be supported.  Any change in this
104                 TEXTUAL-CONVENTION should also be reflected in
105                 the definition of NatProtocolMap, which is a
106                 BITS representation of this."
107        SYNTAX   INTEGER {
108                      none (1),  -- not specified
109                      other (2), -- none of the following
110                      icmp (3),
111                      udp (4),
112                      tcp (5)
113                   }
114
115 NatProtocolMap ::= TEXTUAL-CONVENTION
116        STATUS       current
117        DESCRIPTION
118                "A bitmap of protocol identifiers that support
119
120
121
122                 the network address translation.  Any change
123                 in this TEXTUAL-CONVENTION should also be
124                 reflected in the definition of NatProtocolType."
125        SYNTAX   BITS {
126                   other (0),
127                   icmp (1),
128                   udp (2),
129                   tcp (3)
130                 }
131
132 NatAddrMapId ::= TEXTUAL-CONVENTION
133        DISPLAY-HINT "d"
134        STATUS current
135        DESCRIPTION
136                "A unique id that is assigned to each address map
137                 by a NAT enabled device."
138        SYNTAX   Unsigned32 (1..4294967295)
139
140 NatBindIdOrZero ::= TEXTUAL-CONVENTION
141        DISPLAY-HINT "d"
142        STATUS current
143        DESCRIPTION
144                "A unique id that is assigned to each bind by
145                 a NAT enabled device.  The bind id will be zero
146                 in the case of a Symmetric NAT."
147        SYNTAX   Unsigned32 (0..4294967295)
148
149 NatBindId ::= TEXTUAL-CONVENTION
150        DISPLAY-HINT "d"
151        STATUS current
152        DESCRIPTION
153                "A unique id that is assigned to each bind by
154                 a NAT enabled device."
155        SYNTAX   Unsigned32 (1..4294967295)
156
157 NatSessionId ::= TEXTUAL-CONVENTION
158        DISPLAY-HINT "d"
159        STATUS current
160        DESCRIPTION
161                "A unique id that is assigned to each session by
162                 a NAT enabled device."
163        SYNTAX   Unsigned32 (1..4294967295)
164
165 NatBindMode ::= TEXTUAL-CONVENTION
166        STATUS current
167        DESCRIPTION
168                "An indication of whether the bind is
169                 an address bind or an address port bind."
170
171
172
173        SYNTAX   INTEGER {
174                      addressBind (1),
175                      addressPortBind (2)
176                 }
177
178 NatAssociationType ::= TEXTUAL-CONVENTION
179        STATUS current
180        DESCRIPTION
181                "An indication of whether the association is
182                 static or dynamic."
183        SYNTAX   INTEGER {
184                      static (1),
185                      dynamic (2)
186                 }
187
188 NatTranslationEntity ::= TEXTUAL-CONVENTION
189        STATUS       current
190        DESCRIPTION
191                "An indication of a) the direction of a session for
192                 which an address map entry, address bind or port
193                 bind is applicable, and b) the entity (source or
194                 destination) within the session that is subject to
195                 translation."
196        SYNTAX   BITS {
197                   inboundSrcEndPoint (0),
198                   outboundDstEndPoint(1),
199                   inboundDstEndPoint (2),
200                   outboundSrcEndPoint(3)
201                 }
202
203 --
204 -- Default Values for the Bind and NAT Protocol Timers
205 --
206
207 natDefTimeouts OBJECT IDENTIFIER ::= { natMIBObjects 1 }
208
209 natNotifCtrl OBJECT IDENTIFIER ::= { natMIBObjects 2 }
210
211 --
212 -- Address Bind and Port Bind related NAT configuration
213 --
214
215 natBindDefIdleTimeout OBJECT-TYPE
216     SYNTAX     Unsigned32  (0..4294967295)
217     UNITS      "seconds"
218     MAX-ACCESS read-write
219     STATUS     current
220     DESCRIPTION
221
222
223
224             "The default Bind (Address Bind or Port Bind) idle
225              timeout parameter.
226
227              If the agent is capable of storing non-volatile
228              configuration, then the value of this object must be
229              restored after a re-initialization of the management
230              system."
231     DEFVAL { 0 }
232     ::= { natDefTimeouts 1 }
233
234 --
235 -- UDP related NAT configuration
236 --
237
238 natUdpDefIdleTimeout OBJECT-TYPE
239     SYNTAX     Unsigned32  (1..4294967295)
240     UNITS      "seconds"
241     MAX-ACCESS read-write
242     STATUS     current
243     DESCRIPTION
244             "The default UDP idle timeout parameter.
245
246              If the agent is capable of storing non-volatile
247              configuration, then the value of this object must be
248              restored after a re-initialization of the management
249              system."
250     DEFVAL { 300 }
251     ::= { natDefTimeouts 2 }
252
253 --
254 -- ICMP related NAT configuration
255 --
256
257 natIcmpDefIdleTimeout OBJECT-TYPE
258     SYNTAX     Unsigned32  (1..4294967295)
259     UNITS      "seconds"
260     MAX-ACCESS read-write
261     STATUS     current
262     DESCRIPTION
263             "The default ICMP idle timeout parameter.
264
265              If the agent is capable of storing non-volatile
266              configuration, then the value of this object must be
267              restored after a re-initialization of the management
268              system."
269     DEFVAL { 300 }
270     ::= { natDefTimeouts 3 }
271
272
273
274
275 --
276 -- Other protocol parameters
277 --
278
279 natOtherDefIdleTimeout OBJECT-TYPE
280     SYNTAX     Unsigned32  (1..4294967295)
281     UNITS      "seconds"
282     MAX-ACCESS read-write
283     STATUS     current
284     DESCRIPTION
285             "The default idle timeout parameter for protocols
286              represented by the value other (2) in
287              NatProtocolType.
288
289              If the agent is capable of storing non-volatile
290              configuration, then the value of this object must be
291              restored after a re-initialization of the management
292              system."
293     DEFVAL { 60 }
294     ::= { natDefTimeouts 4 }
295
296 --
297 -- TCP related NAT Timers
298 --
299
300 natTcpDefIdleTimeout OBJECT-TYPE
301     SYNTAX     Unsigned32  (1..4294967295)
302     UNITS      "seconds"
303     MAX-ACCESS read-write
304     STATUS     current
305     DESCRIPTION
306             "The default time interval that a NAT session for an
307              established TCP connection is allowed to remain
308              valid without any activity on the TCP connection.
309
310              If the agent is capable of storing non-volatile
311              configuration, then the value of this object must be
312              restored after a re-initialization of the management
313              system."
314     DEFVAL { 86400 }
315     ::= { natDefTimeouts 5 }
316
317 natTcpDefNegTimeout OBJECT-TYPE
318     SYNTAX     Unsigned32  (1..4294967295)
319     UNITS      "seconds"
320     MAX-ACCESS read-write
321     STATUS     current
322     DESCRIPTION
323
324
325
326             "The default time interval that a NAT session for a TCP
327              connection that is not in the established state
328              is allowed to remain valid without any activity on
329              the TCP connection.
330
331              If the agent is capable of storing non-volatile
332              configuration, then the value of this object must be
333              restored after a re-initialization of the management
334              system."
335     DEFVAL { 60 }
336     ::= { natDefTimeouts 6 }
337
338 natNotifThrottlingInterval OBJECT-TYPE
339     SYNTAX      Integer32 (0 | 5..3600)
340     UNITS       "seconds"
341     MAX-ACCESS  read-write
342     STATUS      current
343     DESCRIPTION
344             "This object controls the generation of the
345              natPacketDiscard notification.
346
347              If this object has a value of zero, then no
348              natPacketDiscard notifications will be transmitted by the
349              agent.
350
351              If this object has a non-zero value, then the agent must
352              not generate more than one natPacketDiscard
353              'notification-event' in the indicated period, where a
354              'notification-event' is the generation of a single
355              notification PDU type to a list of notification
356              destinations.  If additional NAT packets are discarded
357              within the throttling period, then notification-events
358              for these changes must be suppressed by the agent until
359              the current throttling period expires.
360
361              If natNotifThrottlingInterval notification generation
362              is enabled, the suggested default throttling period is
363              60 seconds, but generation of the natPacketDiscard
364              notification should be disabled by default.
365
366              If the agent is capable of storing non-volatile
367              configuration, then the value of this object must be
368              restored after a re-initialization of the management
369              system.
370
371              The actual transmission of notifications is controlled
372              via the MIB modules in RFC 3413."
373     DEFVAL { 0 }
374
375
376
377     ::= { natNotifCtrl 1 }
378
379 --
380 -- The NAT Interface Table
381 --
382
383 natInterfaceTable OBJECT-TYPE
384     SYNTAX      SEQUENCE OF NatInterfaceEntry
385     MAX-ACCESS  not-accessible
386     STATUS      current
387     DESCRIPTION
388             "This table specifies the attributes for interfaces on a
389              device supporting NAT function."
390     ::= { natMIBObjects 3 }
391
392 natInterfaceEntry OBJECT-TYPE
393     SYNTAX      NatInterfaceEntry
394     MAX-ACCESS  not-accessible
395     STATUS      current
396     DESCRIPTION
397             "Each entry in the natInterfaceTable holds a set of
398              parameters for an interface, instantiated by
399              ifIndex.  Therefore, the interface index must have been
400              assigned, according to the applicable procedures,
401              before it can be meaningfully used.
402              Generally, this means that the interface must exist.
403
404              When natStorageType is of type nonVolatile, however,
405              this may reflect the configuration for an interface whose
406              ifIndex has been assigned but for which the supporting
407              implementation is not currently present."
408     INDEX   { ifIndex }
409     ::= { natInterfaceTable 1 }
410
411 NatInterfaceEntry ::= SEQUENCE {
412     natInterfaceRealm            INTEGER,
413     natInterfaceServiceType      BITS,
414     natInterfaceInTranslates     Counter64,
415     natInterfaceOutTranslates    Counter64,
416     natInterfaceDiscards         Counter64,
417     natInterfaceStorageType      StorageType,
418     natInterfaceRowStatus        RowStatus
419 }
420
421 natInterfaceRealm OBJECT-TYPE
422     SYNTAX     INTEGER {
423                    private (1),
424                    public (2)
425
426
427
428                }
429     MAX-ACCESS read-create
430     STATUS     current
431     DESCRIPTION
432             "This object identifies whether this interface is
433              connected to the private or the public realm."
434     DEFVAL  { public }
435     ::= { natInterfaceEntry 1 }
436
437 natInterfaceServiceType OBJECT-TYPE
438     SYNTAX  BITS {
439                 basicNat (0),
440                 napt (1),
441                 bidirectionalNat (2),
442                 twiceNat (3)
443             }
444     MAX-ACCESS  read-create
445     STATUS      current
446     DESCRIPTION
447             "An indication of the direction in which new sessions
448              are permitted and the extent of translation done within
449              the IP and transport headers."
450     ::= { natInterfaceEntry 2 }
451
452 natInterfaceInTranslates OBJECT-TYPE
453     SYNTAX     Counter64
454     MAX-ACCESS read-only
455     STATUS     current
456     DESCRIPTION
457             "Number of packets received on this interface that
458              were translated.
459              Discontinuities in the value of this counter can occur at
460              reinitialization of the management system and at other
461              times as indicated by the value of
462              ifCounterDiscontinuityTime on the relevant interface."
463     ::= { natInterfaceEntry 3 }
464
465 natInterfaceOutTranslates OBJECT-TYPE
466     SYNTAX     Counter64
467     MAX-ACCESS read-only
468     STATUS     current
469     DESCRIPTION
470             "Number of translated packets that were sent out this
471              interface.
472
473              Discontinuities in the value of this counter can occur at
474              reinitialization of the management system and at other
475              times as indicated by the value of
476
477
478
479              ifCounterDiscontinuityTime on the relevant interface."
480     ::= { natInterfaceEntry 4 }
481
482 natInterfaceDiscards OBJECT-TYPE
483     SYNTAX     Counter64
484     MAX-ACCESS read-only
485     STATUS     current
486     DESCRIPTION
487             "Number of packets that had to be rejected/dropped due to
488              a lack of resources for this interface.
489
490              Discontinuities in the value of this counter can occur at
491              reinitialization of the management system and at other
492              times as indicated by the value of
493              ifCounterDiscontinuityTime on the relevant interface."
494      ::= { natInterfaceEntry 5 }
495
496 natInterfaceStorageType OBJECT-TYPE
497     SYNTAX      StorageType
498     MAX-ACCESS  read-create
499     STATUS      current
500     DESCRIPTION
501             "The storage type for this conceptual row.
502              Conceptual rows having the value 'permanent'
503              need not allow write-access to any columnar objects
504              in the row."
505     REFERENCE
506             "Textual Conventions for SMIv2, Section 2."
507     DEFVAL { nonVolatile }
508     ::= { natInterfaceEntry 6 }
509
510 natInterfaceRowStatus OBJECT-TYPE
511     SYNTAX      RowStatus
512     MAX-ACCESS  read-create
513     STATUS      current
514     DESCRIPTION
515             "The status of this conceptual row.
516
517              Until instances of all corresponding columns are
518              appropriately configured, the value of the
519              corresponding instance of the natInterfaceRowStatus
520              column is 'notReady'.
521
522
523              In particular, a newly created row cannot be made
524              active until the corresponding instance of
525              natInterfaceServiceType has been set.
526
527
528
529
530              None of the objects in this row may be modified
531              while the value of this object is active(1)."
532     REFERENCE
533             "Textual Conventions for SMIv2, Section 2."
534     ::= { natInterfaceEntry 7 }
535
536 --
537 -- The Address Map Table
538 --
539
540 natAddrMapTable OBJECT-TYPE
541     SYNTAX      SEQUENCE OF NatAddrMapEntry
542     MAX-ACCESS  not-accessible
543     STATUS      current
544     DESCRIPTION
545             "This table lists address map parameters for NAT."
546     ::= { natMIBObjects 4 }
547
548 natAddrMapEntry OBJECT-TYPE
549     SYNTAX      NatAddrMapEntry
550     MAX-ACCESS  not-accessible
551     STATUS      current
552     DESCRIPTION
553             "This entry represents an address map to be used for
554              NAT and contributes to the dynamic and/or static
555              address mapping tables of the NAT device."
556     INDEX   { ifIndex, natAddrMapIndex }
557     ::= { natAddrMapTable 1 }
558
559 NatAddrMapEntry ::= SEQUENCE {
560     natAddrMapIndex                 NatAddrMapId,
561     natAddrMapName                  SnmpAdminString,
562     natAddrMapEntryType             NatAssociationType,
563     natAddrMapTranslationEntity     NatTranslationEntity,
564     natAddrMapLocalAddrType         InetAddressType,
565     natAddrMapLocalAddrFrom         InetAddress,
566     natAddrMapLocalAddrTo           InetAddress,
567     natAddrMapLocalPortFrom         InetPortNumber,
568     natAddrMapLocalPortTo           InetPortNumber,
569     natAddrMapGlobalAddrType        InetAddressType,
570     natAddrMapGlobalAddrFrom        InetAddress,
571     natAddrMapGlobalAddrTo          InetAddress,
572     natAddrMapGlobalPortFrom        InetPortNumber,
573     natAddrMapGlobalPortTo          InetPortNumber,
574     natAddrMapProtocol              NatProtocolMap,
575     natAddrMapInTranslates          Counter64,
576     natAddrMapOutTranslates         Counter64,
577     natAddrMapDiscards              Counter64,
578
579
580
581     natAddrMapAddrUsed              Gauge32,
582     natAddrMapStorageType           StorageType,
583     natAddrMapRowStatus             RowStatus
584 }
585
586 natAddrMapIndex  OBJECT-TYPE
587     SYNTAX      NatAddrMapId
588     MAX-ACCESS  not-accessible
589     STATUS      current
590     DESCRIPTION
591             "Along with ifIndex, this object uniquely
592              identifies an entry in the natAddrMapTable.
593              Address map entries are applied in the order
594              specified by natAddrMapIndex."
595     ::= { natAddrMapEntry 1 }
596
597 natAddrMapName OBJECT-TYPE
598     SYNTAX      SnmpAdminString (SIZE(1..32))
599     MAX-ACCESS  read-create
600     STATUS      current
601     DESCRIPTION
602             "Name identifying all map entries in the table associated
603              with the same interface.  All map entries with the same
604              ifIndex MUST have the same map name."
605     ::= { natAddrMapEntry 2 }
606
607 natAddrMapEntryType OBJECT-TYPE
608     SYNTAX      NatAssociationType
609     MAX-ACCESS  read-create
610     STATUS      current
611     DESCRIPTION
612             "This parameter can be used to set up static
613              or dynamic address maps."
614     ::= { natAddrMapEntry 3 }
615
616 natAddrMapTranslationEntity OBJECT-TYPE
617     SYNTAX      NatTranslationEntity
618     MAX-ACCESS  read-create
619     STATUS      current
620     DESCRIPTION
621             "The end-point entity (source or destination) in
622              inbound or outbound sessions (i.e., first packets) that
623              may be translated by an address map entry.
624
625              Session direction (inbound or outbound) is
626              derived from the direction of the first packet
627              of a session traversing a NAT interface.
628              NAT address (and Transport-ID) maps may be defined
629
630
631
632              to effect inbound or outbound sessions.
633
634              Traditionally, address maps for Basic NAT and NAPT are
635              configured on a public interface for outbound sessions,
636              effecting translation of source end-point.  The value of
637              this object must be set to outboundSrcEndPoint for
638              those interfaces.
639
640              Alternately, if address maps for Basic NAT and NAPT were
641              to be configured on a private interface, the desired
642              value for this object for the map entries
643              would be inboundSrcEndPoint (i.e., effecting translation
644              of source end-point for inbound sessions).
645
646              If TwiceNAT were to be configured on a private interface,
647              the desired value for this object for the map entries
648              would be a bitmask of inboundSrcEndPoint and
649              inboundDstEndPoint."
650     ::= { natAddrMapEntry 4 }
651
652 natAddrMapLocalAddrType OBJECT-TYPE
653     SYNTAX      InetAddressType
654     MAX-ACCESS  read-create
655     STATUS      current
656     DESCRIPTION
657             "This object specifies the address type used for
658              natAddrMapLocalAddrFrom and natAddrMapLocalAddrTo."
659     ::= { natAddrMapEntry 5 }
660
661 natAddrMapLocalAddrFrom OBJECT-TYPE
662     SYNTAX      InetAddress
663     MAX-ACCESS  read-create
664     STATUS      current
665     DESCRIPTION
666             "This object specifies the first IP address of the range
667              of IP addresses mapped by this translation entry.  The
668              value of this object must be less than or equal to the
669              value of the natAddrMapLocalAddrTo object.
670
671              The type of this address is determined by the value of
672              the natAddrMapLocalAddrType object."
673     ::= { natAddrMapEntry 6 }
674
675 natAddrMapLocalAddrTo OBJECT-TYPE
676     SYNTAX      InetAddress
677     MAX-ACCESS  read-create
678     STATUS      current
679     DESCRIPTION
680
681
682
683             "This object specifies the last IP address of the range of
684              IP addresses mapped by this translation entry.  If only
685              a single address is being mapped, the value of this object
686              is equal to the value of natAddrMapLocalAddrFrom.  For a
687              static NAT, the number of addresses in the range defined
688              by natAddrMapLocalAddrFrom and natAddrMapLocalAddrTo must
689              be equal to the number of addresses in the range defined by
690              natAddrMapGlobalAddrFrom and natAddrMapGlobalAddrTo.
691              The value of this object must be greater than or equal to
692              the value of the natAddrMapLocalAddrFrom object.
693
694              The type of this address is determined by the value of
695              the natAddrMapLocalAddrType object."
696     ::= { natAddrMapEntry 7 }
697
698 natAddrMapLocalPortFrom OBJECT-TYPE
699     SYNTAX      InetPortNumber
700     MAX-ACCESS  read-create
701     STATUS      current
702     DESCRIPTION
703             "If this conceptual row describes a Basic NAT address
704              mapping, then the value of this object must be zero.  If
705              this conceptual row describes NAPT, then the value of
706              this object specifies the first port number in the range
707              of ports being mapped.
708
709              The value of this object must be less than or equal to the
710              value of the natAddrMapLocalPortTo object.  If the
711              translation specifies a single port, then the value of this
712              object is equal to the value of natAddrMapLocalPortTo."
713     DEFVAL { 0 }
714     ::= { natAddrMapEntry 8 }
715
716 natAddrMapLocalPortTo OBJECT-TYPE
717     SYNTAX      InetPortNumber
718     MAX-ACCESS  read-create
719     STATUS      current
720     DESCRIPTION
721             "If this conceptual row describes a Basic NAT address
722              mapping, then the value of this object must be zero.  If
723              this conceptual row describes NAPT, then the value of
724              this object specifies the last port number in the range
725              of ports being mapped.
726
727              The value of this object must be greater than or equal to
728              the value of the natAddrMapLocalPortFrom object.  If the
729              translation specifies a single port, then the value of this
730              object is equal to the value of natAddrMapLocalPortFrom."
731
732
733
734     DEFVAL { 0 }
735     ::= { natAddrMapEntry 9 }
736
737 natAddrMapGlobalAddrType OBJECT-TYPE
738     SYNTAX      InetAddressType
739     MAX-ACCESS  read-create
740     STATUS      current
741     DESCRIPTION
742             "This object specifies the address type used for
743              natAddrMapGlobalAddrFrom and natAddrMapGlobalAddrTo."
744     ::= { natAddrMapEntry 10 }
745
746 natAddrMapGlobalAddrFrom OBJECT-TYPE
747     SYNTAX      InetAddress
748     MAX-ACCESS  read-create
749     STATUS      current
750     DESCRIPTION
751             "This object specifies the first IP address of the range of
752              IP addresses being mapped to.  The value of this object
753              must be less than or equal to the value of the
754              natAddrMapGlobalAddrTo object.
755
756              The type of this address is determined by the value of
757              the natAddrMapGlobalAddrType object."
758     ::= { natAddrMapEntry 11 }
759
760 natAddrMapGlobalAddrTo OBJECT-TYPE
761     SYNTAX      InetAddress
762     MAX-ACCESS  read-create
763     STATUS      current
764     DESCRIPTION
765             "This object specifies the last IP address of the range of
766              IP addresses being mapped to.  If only a single address is
767              being mapped to, the value of this object is equal to the
768              value of natAddrMapGlobalAddrFrom.  For a static NAT, the
769              number of addresses in the range defined by
770              natAddrMapGlobalAddrFrom and natAddrMapGlobalAddrTo must be
771              equal to the number of addresses in the range defined by
772              natAddrMapLocalAddrFrom and natAddrMapLocalAddrTo.
773              The value of this object must be greater than or equal to
774              the value of the natAddrMapGlobalAddrFrom object.
775
776              The type of this address is determined by the value of
777              the natAddrMapGlobalAddrType object."
778     ::= { natAddrMapEntry 12 }
779
780 natAddrMapGlobalPortFrom OBJECT-TYPE
781     SYNTAX      InetPortNumber
782
783
784
785     MAX-ACCESS  read-create
786     STATUS      current
787     DESCRIPTION
788             "If this conceptual row describes a Basic NAT address
789              mapping, then the value of this object must be zero.  If
790              this conceptual row describes NAPT, then the value of
791              this object specifies the first port number in the range
792              of ports being mapped to.
793
794
795              The value of this object must be less than or equal to the
796              value of the natAddrMapGlobalPortTo object.  If the
797              translation specifies a single port, then the value of this
798              object is equal to the value natAddrMapGlobalPortTo."
799     DEFVAL { 0 }
800     ::= { natAddrMapEntry 13 }
801
802 natAddrMapGlobalPortTo OBJECT-TYPE
803     SYNTAX      InetPortNumber
804     MAX-ACCESS  read-create
805     STATUS      current
806     DESCRIPTION
807             "If this conceptual row describes a Basic NAT address
808              mapping, then the value of this object must be zero.  If
809              this conceptual row describes NAPT, then the value of this
810              object specifies the last port number in the range of
811              ports being mapped to.
812
813              The value of this object must be greater than or equal to
814              the value of the natAddrMapGlobalPortFrom object.  If the
815              translation specifies a single port, then the value of this
816              object is equal to the value of natAddrMapGlobalPortFrom."
817     DEFVAL { 0 }
818     ::= { natAddrMapEntry 14 }
819
820 natAddrMapProtocol OBJECT-TYPE
821     SYNTAX      NatProtocolMap
822     MAX-ACCESS  read-create
823     STATUS      current
824     DESCRIPTION
825             "This object specifies a bitmap of protocol identifiers."
826     ::= { natAddrMapEntry 15 }
827
828 natAddrMapInTranslates OBJECT-TYPE
829     SYNTAX     Counter64
830     MAX-ACCESS read-only
831     STATUS     current
832     DESCRIPTION
833
834
835
836             "The number of inbound packets pertaining to this address
837              map entry that were translated.
838
839              Discontinuities in the value of this counter can occur at
840              reinitialization of the management system and at other
841              times, as indicated by the value of
842              ifCounterDiscontinuityTime on the relevant interface."
843     ::= { natAddrMapEntry 16 }
844
845 natAddrMapOutTranslates OBJECT-TYPE
846     SYNTAX     Counter64
847     MAX-ACCESS read-only
848     STATUS     current
849     DESCRIPTION
850             "The number of outbound packets pertaining to this
851              address map entry that were translated.
852
853              Discontinuities in the value of this counter can occur at
854              reinitialization of the management system and at other
855              times, as indicated by the value of
856              ifCounterDiscontinuityTime on the relevant interface."
857     ::= { natAddrMapEntry 17 }
858
859 natAddrMapDiscards OBJECT-TYPE
860     SYNTAX     Counter64
861     MAX-ACCESS read-only
862     STATUS     current
863     DESCRIPTION
864             "The number of packets pertaining to this address map
865              entry that were dropped due to lack of addresses in the
866              address pool identified by this address map.  The value of
867              this object must always be zero in case of static
868              address map.
869
870              Discontinuities in the value of this counter can occur at
871              reinitialization of the management system and at other
872              times, as indicated by the value of
873              ifCounterDiscontinuityTime on the relevant interface."
874     ::= { natAddrMapEntry 18 }
875
876 natAddrMapAddrUsed OBJECT-TYPE
877     SYNTAX     Gauge32
878     MAX-ACCESS read-only
879     STATUS     current
880     DESCRIPTION
881             "The number of addresses pertaining to this address map
882              that are currently being used from the NAT pool.
883              The value of this object must always be zero in the case
884
885
886
887              of a static address map."
888     ::= { natAddrMapEntry 19 }
889
890 natAddrMapStorageType OBJECT-TYPE
891     SYNTAX      StorageType
892     MAX-ACCESS  read-create
893     STATUS      current
894     DESCRIPTION
895             "The storage type for this conceptual row.
896              Conceptual rows having the value 'permanent'
897              need not allow write-access to any columnar objects
898              in the row."
899     REFERENCE
900             "Textual Conventions for SMIv2, Section 2."
901     DEFVAL { nonVolatile }
902     ::= { natAddrMapEntry 20 }
903
904 natAddrMapRowStatus OBJECT-TYPE
905     SYNTAX      RowStatus
906     MAX-ACCESS  read-create
907     STATUS      current
908     DESCRIPTION
909             "The status of this conceptual row.
910
911              Until instances of all corresponding columns are
912              appropriately configured, the value of the
913              corresponding instance of the natAddrMapRowStatus
914              column is 'notReady'.
915
916              None of the objects in this row may be modified
917              while the value of this object is active(1)."
918     REFERENCE
919             "Textual Conventions for SMIv2, Section 2."
920     ::= { natAddrMapEntry 21 }
921
922 --
923 -- Address Bind section
924 --
925
926 natAddrBindNumberOfEntries OBJECT-TYPE
927     SYNTAX     Gauge32
928     MAX-ACCESS read-only
929     STATUS     current
930     DESCRIPTION
931             "This object maintains a count of the number of entries
932              that currently exist in the natAddrBindTable."
933     ::= { natMIBObjects 5 }
934
935
936
937
938 --
939 -- The NAT Address BIND Table
940 --
941
942 natAddrBindTable OBJECT-TYPE
943     SYNTAX     SEQUENCE OF NatAddrBindEntry
944     MAX-ACCESS not-accessible
945     STATUS     current
946     DESCRIPTION
947             "This table holds information about the currently
948              active NAT BINDs."
949     ::= { natMIBObjects 6 }
950
951 natAddrBindEntry OBJECT-TYPE
952     SYNTAX     NatAddrBindEntry
953     MAX-ACCESS not-accessible
954     STATUS     current
955     DESCRIPTION
956             "Each entry in this table holds information about
957              an active address BIND.  These entries are lost
958              upon agent restart.
959
960              This row has indexing which may create variables with
961              more than 128 subidentifiers.  Implementers of this table
962              must be careful not to create entries that would result
963              in OIDs which exceed the 128 subidentifier limit.
964              Otherwise, the information cannot be accessed using
965              SNMPv1, SNMPv2c or SNMPv3."
966
967     INDEX   { ifIndex, natAddrBindLocalAddrType, natAddrBindLocalAddr }
968     ::= { natAddrBindTable 1 }
969
970 NatAddrBindEntry ::= SEQUENCE {
971     natAddrBindLocalAddrType        InetAddressType,
972     natAddrBindLocalAddr            InetAddress,
973     natAddrBindGlobalAddrType       InetAddressType,
974     natAddrBindGlobalAddr           InetAddress,
975     natAddrBindId                   NatBindId,
976     natAddrBindTranslationEntity    NatTranslationEntity,
977     natAddrBindType                 NatAssociationType,
978     natAddrBindMapIndex             NatAddrMapId,
979     natAddrBindSessions             Gauge32,
980     natAddrBindMaxIdleTime          TimeTicks,
981     natAddrBindCurrentIdleTime      TimeTicks,
982     natAddrBindInTranslates         Counter64,
983     natAddrBindOutTranslates        Counter64
984 }
985
986
987
988
989 natAddrBindLocalAddrType OBJECT-TYPE
990     SYNTAX      InetAddressType
991     MAX-ACCESS  not-accessible
992     STATUS      current
993     DESCRIPTION
994             "This object specifies the address type used for
995              natAddrBindLocalAddr."
996     ::= { natAddrBindEntry 1 }
997
998 natAddrBindLocalAddr OBJECT-TYPE
999     SYNTAX     InetAddress
1000     MAX-ACCESS not-accessible
1001     STATUS     current
1002     DESCRIPTION
1003             "This object represents the private-realm specific network
1004              layer address, which maps to the public-realm address
1005              represented by natAddrBindGlobalAddr.
1006
1007              The type of this address is determined by the value of
1008              the natAddrBindLocalAddrType object."
1009    ::= { natAddrBindEntry 2 }
1010
1011 natAddrBindGlobalAddrType OBJECT-TYPE
1012     SYNTAX      InetAddressType
1013     MAX-ACCESS  read-only
1014     STATUS      current
1015     DESCRIPTION
1016             "This object specifies the address type used for
1017              natAddrBindGlobalAddr."
1018     ::= { natAddrBindEntry 3 }
1019
1020 natAddrBindGlobalAddr OBJECT-TYPE
1021     SYNTAX     InetAddress
1022     MAX-ACCESS read-only
1023     STATUS     current
1024     DESCRIPTION
1025             "This object represents the public-realm network layer
1026              address that maps to the private-realm network layer
1027              address represented by natAddrBindLocalAddr.
1028
1029              The type of this address is determined by the value of
1030              the natAddrBindGlobalAddrType object."
1031     ::= { natAddrBindEntry 4 }
1032
1033 natAddrBindId OBJECT-TYPE
1034     SYNTAX     NatBindId
1035     MAX-ACCESS read-only
1036     STATUS     current
1037
1038
1039
1040     DESCRIPTION
1041             "This object represents a bind id that is dynamically
1042              assigned to each bind by a NAT enabled device.  Each
1043              bind is represented by a bind id that is
1044              unique across both, the natAddrBindTable and the
1045              natAddrPortBindTable."
1046     ::= { natAddrBindEntry 5 }
1047
1048 natAddrBindTranslationEntity OBJECT-TYPE
1049     SYNTAX     NatTranslationEntity
1050     MAX-ACCESS read-only
1051     STATUS     current
1052     DESCRIPTION
1053             "This object represents the direction of sessions
1054              for which this bind is applicable and the endpoint entity
1055              (source or destination) within the sessions that is
1056              subject to translation using the BIND.
1057
1058              Orientation of the bind can be a superset of
1059              translationEntity of the address map entry which
1060              forms the basis for this bind.
1061
1062              For example, if the translationEntity of an
1063              address map entry is outboundSrcEndPoint, the
1064              translationEntity of a bind derived from this
1065              map entry may either be outboundSrcEndPoint or
1066              it may be bidirectional (a bitmask of
1067              outboundSrcEndPoint and inboundDstEndPoint)."
1068     ::= { natAddrBindEntry 6 }
1069
1070 natAddrBindType OBJECT-TYPE
1071     SYNTAX     NatAssociationType
1072     MAX-ACCESS read-only
1073     STATUS     current
1074     DESCRIPTION
1075             "This object indicates whether the bind is static or
1076              dynamic."
1077     ::= { natAddrBindEntry 7 }
1078
1079 natAddrBindMapIndex OBJECT-TYPE
1080     SYNTAX     NatAddrMapId
1081     MAX-ACCESS read-only
1082     STATUS     current
1083     DESCRIPTION
1084             "This object is a pointer to the natAddrMapTable entry
1085              (and the parameters of that entry) which was used in
1086              creating this BIND.  This object, in conjunction with the
1087              ifIndex (which identifies a unique addrMapName) points to
1088
1089
1090
1091              a unique entry in the natAddrMapTable."
1092     ::= { natAddrBindEntry 8 }
1093
1094 natAddrBindSessions OBJECT-TYPE
1095     SYNTAX     Gauge32
1096     MAX-ACCESS read-only
1097     STATUS     current
1098     DESCRIPTION
1099             "Number of sessions currently using this BIND."
1100     ::= { natAddrBindEntry 9 }
1101
1102 natAddrBindMaxIdleTime OBJECT-TYPE
1103     SYNTAX     TimeTicks
1104     MAX-ACCESS read-only
1105     STATUS     current
1106     DESCRIPTION
1107             "This object indicates the maximum time for
1108              which this bind can be idle with no sessions
1109              attached to it.
1110
1111              The value of this object is of relevance only for
1112              dynamic NAT."
1113     ::= { natAddrBindEntry 10 }
1114
1115 natAddrBindCurrentIdleTime OBJECT-TYPE
1116     SYNTAX     TimeTicks
1117     MAX-ACCESS read-only
1118     STATUS     current
1119     DESCRIPTION
1120             "At any given instance, this object indicates the
1121              time that this bind has been idle without any sessions
1122              attached to it.
1123
1124              The value of this object is of relevance only for
1125              dynamic NAT."
1126     ::= { natAddrBindEntry 11 }
1127
1128 natAddrBindInTranslates OBJECT-TYPE
1129     SYNTAX     Counter64
1130     MAX-ACCESS read-only
1131     STATUS     current
1132     DESCRIPTION
1133             "The number of inbound packets that were successfully
1134              translated by using this bind entry.
1135
1136              Discontinuities in the value of this counter can occur at
1137              reinitialization of the management system and at other
1138              times, as indicated by the value of
1139
1140
1141
1142              ifCounterDiscontinuityTime on the relevant interface."
1143     ::= { natAddrBindEntry 12 }
1144
1145 natAddrBindOutTranslates OBJECT-TYPE
1146     SYNTAX     Counter64
1147     MAX-ACCESS read-only
1148     STATUS     current
1149     DESCRIPTION
1150             "The number of outbound packets that were successfully
1151              translated using this bind entry.
1152
1153              Discontinuities in the value of this counter can occur at
1154              reinitialization of the management system and at other
1155              times as indicated by the value of
1156              ifCounterDiscontinuityTime on the relevant interface."
1157     ::= { natAddrBindEntry 13 }
1158
1159 --
1160 -- Address Port Bind section
1161 --
1162
1163 natAddrPortBindNumberOfEntries OBJECT-TYPE
1164     SYNTAX     Gauge32
1165     MAX-ACCESS read-only
1166     STATUS     current
1167     DESCRIPTION
1168             "This object maintains a count of the number of entries
1169              that currently exist in the natAddrPortBindTable."
1170     ::= { natMIBObjects 7 }
1171
1172 --
1173 -- The NAT Address Port Bind Table
1174 --
1175
1176 natAddrPortBindTable OBJECT-TYPE
1177     SYNTAX     SEQUENCE OF NatAddrPortBindEntry
1178     MAX-ACCESS not-accessible
1179     STATUS     current
1180     DESCRIPTION
1181             "This table holds information about the currently
1182              active NAPT BINDs."
1183     ::= { natMIBObjects 8 }
1184
1185 natAddrPortBindEntry OBJECT-TYPE
1186     SYNTAX     NatAddrPortBindEntry
1187     MAX-ACCESS not-accessible
1188     STATUS     current
1189     DESCRIPTION
1190
1191
1192
1193             "Each entry in the this table holds information
1194              about a NAPT bind that is currently active.
1195              These entries are lost upon agent restart.
1196
1197              This row has indexing which may create variables with
1198              more than 128 subidentifiers.  Implementers of this table
1199              must be careful not to create entries which would result
1200              in OIDs that exceed the 128 subidentifier limit.
1201              Otherwise, the information cannot be accessed using
1202              SNMPv1, SNMPv2c or SNMPv3."
1203     INDEX   { ifIndex, natAddrPortBindLocalAddrType,
1204               natAddrPortBindLocalAddr, natAddrPortBindLocalPort,
1205               natAddrPortBindProtocol }
1206     ::= { natAddrPortBindTable 1 }
1207
1208 NatAddrPortBindEntry ::= SEQUENCE {
1209     natAddrPortBindLocalAddrType        InetAddressType,
1210     natAddrPortBindLocalAddr            InetAddress,
1211     natAddrPortBindLocalPort            InetPortNumber,
1212     natAddrPortBindProtocol             NatProtocolType,
1213     natAddrPortBindGlobalAddrType       InetAddressType,
1214     natAddrPortBindGlobalAddr           InetAddress,
1215     natAddrPortBindGlobalPort           InetPortNumber,
1216     natAddrPortBindId                   NatBindId,
1217     natAddrPortBindTranslationEntity    NatTranslationEntity,
1218     natAddrPortBindType                 NatAssociationType,
1219     natAddrPortBindMapIndex             NatAddrMapId,
1220     natAddrPortBindSessions             Gauge32,
1221     natAddrPortBindMaxIdleTime          TimeTicks,
1222     natAddrPortBindCurrentIdleTime      TimeTicks,
1223     natAddrPortBindInTranslates         Counter64,
1224     natAddrPortBindOutTranslates        Counter64
1225 }
1226
1227 natAddrPortBindLocalAddrType OBJECT-TYPE
1228     SYNTAX      InetAddressType
1229     MAX-ACCESS  not-accessible
1230     STATUS      current
1231     DESCRIPTION
1232             "This object specifies the address type used for
1233              natAddrPortBindLocalAddr."
1234     ::= { natAddrPortBindEntry 1 }
1235
1236 natAddrPortBindLocalAddr OBJECT-TYPE
1237     SYNTAX     InetAddress
1238     MAX-ACCESS not-accessible
1239     STATUS     current
1240     DESCRIPTION
1241
1242
1243
1244             "This object represents the private-realm specific network
1245              layer address which, in conjunction with
1246              natAddrPortBindLocalPort, maps to the public-realm
1247              network layer address and transport id represented by
1248              natAddrPortBindGlobalAddr and natAddrPortBindGlobalPort
1249              respectively.
1250
1251
1252              The type of this address is determined by the value of
1253              the natAddrPortBindLocalAddrType object."
1254     ::= { natAddrPortBindEntry 2 }
1255
1256 natAddrPortBindLocalPort OBJECT-TYPE
1257     SYNTAX     InetPortNumber
1258     MAX-ACCESS not-accessible
1259     STATUS     current
1260     DESCRIPTION
1261             "For a protocol value TCP or UDP, this object represents
1262              the private-realm specific port number.  On the other
1263              hand, for ICMP a bind is created only for query/response
1264              type ICMP messages such as ICMP echo, Timestamp, and
1265              Information request messages, and this object represents
1266              the private-realm specific identifier in the ICMP
1267              message, as defined in RFC 792 for ICMPv4 and in RFC
1268              2463 for ICMPv6.
1269
1270              This object, together with natAddrPortBindProtocol,
1271              natAddrPortBindLocalAddrType, and natAddrPortBindLocalAddr,
1272              constitutes a session endpoint in the private realm.  A
1273              bind entry binds a private realm specific endpoint to a
1274              public realm specific endpoint, as represented by the
1275              tuple of (natAddrPortBindGlobalPort,
1276              natAddrPortBindProtocol, natAddrPortBindGlobalAddrType,
1277              and natAddrPortBindGlobalAddr)."
1278    ::= { natAddrPortBindEntry 3 }
1279
1280 natAddrPortBindProtocol OBJECT-TYPE
1281     SYNTAX      NatProtocolType
1282     MAX-ACCESS  not-accessible
1283     STATUS      current
1284     DESCRIPTION
1285             "This object specifies a protocol identifier.  If the
1286              value of this object is none(1), then this bind entry
1287              applies to all IP traffic.  Any other value of this object
1288              specifies the class of IP traffic to which this BIND
1289              applies."
1290     ::= { natAddrPortBindEntry 4 }
1291
1292
1293
1294
1295 natAddrPortBindGlobalAddrType OBJECT-TYPE
1296     SYNTAX      InetAddressType
1297     MAX-ACCESS  read-only
1298     STATUS      current
1299     DESCRIPTION
1300             "This object specifies the address type used for
1301              natAddrPortBindGlobalAddr."
1302     ::= { natAddrPortBindEntry 5 }
1303
1304 natAddrPortBindGlobalAddr OBJECT-TYPE
1305     SYNTAX     InetAddress
1306     MAX-ACCESS read-only
1307     STATUS     current
1308     DESCRIPTION
1309             "This object represents the public-realm specific network
1310              layer address that, in conjunction with
1311              natAddrPortBindGlobalPort, maps to the private-realm
1312
1313              network layer address and transport id represented by
1314              natAddrPortBindLocalAddr and natAddrPortBindLocalPort,
1315              respectively.
1316
1317              The type of this address is determined by the value of
1318              the natAddrPortBindGlobalAddrType object."
1319     ::= { natAddrPortBindEntry 6 }
1320
1321 natAddrPortBindGlobalPort OBJECT-TYPE
1322     SYNTAX     InetPortNumber
1323     MAX-ACCESS read-only
1324     STATUS     current
1325     DESCRIPTION
1326             "For a protocol value TCP or UDP, this object represents
1327              the public-realm specific port number.  On the other
1328              hand, for ICMP a bind is created only for query/response
1329              type ICMP messages such as ICMP echo, Timestamp, and
1330              Information request messages, and this object represents
1331              the public-realm specific identifier in the ICMP message,
1332              as defined in RFC 792 for ICMPv4 and in RFC 2463 for
1333              ICMPv6.
1334
1335              This object, together with natAddrPortBindProtocol,
1336              natAddrPortBindGlobalAddrType, and
1337              natAddrPortBindGlobalAddr, constitutes a session endpoint
1338              in the public realm.  A bind entry binds a public realm
1339              specific endpoint to a private realm specific endpoint,
1340              as represented by the tuple of
1341               (natAddrPortBindLocalPort, natAddrPortBindProtocol,
1342                natAddrPortBindLocalAddrType, and
1343
1344
1345
1346                natAddrPortBindLocalAddr)."
1347     ::= { natAddrPortBindEntry 7 }
1348
1349 natAddrPortBindId OBJECT-TYPE
1350     SYNTAX     NatBindId
1351     MAX-ACCESS read-only
1352     STATUS     current
1353     DESCRIPTION
1354             "This object represents a bind id that is dynamically
1355              assigned to each bind by a NAT enabled device.  Each
1356              bind is represented by a unique bind id across both
1357              the natAddrBindTable and the natAddrPortBindTable."
1358     ::= { natAddrPortBindEntry 8 }
1359
1360 natAddrPortBindTranslationEntity OBJECT-TYPE
1361     SYNTAX     NatTranslationEntity
1362     MAX-ACCESS read-only
1363     STATUS     current
1364     DESCRIPTION
1365             "This object represents the direction of sessions
1366              for which this bind is applicable and the entity
1367              (source or destination) within the sessions that is
1368              subject to translation with the BIND.
1369
1370              Orientation of the bind can be a superset of the
1371              translationEntity of the address map entry that
1372              forms the basis for this bind.
1373
1374              For example, if the translationEntity of an
1375              address map entry is outboundSrcEndPoint, the
1376              translationEntity of a bind derived from this
1377              map entry may either be outboundSrcEndPoint or
1378              may be bidirectional (a bitmask of
1379              outboundSrcEndPoint and inboundDstEndPoint)."
1380     ::= { natAddrPortBindEntry 9 }
1381
1382 natAddrPortBindType OBJECT-TYPE
1383     SYNTAX     NatAssociationType
1384     MAX-ACCESS read-only
1385     STATUS     current
1386     DESCRIPTION
1387             "This object indicates whether the bind is static or
1388              dynamic."
1389     ::= { natAddrPortBindEntry 10 }
1390
1391 natAddrPortBindMapIndex OBJECT-TYPE
1392     SYNTAX     NatAddrMapId
1393     MAX-ACCESS read-only
1394
1395
1396
1397     STATUS     current
1398     DESCRIPTION
1399             "This object is a pointer to the natAddrMapTable entry
1400              (and the parameters of that entry) used in
1401              creating this BIND.  This object, in conjunction with the
1402              ifIndex (which identifies a unique addrMapName), points
1403              to a unique entry in the natAddrMapTable."
1404     ::= { natAddrPortBindEntry 11 }
1405
1406 natAddrPortBindSessions OBJECT-TYPE
1407     SYNTAX     Gauge32
1408     MAX-ACCESS read-only
1409     STATUS     current
1410     DESCRIPTION
1411             "Number of sessions currently using this BIND."
1412     ::= { natAddrPortBindEntry 12 }
1413
1414 natAddrPortBindMaxIdleTime OBJECT-TYPE
1415     SYNTAX     TimeTicks
1416     MAX-ACCESS read-only
1417     STATUS     current
1418
1419     DESCRIPTION
1420             "This object indicates the maximum time for
1421              which this bind can be idle without any sessions
1422              attached to it.
1423              The value of this object is of relevance
1424              only for dynamic NAT."
1425     ::= { natAddrPortBindEntry 13 }
1426
1427 natAddrPortBindCurrentIdleTime OBJECT-TYPE
1428     SYNTAX     TimeTicks
1429     MAX-ACCESS read-only
1430     STATUS     current
1431     DESCRIPTION
1432             "At any given instance, this object indicates the
1433              time that this bind has been idle without any sessions
1434              attached to it.
1435
1436              The value of this object is of relevance
1437              only for dynamic NAT."
1438     ::= { natAddrPortBindEntry 14 }
1439
1440 natAddrPortBindInTranslates OBJECT-TYPE
1441     SYNTAX     Counter64
1442     MAX-ACCESS read-only
1443     STATUS     current
1444     DESCRIPTION
1445
1446
1447
1448             "The number of inbound packets that were translated as per
1449              this bind entry.
1450
1451              Discontinuities in the value of this counter can occur at
1452              reinitialization of the management system and at other
1453              times, as indicated by the value of
1454              ifCounterDiscontinuityTime on the relevant interface."
1455     ::= { natAddrPortBindEntry 15 }
1456
1457 natAddrPortBindOutTranslates OBJECT-TYPE
1458     SYNTAX     Counter64
1459     MAX-ACCESS read-only
1460     STATUS     current
1461     DESCRIPTION
1462             "The number of outbound packets that were translated as per
1463              this bind entry.
1464
1465              Discontinuities in the value of this counter can occur at
1466              reinitialization of the management system and at other
1467              times, as indicated by the value of
1468              ifCounterDiscontinuityTime on the relevant interface."
1469     ::= { natAddrPortBindEntry 16 }
1470
1471 --
1472 -- The Session Table
1473 --
1474
1475 natSessionTable OBJECT-TYPE
1476     SYNTAX     SEQUENCE OF NatSessionEntry
1477     MAX-ACCESS not-accessible
1478     STATUS     current
1479     DESCRIPTION
1480             "The (conceptual) table containing one entry for each
1481              NAT session currently active on this NAT device."
1482     ::= { natMIBObjects 9 }
1483
1484 natSessionEntry OBJECT-TYPE
1485     SYNTAX     NatSessionEntry
1486     MAX-ACCESS not-accessible
1487     STATUS     current
1488     DESCRIPTION
1489             "An entry (conceptual row) containing information
1490              about an active NAT session on this NAT device.
1491              These entries are lost upon agent restart."
1492     INDEX   { ifIndex, natSessionIndex }
1493     ::= { natSessionTable 1 }
1494
1495 NatSessionEntry ::= SEQUENCE {
1496
1497
1498
1499     natSessionIndex                        NatSessionId,
1500     natSessionPrivateSrcEPBindId           NatBindIdOrZero,
1501     natSessionPrivateSrcEPBindMode         NatBindMode,
1502     natSessionPrivateDstEPBindId           NatBindIdOrZero,
1503     natSessionPrivateDstEPBindMode         NatBindMode,
1504     natSessionDirection                    INTEGER,
1505     natSessionUpTime                       TimeTicks,
1506     natSessionAddrMapIndex                 NatAddrMapId,
1507     natSessionProtocolType                 NatProtocolType,
1508     natSessionPrivateAddrType              InetAddressType,
1509     natSessionPrivateSrcAddr               InetAddress,
1510     natSessionPrivateSrcPort               InetPortNumber,
1511     natSessionPrivateDstAddr               InetAddress,
1512     natSessionPrivateDstPort               InetPortNumber,
1513     natSessionPublicAddrType               InetAddressType,
1514     natSessionPublicSrcAddr                InetAddress,
1515     natSessionPublicSrcPort                InetPortNumber,
1516     natSessionPublicDstAddr                InetAddress,
1517     natSessionPublicDstPort                InetPortNumber,
1518     natSessionMaxIdleTime                  TimeTicks,
1519     natSessionCurrentIdleTime              TimeTicks,
1520     natSessionInTranslates                 Counter64,
1521     natSessionOutTranslates                Counter64
1522 }
1523
1524 natSessionIndex OBJECT-TYPE
1525     SYNTAX     NatSessionId
1526     MAX-ACCESS not-accessible
1527     STATUS     current
1528     DESCRIPTION
1529             "The session ID for this NAT session."
1530     ::= { natSessionEntry 1 }
1531
1532 natSessionPrivateSrcEPBindId OBJECT-TYPE
1533     SYNTAX     NatBindIdOrZero
1534     MAX-ACCESS read-only
1535     STATUS     current
1536     DESCRIPTION
1537             "The bind id associated between private and public
1538              source end points.  In the case of Symmetric-NAT,
1539              this should be set to zero."
1540     ::= { natSessionEntry 2 }
1541
1542 natSessionPrivateSrcEPBindMode OBJECT-TYPE
1543     SYNTAX     NatBindMode
1544     MAX-ACCESS read-only
1545     STATUS     current
1546     DESCRIPTION
1547
1548
1549
1550             "This object indicates whether the bind indicated
1551              by the object natSessionPrivateSrcEPBindId
1552              is an address bind or an address port bind."
1553     ::= { natSessionEntry 3 }
1554
1555 natSessionPrivateDstEPBindId OBJECT-TYPE
1556     SYNTAX     NatBindIdOrZero
1557     MAX-ACCESS read-only
1558     STATUS     current
1559     DESCRIPTION
1560             "The bind id associated between private and public
1561              destination end points."
1562     ::= { natSessionEntry 4 }
1563
1564 natSessionPrivateDstEPBindMode OBJECT-TYPE
1565     SYNTAX     NatBindMode
1566     MAX-ACCESS read-only
1567     STATUS     current
1568     DESCRIPTION
1569             "This object indicates whether the bind indicated
1570              by the object natSessionPrivateDstEPBindId
1571              is an address bind or an address port bind."
1572     ::= { natSessionEntry 5 }
1573
1574 natSessionDirection OBJECT-TYPE
1575     SYNTAX     INTEGER {
1576                    inbound (1),
1577                    outbound (2)
1578                }
1579
1580     MAX-ACCESS read-only
1581     STATUS     current
1582     DESCRIPTION
1583             "The direction of this session with respect to the
1584              local network.  'inbound' indicates that this session
1585              was initiated from the public network into the private
1586              network.  'outbound' indicates that this session was
1587              initiated from the private network into the public
1588              network."
1589     ::= { natSessionEntry 6 }
1590
1591 natSessionUpTime OBJECT-TYPE
1592     SYNTAX     TimeTicks
1593     MAX-ACCESS read-only
1594     STATUS     current
1595     DESCRIPTION
1596             "The up time of this session in one-hundredths of a
1597              second."
1598
1599
1600
1601     ::= { natSessionEntry 7 }
1602
1603 natSessionAddrMapIndex OBJECT-TYPE
1604     SYNTAX     NatAddrMapId
1605     MAX-ACCESS read-only
1606     STATUS     current
1607     DESCRIPTION
1608             "This object is a pointer to the natAddrMapTable entry
1609              (and the parameters of that entry) used in
1610              creating this session.  This object, in conjunction with
1611              the ifIndex (which identifies a unique addrMapName), points
1612              to a unique entry in the natAddrMapTable."
1613     ::= { natSessionEntry 8 }
1614
1615 natSessionProtocolType OBJECT-TYPE
1616     SYNTAX     NatProtocolType
1617     MAX-ACCESS read-only
1618     STATUS     current
1619     DESCRIPTION
1620             "The protocol type of this session."
1621     ::= { natSessionEntry 9 }
1622
1623 natSessionPrivateAddrType OBJECT-TYPE
1624     SYNTAX      InetAddressType
1625     MAX-ACCESS  read-only
1626     STATUS      current
1627     DESCRIPTION
1628             "This object specifies the address type used for
1629              natSessionPrivateSrcAddr and natSessionPrivateDstAddr."
1630     ::= { natSessionEntry 10 }
1631
1632 natSessionPrivateSrcAddr OBJECT-TYPE
1633     SYNTAX     InetAddress
1634     MAX-ACCESS read-only
1635     STATUS     current
1636     DESCRIPTION
1637             "The source IP address of the session endpoint that
1638              lies in the private network.
1639
1640              The value of this object must be zero only when the
1641              natSessionPrivateSrcEPBindId object has a zero value.
1642              When the value of this object is zero, the NAT session
1643              lookup will match any IP address to this field.
1644
1645              The type of this address is determined by the value of
1646              the natSessionPrivateAddrType object."
1647     ::= { natSessionEntry 11 }
1648
1649
1650
1651
1652 natSessionPrivateSrcPort OBJECT-TYPE
1653     SYNTAX     InetPortNumber
1654     MAX-ACCESS read-only
1655     STATUS     current
1656     DESCRIPTION
1657             "When the value of protocol is TCP or UDP, this object
1658              represents the source port in the first packet of session
1659              while in private-realm.  On the other hand, when the
1660              protocol is ICMP, a NAT session is created only for
1661              query/response type ICMP messages such as ICMP echo,
1662              Timestamp, and Information request messages, and this
1663              object represents the private-realm specific identifier
1664              in the ICMP message, as defined in RFC 792 for ICMPv4
1665              and in RFC 2463 for ICMPv6.
1666
1667              The value of this object must be zero when the
1668              natSessionPrivateSrcEPBindId object has zero value
1669              and value of natSessionPrivateSrcEPBindMode is
1670              addressPortBind(2).  In such a case, the NAT session
1671              lookup will match any port number to this field.
1672
1673              The value of this object must be zero when the object
1674              is not a representative field (SrcPort, DstPort, or
1675              ICMP identifier) of the session tuple in either the
1676              public realm or the private realm."
1677     ::= { natSessionEntry 12 }
1678
1679 natSessionPrivateDstAddr OBJECT-TYPE
1680     SYNTAX     InetAddress
1681     MAX-ACCESS read-only
1682     STATUS     current
1683     DESCRIPTION
1684             "The destination IP address of the session endpoint that
1685              lies in the private network.
1686
1687              The value of this object must be zero when the
1688              natSessionPrivateDstEPBindId object has a zero value.
1689              In such a scenario, the NAT session lookup will match
1690              any IP address to this field.
1691
1692              The type of this address is determined by the value of
1693              the natSessionPrivateAddrType object."
1694     ::= { natSessionEntry 13 }
1695
1696 natSessionPrivateDstPort OBJECT-TYPE
1697     SYNTAX     InetPortNumber
1698     MAX-ACCESS read-only
1699     STATUS     current
1700
1701
1702
1703     DESCRIPTION
1704             "When the value of protocol is TCP or UDP, this object
1705              represents the destination port in the first packet
1706              of session while in private-realm.  On the other hand,
1707              when the protocol is ICMP, this object is not relevant
1708              and should be set to zero.
1709
1710              The value of this object must be zero when the
1711              natSessionPrivateDstEPBindId object has a zero
1712              value and natSessionPrivateDstEPBindMode is set to
1713              addressPortBind(2).  In such a case, the NAT session
1714              lookup will match any port number to this field.
1715
1716              The value of this object must be zero when the object
1717              is not a representative field (SrcPort, DstPort, or
1718              ICMP identifier) of the session tuple in either the
1719              public realm or the private realm."
1720     ::= { natSessionEntry 14 }
1721
1722 natSessionPublicAddrType OBJECT-TYPE
1723     SYNTAX      InetAddressType
1724     MAX-ACCESS  read-only
1725     STATUS      current
1726     DESCRIPTION
1727             "This object specifies the address type used for
1728              natSessionPublicSrcAddr and natSessionPublicDstAddr."
1729     ::= { natSessionEntry 15 }
1730
1731 natSessionPublicSrcAddr OBJECT-TYPE
1732     SYNTAX     InetAddress
1733     MAX-ACCESS read-only
1734     STATUS     current
1735     DESCRIPTION
1736             "The source IP address of the session endpoint that
1737              lies in the public network.
1738
1739              The value of this object must be zero when the
1740              natSessionPrivateSrcEPBindId object has a zero value.
1741              In such a scenario, the NAT session lookup will match
1742              any IP address to this field.
1743
1744              The type of this address is determined by the value of
1745              the natSessionPublicAddrType object."
1746     ::= { natSessionEntry 16 }
1747
1748 natSessionPublicSrcPort OBJECT-TYPE
1749     SYNTAX     InetPortNumber
1750     MAX-ACCESS read-only
1751
1752
1753
1754     STATUS     current
1755     DESCRIPTION
1756             "When the value of protocol is TCP or UDP, this object
1757              represents the source port in the first packet of
1758              session while in public-realm.  On the other hand, when
1759              protocol is ICMP, a NAT session is created only for
1760              query/response type ICMP messages such as ICMP echo,
1761              Timestamp, and Information request messages, and this
1762              object represents the public-realm specific identifier
1763              in the ICMP message, as defined in RFC 792 for ICMPv4
1764              and in RFC 2463 for ICMPv6.
1765
1766              The value of this object must be zero when the
1767              natSessionPrivateSrcEPBindId object has a zero value
1768              and natSessionPrivateSrcEPBindMode is set to
1769              addressPortBind(2).  In such a scenario, the NAT
1770              session lookup will match any port number to this
1771              field.
1772
1773              The value of this object must be zero when the object
1774              is not a representative field (SrcPort, DstPort or
1775              ICMP identifier) of the session tuple in either the
1776              public realm or the private realm."
1777     ::= { natSessionEntry 17 }
1778
1779 natSessionPublicDstAddr OBJECT-TYPE
1780     SYNTAX     InetAddress
1781     MAX-ACCESS read-only
1782     STATUS     current
1783     DESCRIPTION
1784             "The destination IP address of the session endpoint that
1785              lies in the public network.
1786
1787              The value of this object must be non-zero when the
1788              natSessionPrivateDstEPBindId object has a non-zero
1789              value.  If the value of this object and the
1790              corresponding natSessionPrivateDstEPBindId object value
1791              is zero, then the NAT session lookup will match any IP
1792              address to this field.
1793
1794              The type of this address is determined by the value of
1795              the natSessionPublicAddrType object."
1796     ::= { natSessionEntry 18 }
1797
1798 natSessionPublicDstPort OBJECT-TYPE
1799     SYNTAX     InetPortNumber
1800     MAX-ACCESS read-only
1801     STATUS     current
1802
1803
1804
1805     DESCRIPTION
1806             "When the value of protocol is TCP or UDP, this object
1807              represents the destination port in the first packet of
1808              session while in public-realm.  On the other hand, when
1809              the protocol is ICMP, this object is not relevant for
1810              translation and should be zero.
1811
1812              The value of this object must be zero when the
1813              natSessionPrivateDstEPBindId object has a zero value
1814              and natSessionPrivateDstEPBindMode is
1815              addressPortBind(2).  In such a scenario, the NAT
1816              session lookup will match any port number to this
1817              field.
1818
1819              The value of this object must be zero when the object
1820              is not a representative field (SrcPort, DstPort, or
1821              ICMP identifier) of the session tuple in either the
1822              public realm or the private realm."
1823     ::= { natSessionEntry 19 }
1824
1825 natSessionMaxIdleTime OBJECT-TYPE
1826     SYNTAX     TimeTicks
1827     MAX-ACCESS read-only
1828     STATUS     current
1829     DESCRIPTION
1830             "The max time for which this session can be idle
1831              without detecting a packet."
1832     ::= { natSessionEntry 20 }
1833
1834 natSessionCurrentIdleTime OBJECT-TYPE
1835     SYNTAX     TimeTicks
1836     MAX-ACCESS read-only
1837     STATUS     current
1838     DESCRIPTION
1839             "The time since a packet belonging to this session was
1840             last detected."
1841     ::= { natSessionEntry 21 }
1842
1843 natSessionInTranslates OBJECT-TYPE
1844     SYNTAX     Counter64
1845     MAX-ACCESS read-only
1846     STATUS     current
1847     DESCRIPTION
1848             "The number of inbound packets that were translated for
1849              this session.
1850
1851              Discontinuities in the value of this counter can occur at
1852              reinitialization of the management system and at other
1853
1854
1855
1856              times, as indicated by the value of
1857              ifCounterDiscontinuityTime on the relevant interface."
1858     ::= { natSessionEntry 22 }
1859
1860 natSessionOutTranslates OBJECT-TYPE
1861     SYNTAX     Counter64
1862     MAX-ACCESS read-only
1863     STATUS     current
1864     DESCRIPTION
1865             "The number of outbound packets that were translated for
1866              this session.
1867
1868              Discontinuities in the value of this counter can occur at
1869              reinitialization of the management system and at other
1870              times, as indicated by the value of
1871              ifCounterDiscontinuityTime on the relevant interface."
1872     ::= { natSessionEntry 23 }
1873
1874 --
1875 -- The Protocol table
1876 --
1877
1878 natProtocolTable OBJECT-TYPE
1879     SYNTAX     SEQUENCE OF NatProtocolEntry
1880     MAX-ACCESS not-accessible
1881     STATUS     current
1882     DESCRIPTION
1883             "The (conceptual) table containing per protocol NAT
1884              statistics."
1885     ::= { natMIBObjects 10 }
1886
1887 natProtocolEntry OBJECT-TYPE
1888     SYNTAX     NatProtocolEntry
1889     MAX-ACCESS not-accessible
1890     STATUS     current
1891     DESCRIPTION
1892             "An entry (conceptual row) containing NAT statistics
1893              pertaining to a particular protocol."
1894     INDEX   { natProtocol }
1895     ::= { natProtocolTable 1 }
1896
1897 NatProtocolEntry ::= SEQUENCE {
1898     natProtocol                 NatProtocolType,
1899     natProtocolInTranslates     Counter64,
1900     natProtocolOutTranslates    Counter64,
1901     natProtocolDiscards         Counter64
1902 }
1903
1904
1905
1906
1907 natProtocol    OBJECT-TYPE
1908     SYNTAX     NatProtocolType
1909     MAX-ACCESS not-accessible
1910     STATUS     current
1911     DESCRIPTION
1912             "This object represents the protocol pertaining to which
1913              parameters are reported."
1914     ::= { natProtocolEntry 1 }
1915
1916 natProtocolInTranslates OBJECT-TYPE
1917     SYNTAX     Counter64
1918     MAX-ACCESS read-only
1919     STATUS     current
1920     DESCRIPTION
1921             "The number of inbound packets pertaining to the protocol
1922              identified by natProtocol that underwent NAT.
1923
1924              Discontinuities in the value of this counter can occur at
1925              reinitialization of the management system and at other
1926              times, as indicated by the value of
1927              ifCounterDiscontinuityTime on the relevant interface."
1928     ::= { natProtocolEntry 2 }
1929
1930 natProtocolOutTranslates OBJECT-TYPE
1931     SYNTAX     Counter64
1932     MAX-ACCESS read-only
1933     STATUS     current
1934     DESCRIPTION
1935             "The number of outbound packets pertaining to the protocol
1936              identified by natProtocol that underwent NAT.
1937
1938              Discontinuities in the value of this counter can occur at
1939              reinitialization of the management system and at other
1940              times, as indicated by the value of
1941              ifCounterDiscontinuityTime on the relevant interface."
1942     ::= { natProtocolEntry 3 }
1943
1944 natProtocolDiscards OBJECT-TYPE
1945     SYNTAX     Counter64
1946     MAX-ACCESS read-only
1947     STATUS     current
1948     DESCRIPTION
1949             "The number of packets pertaining to the protocol
1950              identified by natProtocol that had to be
1951              rejected/dropped due to lack of resources.  These
1952              rejections could be due to session timeout, resource
1953              unavailability, lack of address space, etc.
1954
1955
1956
1957
1958              Discontinuities in the value of this counter can occur at
1959              reinitialization of the management system and at other
1960              times, as indicated by the value of
1961              ifCounterDiscontinuityTime on the relevant interface."
1962      ::= { natProtocolEntry 4 }
1963
1964 --
1965 -- Notifications section
1966 --
1967
1968 natMIBNotifications OBJECT IDENTIFIER ::= { natMIB 0 }
1969
1970 --
1971 -- Notifications
1972 --
1973
1974 natPacketDiscard NOTIFICATION-TYPE
1975     OBJECTS { ifIndex }
1976     STATUS  current
1977     DESCRIPTION
1978             "This notification is generated when IP packets are
1979              discarded by the NAT function; e.g., due to lack of
1980              mapping space when NAT is out of addresses or ports.
1981
1982              Note that the generation of natPacketDiscard
1983              notifications is throttled by the agent, as specified
1984              by the 'natNotifThrottlingInterval' object."
1985     ::= { natMIBNotifications 1 }
1986
1987 --
1988 -- Conformance information.
1989 --
1990
1991 natMIBConformance OBJECT IDENTIFIER ::= { natMIB 2 }
1992
1993 natMIBGroups      OBJECT IDENTIFIER ::= { natMIBConformance 1 }
1994 natMIBCompliances OBJECT IDENTIFIER ::= { natMIBConformance 2 }
1995
1996 --
1997 -- Units of conformance
1998 --
1999
2000 natConfigGroup OBJECT-GROUP
2001     OBJECTS { natInterfaceRealm,
2002               natInterfaceServiceType,
2003               natInterfaceStorageType,
2004               natInterfaceRowStatus,
2005               natAddrMapName,
2006
2007
2008
2009               natAddrMapEntryType,
2010               natAddrMapTranslationEntity,
2011               natAddrMapLocalAddrType,
2012               natAddrMapLocalAddrFrom,
2013               natAddrMapLocalAddrTo,
2014               natAddrMapLocalPortFrom,
2015               natAddrMapLocalPortTo,
2016               natAddrMapGlobalAddrType,
2017               natAddrMapGlobalAddrFrom,
2018               natAddrMapGlobalAddrTo,
2019               natAddrMapGlobalPortFrom,
2020               natAddrMapGlobalPortTo,
2021               natAddrMapProtocol,
2022               natAddrMapStorageType,
2023               natAddrMapRowStatus,
2024               natBindDefIdleTimeout,
2025               natUdpDefIdleTimeout,
2026               natIcmpDefIdleTimeout,
2027               natOtherDefIdleTimeout,
2028               natTcpDefIdleTimeout,
2029               natTcpDefNegTimeout,
2030               natNotifThrottlingInterval }
2031     STATUS  current
2032     DESCRIPTION
2033             "A collection of configuration-related information
2034              required to support management of devices supporting
2035              NAT."
2036     ::= { natMIBGroups 1 }
2037
2038 natTranslationGroup OBJECT-GROUP
2039     OBJECTS { natAddrBindNumberOfEntries,
2040               natAddrBindGlobalAddrType,
2041               natAddrBindGlobalAddr,
2042               natAddrBindId,
2043               natAddrBindTranslationEntity,
2044               natAddrBindType,
2045               natAddrBindMapIndex,
2046               natAddrBindSessions,
2047               natAddrBindMaxIdleTime,
2048               natAddrBindCurrentIdleTime,
2049               natAddrBindInTranslates,
2050               natAddrBindOutTranslates,
2051               natAddrPortBindNumberOfEntries,
2052               natAddrPortBindGlobalAddrType,
2053               natAddrPortBindGlobalAddr,
2054               natAddrPortBindGlobalPort,
2055               natAddrPortBindId,
2056               natAddrPortBindTranslationEntity,
2057
2058
2059
2060               natAddrPortBindType,
2061               natAddrPortBindMapIndex,
2062               natAddrPortBindSessions,
2063               natAddrPortBindMaxIdleTime,
2064               natAddrPortBindCurrentIdleTime,
2065               natAddrPortBindInTranslates,
2066               natAddrPortBindOutTranslates,
2067               natSessionPrivateSrcEPBindId,
2068               natSessionPrivateSrcEPBindMode,
2069               natSessionPrivateDstEPBindId,
2070               natSessionPrivateDstEPBindMode,
2071               natSessionDirection,
2072               natSessionUpTime,
2073               natSessionAddrMapIndex,
2074               natSessionProtocolType,
2075               natSessionPrivateAddrType,
2076               natSessionPrivateSrcAddr,
2077               natSessionPrivateSrcPort,
2078               natSessionPrivateDstAddr,
2079               natSessionPrivateDstPort,
2080               natSessionPublicAddrType,
2081               natSessionPublicSrcAddr,
2082               natSessionPublicSrcPort,
2083               natSessionPublicDstAddr,
2084               natSessionPublicDstPort,
2085               natSessionMaxIdleTime,
2086               natSessionCurrentIdleTime,
2087               natSessionInTranslates,
2088               natSessionOutTranslates }
2089     STATUS  current
2090
2091     DESCRIPTION
2092             "A collection of BIND-related objects required to support
2093              management of devices supporting NAT."
2094     ::= { natMIBGroups 2 }
2095
2096 natStatsInterfaceGroup OBJECT-GROUP
2097     OBJECTS { natInterfaceInTranslates,
2098               natInterfaceOutTranslates,
2099               natInterfaceDiscards }
2100     STATUS  current
2101     DESCRIPTION
2102             "A collection of NAT statistics associated with the
2103              interface on which NAT is configured, to aid
2104              troubleshooting/monitoring of the NAT operation."
2105     ::= { natMIBGroups 3 }
2106
2107 natStatsProtocolGroup OBJECT-GROUP
2108
2109
2110
2111     OBJECTS { natProtocolInTranslates,
2112               natProtocolOutTranslates,
2113               natProtocolDiscards }
2114     STATUS  current
2115     DESCRIPTION
2116             "A collection of protocol specific NAT statistics,
2117              to aid troubleshooting/monitoring of NAT operation."
2118     ::= { natMIBGroups 4 }
2119
2120 natStatsAddrMapGroup OBJECT-GROUP
2121     OBJECTS { natAddrMapInTranslates,
2122               natAddrMapOutTranslates,
2123               natAddrMapDiscards,
2124               natAddrMapAddrUsed }
2125     STATUS  current
2126     DESCRIPTION
2127             "A collection of address map specific NAT statistics,
2128              to aid troubleshooting/monitoring of NAT operation."
2129     ::= { natMIBGroups 5 }
2130
2131 natMIBNotificationGroup NOTIFICATION-GROUP
2132     NOTIFICATIONS { natPacketDiscard }
2133     STATUS        current
2134     DESCRIPTION
2135             "A collection of notifications generated by
2136             devices supporting this MIB."
2137     ::= { natMIBGroups 6 }
2138
2139 --
2140 -- Compliance statements
2141 --
2142
2143 natMIBFullCompliance MODULE-COMPLIANCE
2144     STATUS  current
2145     DESCRIPTION
2146             "When this MIB is implemented with support for
2147              read-create, then such an implementation can claim
2148              full compliance.  Such devices can then be both
2149              monitored and configured with this MIB.
2150
2151              The following index objects cannot be added as OBJECT
2152              clauses but nevertheless have the compliance
2153              requirements:
2154                  "
2155              -- OBJECT  natAddrBindLocalAddrType
2156              -- SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2157              -- DESCRIPTION
2158              --         "An implementation is required to support
2159
2160
2161
2162              --          global IPv4 and/or IPv6 addresses, depending
2163              --          on its support for IPv4 and IPv6."
2164
2165              -- OBJECT  natAddrBindLocalAddr
2166              -- SYNTAX  InetAddress (SIZE(4|16))
2167              -- DESCRIPTION
2168              --         "An implementation is required to support
2169              --          global IPv4 and/or IPv6 addresses, depending
2170              --          on its support for IPv4 and IPv6."
2171
2172              -- OBJECT  natAddrPortBindLocalAddrType
2173              -- SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2174              -- DESCRIPTION
2175              --         "An implementation is required to support
2176              --          global IPv4 and/or IPv6 addresses, depending
2177              --          on its support for IPv4 and IPv6."
2178
2179              -- OBJECT  natAddrPortBindLocalAddr
2180              -- SYNTAX  InetAddress (SIZE(4|16))
2181              -- DESCRIPTION
2182              --         "An implementation is required to support
2183              --          global IPv4 and/or IPv6 addresses, depending
2184              --          on its support for IPv4 and IPv6."
2185
2186     MODULE IF-MIB -- The interfaces MIB, RFC2863
2187       MANDATORY-GROUPS {
2188         ifCounterDiscontinuityGroup
2189       }
2190
2191     MODULE  -- this module
2192       MANDATORY-GROUPS { natConfigGroup, natTranslationGroup,
2193                          natStatsInterfaceGroup }
2194
2195       GROUP       natStatsProtocolGroup
2196       DESCRIPTION
2197                "This group is optional."
2198       GROUP       natStatsAddrMapGroup
2199       DESCRIPTION
2200                "This group is optional."
2201       GROUP       natMIBNotificationGroup
2202       DESCRIPTION
2203                "This group is optional."
2204
2205       OBJECT  natAddrMapLocalAddrType
2206       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2207       DESCRIPTION
2208               "An implementation is required to support global IPv4
2209                and/or IPv6 addresses, depending on its support
2210
2211
2212
2213                for IPv4 and IPv6."
2214
2215       OBJECT  natAddrMapLocalAddrFrom
2216       SYNTAX  InetAddress (SIZE(4|16))
2217       DESCRIPTION
2218               "An implementation is required to support global IPv4
2219                and/or IPv6 addresses, depending on its support
2220                for IPv4 and IPv6."
2221
2222       OBJECT  natAddrMapLocalAddrTo
2223       SYNTAX  InetAddress (SIZE(4|16))
2224       DESCRIPTION
2225               "An implementation is required to support global IPv4
2226                and/or IPv6 addresses, depending on its support
2227                for IPv4 and IPv6."
2228
2229       OBJECT  natAddrMapGlobalAddrType
2230       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2231       DESCRIPTION
2232               "An implementation is required to support global IPv4
2233                and/or IPv6 addresses, depending on its support
2234                for IPv4 and IPv6."
2235
2236       OBJECT  natAddrMapGlobalAddrFrom
2237       SYNTAX  InetAddress (SIZE(4|16))
2238       DESCRIPTION
2239               "An implementation is required to support global IPv4
2240                and/or IPv6 addresses, depending on its support
2241                for IPv4 and IPv6."
2242
2243       OBJECT  natAddrMapGlobalAddrTo
2244       SYNTAX  InetAddress (SIZE(4|16))
2245       DESCRIPTION
2246               "An implementation is required to support global IPv4
2247                and/or IPv6 addresses, depending on its support
2248                for IPv4 and IPv6."
2249
2250       OBJECT  natAddrBindGlobalAddrType
2251       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2252       DESCRIPTION
2253               "An implementation is required to support global IPv4
2254                and/or IPv6 addresses, depending on its support
2255                for IPv4 and IPv6."
2256
2257       OBJECT  natAddrBindGlobalAddr
2258       SYNTAX  InetAddress (SIZE(4|16))
2259       DESCRIPTION
2260               "An implementation is required to support global IPv4
2261
2262
2263
2264                and/or IPv6 addresses, depending on its support
2265                for IPv4 and IPv6."
2266
2267       OBJECT  natAddrPortBindGlobalAddrType
2268       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2269       DESCRIPTION
2270               "An implementation is required to support global IPv4
2271                and/or IPv6 addresses, depending on its support
2272                for IPv4 and IPv6."
2273
2274       OBJECT  natAddrPortBindGlobalAddr
2275       SYNTAX  InetAddress (SIZE(4|16))
2276       DESCRIPTION
2277               "An implementation is required to support global IPv4
2278                and/or IPv6 addresses, depending on its support
2279                for IPv4 and IPv6."
2280
2281       OBJECT  natSessionPrivateAddrType
2282       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2283       DESCRIPTION
2284               "An implementation is required to support global IPv4
2285                and/or IPv6 addresses, depending on its support
2286                for IPv4 and IPv6."
2287
2288       OBJECT  natSessionPrivateSrcAddr
2289       SYNTAX  InetAddress (SIZE(4|16))
2290       DESCRIPTION
2291               "An implementation is required to support global IPv4
2292                and/or IPv6 addresses, depending on its support
2293                for IPv4 and IPv6."
2294
2295
2296       OBJECT  natSessionPrivateDstAddr
2297       SYNTAX  InetAddress (SIZE(4|16))
2298       DESCRIPTION
2299               "An implementation is required to support global IPv4
2300                and/or IPv6 addresses, depending on its support
2301                for IPv4 and IPv6."
2302
2303       OBJECT  natSessionPublicAddrType
2304       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2305       DESCRIPTION
2306               "An implementation is required to support global IPv4
2307                and/or IPv6 addresses, depending on its support
2308                for IPv4 and IPv6."
2309
2310       OBJECT  natSessionPublicSrcAddr
2311       SYNTAX  InetAddress (SIZE(4|16))
2312
2313
2314
2315       DESCRIPTION
2316               "An implementation is required to support global IPv4
2317                and/or IPv6 addresses, depending on its support
2318                for IPv4 and IPv6."
2319
2320       OBJECT  natSessionPublicDstAddr
2321       SYNTAX  InetAddress (SIZE(4|16))
2322       DESCRIPTION
2323               "An implementation is required to support global IPv4
2324                and/or IPv6 addresses, depending on its support
2325                for IPv4 and IPv6."
2326
2327     ::= { natMIBCompliances 1 }
2328
2329 natMIBReadOnlyCompliance MODULE-COMPLIANCE
2330     STATUS  current
2331     DESCRIPTION
2332             "When this MIB is implemented without support for
2333              read-create (i.e., in read-only mode), then such an
2334              implementation can claim read-only compliance.
2335              Such a device can then be monitored but cannot be
2336              configured with this MIB.
2337
2338              The following index objects cannot be added as OBJECT
2339              clauses but nevertheless have the compliance
2340              requirements:
2341              "
2342              -- OBJECT  natAddrBindLocalAddrType
2343              -- SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2344              -- DESCRIPTION
2345              --         "An implementation is required to support
2346              --          global IPv4 and/or IPv6 addresses, depending
2347              --          on its support for IPv4 and IPv6."
2348
2349              -- OBJECT  natAddrBindLocalAddr
2350              -- SYNTAX  InetAddress (SIZE(4|16))
2351
2352              -- DESCRIPTION
2353              --         "An implementation is required to support
2354              --          global IPv4 and/or IPv6 addresses, depending
2355              --          on its support for IPv4 and IPv6."
2356
2357              -- OBJECT  natAddrPortBindLocalAddrType
2358              -- SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2359              -- DESCRIPTION
2360              --         "An implementation is required to support
2361              --          global IPv4 and/or IPv6 addresses, depending
2362              --          on its support for IPv4 and IPv6."
2363
2364
2365
2366              -- OBJECT  natAddrPortBindLocalAddr
2367              -- SYNTAX  InetAddress (SIZE(4|16))
2368              -- DESCRIPTION
2369              --         "An implementation is required to support
2370              --          global IPv4 and/or IPv6 addresses, depending
2371              --          on its support for IPv4 and IPv6."
2372
2373     MODULE IF-MIB -- The interfaces MIB, RFC2863
2374       MANDATORY-GROUPS {
2375         ifCounterDiscontinuityGroup
2376       }
2377
2378     MODULE  -- this module
2379       MANDATORY-GROUPS { natConfigGroup, natTranslationGroup,
2380                          natStatsInterfaceGroup }
2381
2382       GROUP       natStatsProtocolGroup
2383       DESCRIPTION
2384                "This group is optional."
2385       GROUP       natStatsAddrMapGroup
2386       DESCRIPTION
2387                "This group is optional."
2388       GROUP       natMIBNotificationGroup
2389       DESCRIPTION
2390                "This group is optional."
2391       OBJECT natInterfaceRowStatus
2392       SYNTAX RowStatus { active(1) }
2393       MIN-ACCESS   read-only
2394       DESCRIPTION
2395               "Write access is not required, and active is the only
2396                status that needs to be supported."
2397
2398       OBJECT  natAddrMapLocalAddrType
2399       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2400       MIN-ACCESS   read-only
2401       DESCRIPTION
2402               "Write access is not required.  An implementation is
2403                required to support global IPv4 and/or IPv6 addresses,
2404                depending on its support for IPv4 and IPv6."
2405
2406       OBJECT  natAddrMapLocalAddrFrom
2407       SYNTAX  InetAddress (SIZE(4|16))
2408       MIN-ACCESS   read-only
2409       DESCRIPTION
2410               "Write access is not required.  An implementation is
2411                required to support global IPv4 and/or IPv6 addresses,
2412                depending on its support for IPv4 and IPv6."
2413
2414
2415
2416
2417       OBJECT  natAddrMapLocalAddrTo
2418       SYNTAX  InetAddress (SIZE(4|16))
2419       MIN-ACCESS   read-only
2420       DESCRIPTION
2421               "Write access is not required.  An implementation is
2422                required to support global IPv4 and/or IPv6 addresses,
2423                depending on its support for IPv4 and IPv6."
2424
2425       OBJECT  natAddrMapGlobalAddrType
2426       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2427       MIN-ACCESS   read-only
2428       DESCRIPTION
2429               "Write access is not required.  An implementation is
2430                required to support global IPv4 and/or IPv6 addresses,
2431                depending on its support for IPv4 and IPv6."
2432
2433       OBJECT  natAddrMapGlobalAddrFrom
2434       SYNTAX  InetAddress (SIZE(4|16))
2435       MIN-ACCESS   read-only
2436       DESCRIPTION
2437               "Write access is not required.  An implementation is
2438                required to support global IPv4 and/or IPv6 addresses,
2439                depending on its support for IPv4 and IPv6."
2440
2441       OBJECT  natAddrMapGlobalAddrTo
2442       SYNTAX  InetAddress (SIZE(4|16))
2443       MIN-ACCESS   read-only
2444       DESCRIPTION
2445               "Write access is not required.  An implementation is
2446                required to support global IPv4 and/or IPv6 addresses,
2447                depending on its support for IPv4 and IPv6."
2448
2449       OBJECT natAddrMapRowStatus
2450       SYNTAX RowStatus { active(1) }
2451       MIN-ACCESS   read-only
2452       DESCRIPTION
2453               "Write access is not required, and active is the only
2454                status that needs to be supported."
2455
2456       OBJECT  natAddrBindGlobalAddrType
2457       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2458       DESCRIPTION
2459               "An implementation is required to support global IPv4
2460                and/or IPv6 addresses, depending on its support for
2461                IPv4 and IPv6."
2462
2463       OBJECT  natAddrBindGlobalAddr
2464       SYNTAX  InetAddress (SIZE(4|16))
2465
2466
2467
2468       DESCRIPTION
2469               "An implementation is required to support global IPv4
2470                and/or IPv6 addresses, depending on its support for
2471                IPv4 and IPv6."
2472
2473       OBJECT  natAddrPortBindGlobalAddrType
2474       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2475       DESCRIPTION
2476               "An implementation is required to support global IPv4
2477                and/or IPv6 addresses, depending on its support for
2478                IPv4 and IPv6."
2479
2480       OBJECT  natAddrPortBindGlobalAddr
2481       SYNTAX  InetAddress (SIZE(4|16))
2482       DESCRIPTION
2483               "An implementation is required to support global IPv4
2484                and/or IPv6 addresses, depending on its support for
2485                IPv4 and IPv6."
2486
2487       OBJECT  natSessionPrivateAddrType
2488       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2489       DESCRIPTION
2490               "An implementation is required to support global IPv4
2491                and/or IPv6 addresses, depending on its support for
2492                IPv4 and IPv6."
2493
2494       OBJECT  natSessionPrivateSrcAddr
2495       SYNTAX  InetAddress (SIZE(4|16))
2496       DESCRIPTION
2497               "An implementation is required to support global IPv4
2498                and/or IPv6 addresses, depending on its support for
2499                IPv4 and IPv6."
2500
2501       OBJECT  natSessionPrivateDstAddr
2502       SYNTAX  InetAddress (SIZE(4|16))
2503       DESCRIPTION
2504               "An implementation is required to support global IPv4
2505                and/or IPv6 addresses, depending on its support for
2506                IPv4 and IPv6."
2507
2508       OBJECT  natSessionPublicAddrType
2509       SYNTAX  InetAddressType { ipv4(1), ipv6(2) }
2510       DESCRIPTION
2511               "An implementation is required to support global IPv4
2512                and/or IPv6 addresses, depending on its support for
2513                IPv4 and IPv6."
2514
2515       OBJECT  natSessionPublicSrcAddr
2516
2517
2518
2519       SYNTAX  InetAddress (SIZE(4|16))
2520       DESCRIPTION
2521               "An implementation is required to support global IPv4
2522                and/or IPv6 addresses, depending on its support for
2523                IPv4 and IPv6."
2524
2525       OBJECT  natSessionPublicDstAddr
2526       SYNTAX  InetAddress (SIZE(4|16))
2527       DESCRIPTION
2528               "An implementation is required to support global IPv4
2529                and/or IPv6 addresses, depending on its support for
2530                IPv4 and IPv6."
2531
2532     ::= { natMIBCompliances 2 }
2533
2534 END