-- extracted from draft-jones-cable-gateway-addressing-mib-01.txt -- at Wed Feb 5 06:12:02 2003 CABH-CAP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Unsigned32 FROM SNMPv2-SMI TEXTUAL-CONVENTION, TruthValue, RowStatus, PhysAddress FROM SNMPv2-TC OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF InetAddressType, InetAddress, InetPortNumber FROM INET-ADDRESS-MIB cabhDevMib FROM CABH-DEV-MIB; --============================================================== -- -- History: -- -- Date Reason -- 10/28/02 -00 -- 01/22/03 -01 -- --============================================================== cabhCapMib MODULE-IDENTITY LAST-UPDATED "200301220000Z" -- January 22, 2003 ORGANIZATION "CableLabs Broadband Access Department" 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" DESCRIPTION "This MIB module supplies the basic management objects for the CableHome Addressing Portal (CAP) portion of the PS database. Acknowledgements: Roy Spitzer - Consultant to CableLabs Mike Mannette - Consultant to CableLabs Randy Dunton - Intel Dmitrii Loukianov - Intel Itay Sherman - Texas Instruments Chris Zacker - Broadcom Rick Vetter - Consultant to CableLabs John Bevilacqua - YAS" REVISION "200301220000Z" -- January 22, 2003 DESCRIPTION "Initial version, published as RFC xxxx." -- RFC editor to assign xxxx ::= { cabhDevMib 3 } -- 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 inactivty 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 "Setting this object to true(1) causes the all the tables in the CAP to be cleared, and all CAP objects with defaults to be reset back to their default values. The objects to set to factory default values when this object is set to 'true' are listed below: cabhCapTcpTimeWait, cabhCapUdpTimeWait, cabhCapIcmpTimeWait, cabhCapPrimaryMode, cabhCapMappingWanAddrType, cabhCapMappingWanPort, cabhCapMappingLanAddrType, cabhCapMappingLanPort" ::= { cabhCapBase 5 } --============================================================== -- -- cabhCapMappingTable (CAP Mapping Table) -- -- The cabhCapMappingTable contains the mappings 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 a 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 an 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), -- not specified 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. If Primary Packet- handling Mode is NAPT (cabhCapPrimaryMode is napt(1)), a newly created row can not be set to active(1) until a non-zero value of cabhCapMappingWanPort and cabhCapMappingLanPort have been set. If Primary Packet- handling Mode is NAT (cabhCapPrimaryMode is nat(2)), a newly created row can not 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, cabhCapPassthroughRowStatusRowStatus } 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} cabhCapPassthroughRowStatusOBJECT-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 } cabhCapNotifications OBJECT IDENTIFIER ::= { cabhCapNotification 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 MTA feature." MODULE --cabhCapMib -- unconditionally mandatory groups MANDATORY-GROUPS { cabhCapGroup } ::= { cabhCapCompliances 1 } cabhCapGroup OBJECT-GROUP OBJECTS { cabhCapTcpTimeWait, cabhCapUdpTimeWait, cabhCapIcmpTimeWait, cabhCapPrimaryMode, cabhCapSetToFactory, 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.