-- extracted from draft-ietf-ipcdn-cable-gateway-addressing-mib-00.txt -- at Wed Jun 25 06:13:38 2003 CABH-IETF-CAP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, mib-2 FROM SNMPv2-SMI TEXTUAL-CONVENTION, TimeStamp, TruthValue, RowStatus, PhysAddress FROM SNMPv2-TC OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF InetAddressType, InetAddress, InetPortNumber FROM INET-ADDRESS-MIB; cabhCapMib MODULE-IDENTITY LAST-UPDATED "200306210000Z" -- Jun 21, 2003 ORGANIZATION "IETF IPCDN Working Group" CONTACT-INFO "Kevin Luehrs Postal: Cable Television Laboratories, Inc. 400 Centennial Parkway Louisville, Colorado 80027-1266 U.S.A. Phone: +1 303-661-9100 Fax: +1 303-661-9199 E-mail: k.luehrs@cablelabs.com; mibs@cablelabs.com IETF IPCDN Working Group General Discussion: ipcdn@ietf.org Subscribe: http://www.ietf.org/mailman/listinfo/ipcdn Archive: ftp://ftp.ietf.org/ietf-mail-archive/ipcdn Co-chairs: Richard Woundy, Richard_Woundy@cable.comcast.com Jean-Francois Mule, jf.mule@cablelabs.com" DESCRIPTION "This MIB module supplies the basic management objects for the CableHome Addressing Portal (CAP) portion of the PS database. Copyright (C) The Internet Society (2003). This version of this MIB module is part of RFC xxxx; see the RFC itself for full legal notices." REVISION "200306210000Z" -- Jun 21, 2003 DESCRIPTION "Initial version, published as RFC xxxx." -- RFC editor to assign xxxx ::= { mib-2 1 } -- xx to be assigned by IANA -- Textual conventions CabhCapPacketMode ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The data type established when a binding/mapping is established." SYNTAX INTEGER { napt(1), -- NAT with port translation nat(2), -- Basic NAT passthrough(3) -- Pass Through External Address } cabhCapObjects OBJECT IDENTIFIER ::= { cabhCapMib 1 } cabhCapBase OBJECT IDENTIFIER ::= { cabhCapObjects 1 } cabhCapMap OBJECT IDENTIFIER ::= { cabhCapObjects 2 } --=================================================================== -- -- General CAP Parameters -- --=================================================================== cabhCapTcpTimeWait OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object is the maximum inactivity time to wait before assuming TCP session is terminated. It has no relation to the TCP session TIME_WAIT state referred to in [RFC793]" DEFVAL { 300 } ::= { cabhCapBase 1 } cabhCapUdpTimeWait OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The inactivity time to wait before destroying CAP mappings for UDP." DEFVAL { 300 } -- 5 minutes ::={ cabhCapBase 2 } cabhCapIcmpTimeWait OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The inactivity time to wait before destroying CAP mappings for ICMP." DEFVAL { 300 } -- 5 minutes ::= { cabhCapBase 3 } cabhCapPrimaryMode OBJECT-TYPE SYNTAX CabhCapPacketMode MAX-ACCESS read-write STATUS current DESCRIPTION "The Primary Packet Handling Mode to be used." DEFVAL { napt } ::= { cabhCapBase 4 } cabhCapSetToFactory OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Reading this object always returns false(2). When the cabhCapSetToFactory object is set to true(1), the PS must take the following actions: 1. Clear all entries in the cabhCapMappingTable and cabhCapPassthroughTable. 2. Reset the following objects to their factory default values: cabhCapTcpTimeWait, cabhCapUdpTimeWait, cabhCapIcmpTimeWait, cabhCapPrimaryMode" ::= { cabhCapBase 5 } cabhCapLastSetToFactory OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime when cabhCapSetToFactory was last set to true. Zero if never reset." ::= { cabhCapBase 6 } --=================================================================== -- -- cabhCapMappingTable (CAP Mapping Table) -- -- The cabhCapMappingTable contains the info for all CAP mappings. -- --=================================================================== cabhCapMappingTable OBJECT-TYPE SYNTAX SEQUENCE OF CabhCapMappingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains IP address mappings between private network addresses, or network addresses and port numbers/ICMP sequence numbers, assigned to devices on the subscriber's home LAN, and network addresses, or network addresses and port numbers/ICMP sequence number, assigned by the cable operator, presumed to be on a separate subnetwork than the private IP addresses. The CAP Mapping Table is used by the CableHome Address Portal (CAP) function of the PS to make packet forwarding decisions." ::= { cabhCapMap 1 } cabhCapMappingEntry OBJECT-TYPE SYNTAX CabhCapMappingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "List of the private IP (LAN) address - to - cable operator assigned IP (WAN) address mappings stored in the PS and used by the PS to make packet forwarding decisions." INDEX { cabhCapMappingIndex } ::= { cabhCapMappingTable 1 } CabhCapMappingEntry ::= SEQUENCE { cabhCapMappingIndex INTEGER, cabhCapMappingWanAddrType InetAddressType, cabhCapMappingWanAddr InetAddress, cabhCapMappingWanPort InetPortNumber, cabhCapMappingLanAddrType InetAddressType, cabhCapMappingLanAddr InetAddress, cabhCapMappingLanPort InetPortNumber, cabhCapMappingMethod INTEGER, cabhCapMappingProtocol INTEGER, cabhCapMappingRowStatus RowStatus } cabhCapMappingIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Index into the CAP Mapping Table." ::= { cabhCapMappingEntry 1 } cabhCapMappingWanAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address type assigned on the WAN side" DEFVAL { ipv4 } ::= { cabhCapMappingEntry 2 } cabhCapMappingWanAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address assigned by the cable operator's address (DHCP) server, and comprising the WAN-side IP address of the CAP Mapping tuple. This object is populated either dynamically by LAN-to-WAN outbound traffic or statically by the cable operator." ::= { cabhCapMappingEntry 3 } cabhCapMappingWanPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The TCP/UDP port number or ICMP sequence number on the WAN side. A port number of 0 indicates a NAT mapping. A non-zero port number indicates an NAPT mapping." DEFVAL { 0 } ::= { cabhCapMappingEntry 4 } cabhCapMappingLanAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address type assigned on the LAN side." DEFVAL { ipv4 } ::= { cabhCapMappingEntry 5 } cabhCapMappingLanAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address assigned by the DHCP server function of the PS (CableHome DHCP Server, CDS), and comprising the LAN-side IP address of the CAP Mapping tuple. This object is populated either dynamically as a result of LAN-to-WAN outbound traffic or statically by the cable operator." ::= { cabhCapMappingEntry 6 } cabhCapMappingLanPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The TCP/UDP port number or ICMP sequence number on the LAN side. A port number/sequence number of 0 indicates a NAT mapping. A non-zero port number/sequence number indicates a NAPT mapping." DEFVAL { 0 } ::= { cabhCapMappingEntry 7 } cabhCapMappingMethod OBJECT-TYPE SYNTAX INTEGER { static(1), dynamic(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates how this mapping was created. Static means that it was provisioned, and dynamic means that it was handled by the PS itself." ::= { cabhCapMappingEntry 8 } cabhCapMappingProtocol OBJECT-TYPE SYNTAX INTEGER { other(1), -- any other protocol; e.g. IGMP icmp(2), udp(3), tcp(4) } MAX-ACCESS read-create STATUS current DESCRIPTION "The protocol for this mapping." ::= { cabhCapMappingEntry 9 } cabhCapMappingRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus interlock for the creation and deletion of a cabhCapMappingTable entry. Changing the value of the IP address or port number columns of the CAP Mapping Table may have an effect on active traffic, so the PS will prevent modification of this table's columns and return an inconsistentValue error when cabhCapMappingRowStatus object is active(1). The PS must not allow RowStatus to be set to notInService(2)by a manager. A newly created row cannot be set to active(1) until the corresponding instances of cabhCapMappingWanAddrType, cabhCapMappingWanAddr, cabhCapMappingLanAddrType, cabhCapMappingLanAddr, and cabhCapMappingProtocol have been set. When Primary Packet-handling Mode is NAPT (cabhCapPrimaryMode is napt(1)), required behavior with respect to the cabhCapMappingRowStatus object is dependent upon the version of CableHome specification implemented in the product: - In CableHome 1.0 compliant products configured for NAPT Primary Packet-handling Mode, a newly provisioned row can not be set to active(1) until a non-zero value has been set for cabhCapMappingWanPort and cabhCapMappingLanPort objects. - Products compliant to CableHome specifications later than CableHome 1.0 are not subject to the cabhCapMappingWanPort and cabhCapMappingLanPort restrictions imposed on CableHome 1.0 compliant products. In CableHome 1.1 and later compliant devices configured to operate in NAPT Primary Packet-handling Mode, provisioned rows can be set to active(1) regardless of whether the value to which cabhCapMappingWanPort and cabhCapMappingLanPort have been set is zero or nonzero. When Primary Packet-handling Mode is NAT (cabhCapPrimaryMode is nat(2)), a newly created row cannot be set to active(1)if a non-zero value of cabhCapMappingWanPort and cabhCapMappingLanPort have been set." ::={ cabhCapMappingEntry 10 } --=================================================================== -- -- cabhCapPassthroughTable (CAP Passthrough Table) -- -- The cabhCapPassthroughTable contains the MAC Addresses for all -- LAN-IP Devices which will be configured as passthrough. -- --=================================================================== cabhCapPassthroughTable OBJECT-TYPE SYNTAX SEQUENCE OF CabhCapPassthroughEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains MAC addresses for LAN-IP Devices which are configured as passthrough mode." ::= { cabhCapMap 2 } cabhCapPassthroughEntry OBJECT-TYPE SYNTAX CabhCapPassthroughEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "List of hardware addresses of LAN IP Devices which are configured for passthrough mode." INDEX {cabhCapPassthroughIndex} ::= {cabhCapPassthroughTable 1} CabhCapPassthroughEntry::=SEQUENCE { cabhCapPassthroughIndex INTEGER, cabhCapPassthroughMacAddr PhysAddress, cabhCapPassthroughRowStatus RowStatus } cabhCapPassthroughIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index into the CAP Passthrough Table." ::= { cabhCapPassthroughEntry 1 } cabhCapPassthroughMacAddr OBJECT-TYPE SYNTAX PhysAddress (SIZE(0..16)) MAX-ACCESS read-create STATUS current DESCRIPTION "Hardware address of the LAN-IP Device to be configured as passthrough mode." ::={cabhCapPassthroughEntry 2} cabhCapPassthroughRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus interlock for the creation and deletion of a cabhCapPassthroughTable entry. Any writable object in each row can be modified at any time while the row is active(1)." ::= { cabhCapPassthroughEntry 3 } -- -- notification group is for future extension. -- cabhCapNotification OBJECT IDENTIFIER ::= { cabhCapMib 2 0 } cabhCapConformance OBJECT IDENTIFIER ::= { cabhCapMib 3 } cabhCapCompliances OBJECT IDENTIFIER ::= { cabhCapConformance 1 } cabhCapGroups OBJECT IDENTIFIER ::= { cabhCapConformance 2 } -- -- Notification Group -- -- compliance statements cabhCapBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for devices that implement the CableHome Portal Services functionality" MODULE --cabhCapMib -- unconditionally mandatory groups MANDATORY-GROUPS { cabhCapGroup } OBJECT cabhCapMappingWanAddrType SYNTAX InetAddressType { ipv4(1) } DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT cabhCapMappingWanAddr SYNTAX InetAddress (SIZE(4)) DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT cabhCapMappingLanAddrType SYNTAX InetAddressType { ipv4(1) } DESCRIPTION "An implementation is only required to support IPv4 addresses." OBJECT cabhCapMappingLanAddr SYNTAX InetAddress (SIZE(4)) DESCRIPTION "An implementation is only required to support IPv4 addresses." ::= { cabhCapCompliances 1 } cabhCapGroup OBJECT-GROUP OBJECTS { cabhCapTcpTimeWait, cabhCapUdpTimeWait, cabhCapIcmpTimeWait, cabhCapPrimaryMode, cabhCapSetToFactory, cabhCapLastSetToFactory, cabhCapMappingWanAddrType, cabhCapMappingWanAddr, cabhCapMappingWanPort, cabhCapMappingLanAddrType, cabhCapMappingLanAddr, cabhCapMappingLanPort, cabhCapMappingMethod, cabhCapMappingProtocol, cabhCapMappingRowStatus, cabhCapPassthroughMacAddr, cabhCapPassthroughRowStatus } STATUS current DESCRIPTION "Group of objects for CableHome CAP MIB." ::= { cabhCapGroups 1 } END -- -- Copyright (C) The Internet Society (2003). All Rights Reserved. -- -- This document and translations of it may be copied and furnished to -- others, and derivative works that comment on or otherwise explain it -- or assist in its implementation may be prepared, copied, published -- and distributed, in whole or in part, without restriction of any -- kind, provided that the above copyright notice and this paragraph are -- included on all such copies and derivative works. However, this -- document itself may not be modified in any way, such as by removing -- the copyright notice or references to the Internet Society or other -- Internet organizations, except as needed for the purpose of -- developing Internet standards in which case the procedures for -- copyrights defined in the Internet Standards process must be -- followed, or as required to translate it into languages other than -- English. -- -- The limited permissions granted above are perpetual and will not be -- revoked by the Internet Society or its successors or assigns. -- -- This document and the information contained herein is provided on an -- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.