Class docsis_config

Description

DOCSIS Config Writer

Located in /docsis_config/docsis_config.php (line 58)

docsis_encoder
   |
   --docsis_encoder_complex
      |
      --docsis_config
Method Summary
 docsis_config docsis_config (int $code, [array $value = array()])
 void add_class_of_service (docis_class_of_service $value)
 void add_cos_cvc_data (string $value)
 void add_cpe_ethernet (string $value)
 void add_mfg_cvc_data (string $value)
 void add_service_na (int $class_id, int $type, int $code)
 void add_snmp_object (string $oid, rfc1155_Asn1Object $value)
 void add_snmp_write_control (string $oid, boolean $control)
 void add_vendor (docsis_vendor $value)
 void encode ([mixed $key = ''])
 void get_cmts_mic (mixed $key)
 void get_cm_mic ()
 void keyedMD5 (mixed $data, mixed $key)
 void set_auth_block (string $value)
 void set_baseline_privacy (mixed $value)
 void set_docsis_2_enable (mixed $value)
 void set_downstream_frequency (int $value)
 void set_hmac_digest (string $value)
 void set_key_sequence (string $value)
 void set_max_classifiers (int $value)
 void set_max_cpes (mixed $value)
 void set_modem_address (string $ip)
 void set_modem_capabilities (docis_capabilities $value)
 void set_mta_config_delimiter (mixed $value)
 void set_network_access (boolean $value)
 void set_privacy_enable (mixed $value)
 void set_software_upgrade_filename (string $value)
 void set_subscriber_management_control (int $max_cpe, boolean $active, boolean $learnable)
 void set_subscriber_management_cpe_list (array $value)
 void set_subscriber_management_filter (int $subfilter_down, int $subfilter_up, int $cmfilter_down, int $cmfilter_up)
 void set_telephone (mixed $value)
 void set_tftp_address (string $value)
 void set_tftp_timestamp (int $value)
 void set_tftp_upgrade_address (string $ip)
 void set_upstream_channel_id (int $value)
Variables

Inherited Variables

Inherited from docsis_encoder

docsis_encoder::$code
docsis_encoder::$value
Methods
Constructor docsis_config (line 66)

Constructor

docsis_config docsis_config (int $code, [array $value = array()])
  • int $code: docsis code
  • array $value: predefined values
add_class_of_service (line 137)

Add a Class of Service - docsis 1.0

void add_class_of_service (docis_class_of_service $value)
  • docis_class_of_service $value
add_cos_cvc_data (line 475)

Add Co-signer Code Verification Certificate - docsis 1.1

The Co-signer's Code Verification Cerrificat (C-CVC) for Secure Software Downloading. The CM config must contain this C-CVC and/or M-CVC in order to allow 1.1 compliant CM to download the code file from TFTP server regardless the CM is provisioned to run with BPI,BPI+, or none of them.

void add_cos_cvc_data (string $value)
  • string $value
add_cpe_ethernet (line 419)

Add CPE Ethernet MAC Address - docsis 1.0, 1.1

void add_cpe_ethernet (string $value)
  • string $value
add_downstream_flow (line 223)

Add Downstream Service Flow - docsis 1.1

void add_downstream_flow (docsis_flow_down $value)
add_mfg_cvc_data (line 454)

Add Manufacturer Code Verification Certificate - docsis 1.1

The Manufaturer's Code Verification Cerrificat (M-CVC) for Secure Software Downloading. The CM config must contain this M-CVC and/or C-CVC in order to allow 1.1 compliant CM to download the code file from TFTP server regardless the CM is provisioned to run with BPI,BPI+, or none of them.

void add_mfg_cvc_data (string $value)
  • string $value
add_service_na (line 550)

Add Service Not Available Response - docsis 1.0, 1.1

This configuration setting must be included in the Registration Response message if the CMTS is unable or unwilling to grant any of the requested classes of service that appeared in the Registration Request. Although the value applies only to the failed service class, the entire Registration Request must be considered to have failed (none of the class-of-service configuration settings are granted).

Confirmation codes:

  • reject-major-service-flow-error (200) indicates that the REQ message did not have either SFR or SFID in a service flow encoding, and that service flow major errors were the only major errors.
  • reject-major-classifier-error (201) indicates that the REQ message did not hava a classifier refernece, or did not have both a classifier ID and a Service Flow ID, and that the classifier major errors were the only major errors.
  • reject-major-PHS-rule-error (202) indicates that the REQ message did not have both a Service Flow Reference/Identifier and a Classifier Reference/Identifier, and that PHS rule major errors where the only major errors.
  • reject-mulitple-major-errors (203) indicates that the REQ message contained multiple major errors of type 200, 201, 202.
  • reject-message-syntax-error (204) indicates that the REQ message contained syntax errors resulting in a parsing failture.
  • reject-primary-service-flow-error (205) indicates that a REG-REQ or REG-RSP message did not define a required primary Service Flow, or a required primary Service Flow was not activated.
  • reject-message-too-big (206) is used when the length of the message needed to respond exceeds the maximum allowed message size.
  • reject-invalid-modem-capabilities (207) indicates that the REG-REQ contained either that an invalid combination of modem capabilities or modem capabilities that are inconsistent with the services in REG-REQ.

void add_service_na (int $class_id, int $type, int $code)
  • int $class_id: the class-of-service from the request which is not available.
  • int $type: the specified class-of-service object within the class which caused the request to be rejected.
  • int $code: the confirmation code.
add_snmp_object (line 404)

Add SNMP MIB Object - docsis 1.0, 1.1

This object allows arbtrary SNMP MIB objects to be Set via the TFTP-Registration process.

The cable modem must treat this object as if it were part of an SNMP Set Request with the following caveats:

  • The CM must treat the request as fully authorized (it cannot refuse the request for lack of privilege).
  • SNMP Write-Control provisions do not apply
  • No SNMP response is generated by the CM.

All such Sets must be treated as simultaneous.

Example values:

  • $value = new rfc1155_Integer($value);
  • $value = new rfc1155_Counter($value);
  • $value = new rfc1155_Guage($value);
  • $value = new rfc1155_TimeTicks($value);
  • $value = new rfc1155_OctetString(hexbin($value)); // hex string
  • $value = new rfc1155_OctetString($value);
  • $value = new rfc1155_IPAddress($value);
  • $value = new rfc1155_ObjectID($value);

void add_snmp_object (string $oid, rfc1155_Asn1Object $value)
  • string $oid
  • rfc1155_Asn1Object $value
add_snmp_write_control (line 367)

Add SNMP Write-Access Control - docsis 1.0, 1.1

This object makes it possible to disable SNMP "Set" access to individual MIB objets. Each instance of this object controls access to all of the writeable MIB objects whose Object ID (OID) prefix matches.

Any OID prefix may be used. The Null OID 0.0 may be used to control access to all MIB objects. (The OID 1.3.6.1 wil have the same effect.)

void add_snmp_write_control (string $oid, boolean $control)
  • string $oid
  • boolean $control
add_upstream_flow (line 212)

Add Upstream Service Flow - docsis 1.1

void add_upstream_flow (docsis_flow_up $value)
add_vendor (line 277)

Add Vendor-Specific Information - docsis 1.0, 1.1

void add_vendor (docsis_vendor $value)
encode (line 632)
void encode ([mixed $key = ''])

Redefinition of:
docsis_encoder_complex::encode()
Encode value
get_cmts_mic (line 655)
void get_cmts_mic (mixed $key)
get_cm_mic (line 646)
void get_cm_mic ()
keyedMD5 (line 683)
void keyedMD5 (mixed $data, mixed $key)
set_auth_block (line 581)

Set Authorization Block

void set_auth_block (string $value)
  • string $value
set_baseline_privacy (line 614)
void set_baseline_privacy (mixed $value)
set_docsis_2_enable (line 626)
void set_docsis_2_enable (mixed $value)
set_downstream_frequency (line 79)

Set Downstream Frequency Configuration - docsis 1.0, 1.1

The receive frequency to be used by the CM. It is an override for the channel selected during scanning.

void set_downstream_frequency (int $value)
  • int $value: in Hz must be a multiple of 62500.
set_downstream_packet_classifier (line 201)

Set Downstream Packet Classifier - docsis 1.1

void set_downstream_packet_classifier (docsis_packet_classifier $value)
set_hmac_digest (line 571)

Set HMAC-Digest

The HMAC-Digest setting is a keyed message digest. If privacy is enabled, the HMAC-Digents Attribute must be the final Attribute in the Dynamic Service message's Attribute list. The message digest is performed over all of the Dynamic Service parameters (starting immediately after the MAC Management Message Header and up to, but not including the HMAC Digest setting), other than the HMAC-Digest, in the order in which they appear within the packet.

This parameter contains a keyed hash used for message authentication. The HMAC algorithm is defined in RFC2104. The HMAC algorithm is specified using a cryptographic hash algorithm. Baseline Privacy uses a particular version of HMAC that employs the Secure Hash Algorithm (SHA-1).

void set_hmac_digest (string $value)
  • string $value
set_key_sequence (line 594)

Key Sequence Number

This value shows the key sequence number of the BPI+ Authorizaion Key which is used to calculate the HMAC-Digest in case that the Privacy is enabled.

void set_key_sequence (string $value)
  • string $value
set_max_classifiers (line 253)

Set Maximum Number of Classifiers - docsis 1.1

This is the maximum number of Classifiers associated with admitted or active upstream Service Flows that the CM is allowed to have. Both active and inactive Classifiers are included in this count.

This is useful when using deferred activation of provisioned resources. The number of provisioned Service Flows may be high and each Service Flow might support multiple Classifiers. Provisioning represents the set of Service Flows the CM can choose between. The CMTS can control the QoS resources committed to the CM by limiting the number of Service Flows that are admitted. However, it may still be desirable to limit the number of Classifiers associated with the committed QoS resources. This parameter provides that limit.

void set_max_classifiers (int $value)
  • int $value
set_max_cpes (line 155)

Maximum Number of CPEs - docsis 1.0, 1.1

The maximum number of CPEs that can be granted access through a CM during a CM epoch. The CM epoch is the time between startup and hard reset of the modem. The maximum number of CPEs must be enforced by the CM.

Note: This parameter should not be confused with the number of CPE addresses a CM may learn. A modem may learn Ethernet MAC addresses up to its maximum number of CPE addresses. The maximum number of CPEs that are granted access through the modemis governed by this configuration setting.

The non-existance, or the value 0, must be intrepreted as the default value of 1.

void set_max_cpes (mixed $value)
set_modem_address (line 516)

Set Modem IP Address - docsis 1.0, 1.1

For backwards compatibility with DOCSIS v1.0. Replace by 'TFTP Server Provisioned Modem Address'.

void set_modem_address (string $ip)
  • string $ip
set_modem_capabilities (line 503)

Set Modem Capabilities - docsis 1.0, 1.1

void set_modem_capabilities (docis_capabilities $value)
  • docis_capabilities $value
set_mta_config_delimiter (line 620)
void set_mta_config_delimiter (mixed $value)
set_network_access (line 126)

Set Network Access - docsis 1.0, 1.1

If $value is 1, CPE attached to this CM are allowed to access the network, based on CM provisioning. If the value is 0, the CM must not forward traffic from attached CPE to the RF MAC network, but must continue to accept and generate traffic from the CM itself. The value of this field does not affect CMTS service flow operation and does not affect CMTS data forwarding operation.

Note: The intent of "NACO=0" is that the CM does not forward traffic from any attached CPE onto the cable network. (A CPE is any client device attached to the CM, regardless of how the attachment is implemented.) However, with "NACO=0", management traffic to the CM is not restricted. Specifically, with NACO off, the CM remains manageable, including sending/receiving management traffice such as (but not limited to):

  • ARP: allow the modem to resolve IP addresses, so it can respond to queries or send traps.
  • DHCP: allow the modem to renew its IP address lease.
  • ICPM: allow network troubleshooting for tools such as "ping" and "traceroute."
  • ToD: allow the modem to continue to synchronize its clock after boot.
  • TFTP: allow the modem to download either a new configuration file or a new software image.
  • SYSLOG: allow the modem to report network events.
  • SNMP: allow management activity.

In DOCSIS v1.1, with NACO off, the primary upstream and primary downstream service flows of the CM remain operational only for management traffic to and from the CM. With respect to DOCSIS v1.1 provisioning, a CMTS should ignore the NACO value and allocate any service flows that have been authorized by the provisioning server.

void set_network_access (boolean $value)
  • boolean $value
set_payload_header_suppression (line 234)

Set Payload Header Suppression - docsis 1.1

void set_payload_header_suppression (docsis_payload_header_suppression $value)
set_privacy_enable (line 266)

Set Privacy Enable - docsis 1.1

This configuation setting enables/disables Baseline Privacy on the Primary Service Flow and all other Service Flows for this CM. If a DOCSIS 1.1 CM receives this setting in a configuration file, the CM is required to forward this setting as part of the registration request regardless of whether the configuration file is DOCSIS 1.1-style or not while this setting is usually contained only in a DOCSIS 1.1 Service Flow TLVs.

void set_privacy_enable (mixed $value)
set_snmp_v3_kickstart (line 439)

Set SNMP V3 Kickstart - docsis 1.1

void set_snmp_v3_kickstart (docsis_snmp_v3_kickstart $value)
set_snmp_v3_trap (line 492)

Add SNMP v3 Trap (Notification Receiver) - docsis 1.1

void set_snmp_v3_trap (docsis_snmp_v3_trap $value)
set_software_upgrade_filename (line 351)

Set Software Upgrade Filename - docsis 1.0, 1.1

void set_software_upgrade_filename (string $value)
  • string $value: the fully qualified diretory-path name on the TFTP server.
set_subscriber_management_control (line 290)

Set Subscriber Management Control - docsis 1.1

void set_subscriber_management_control (int $max_cpe, boolean $active, boolean $learnable)
  • int $max_cpe: number of IP addresses permitted behind the CM.
  • boolean $active
  • boolean $learnable
set_subscriber_management_cpe_list (line 303)

Set Subscriber Management CPE IP Table - docsis 1.1

void set_subscriber_management_cpe_list (array $value)
  • array $value: IP addresses
set_subscriber_management_filter (line 325)

Set Subscriber Management Filter Groups - docsis 1.1

The Subscriber Management MIB allows filter groups to be assigned to a CM and CPE attached to that CM. These include two CM filter groups, upstream and downstream, and two CPE filter groups, upstream and downstream.

void set_subscriber_management_filter (int $subfilter_down, int $subfilter_up, int $cmfilter_down, int $cmfilter_up)
  • int $subfilter_down
  • int $subfilter_up
  • int $cmfilter_down
  • int $cmfilter_up
set_telephone (line 604)
void set_telephone (mixed $value)
set_tftp_address (line 180)

Set TFTP Server Provisioned Modem Address - docsis 1.0, 1.1

The IP address of the modem requesting the configuration. The purpose of this parameter is to prevent IP spoofing during registration.

void set_tftp_address (string $value)
  • string $value: ip address of modem
set_tftp_timestamp (line 168)

Set TFTP Server Timestamp - docsis 1.0, 1.1

The sending time of the configuration file in seconds. The purpose of this parameter is to prevent replay attacks with old configuation files.

void set_tftp_timestamp (int $value)
  • int $value: in seconds
set_tftp_upgrade_address (line 429)

Set Software Upgrade TFTP Server - docsis 1.0, 1.1

void set_tftp_upgrade_address (string $ip)
  • string $ip: address of the TFTP server, on which the software upgrade file for the CM resides.
set_upstream_channel_id (line 94)

Set Upstream Channel ID - docsis 1.0, 1.1

The upstream channel ID which the CM must use. The CM must listen on the defined downstream channel until an upstream channel description message with this ID is found. It is an override for the channel selected during initialization.

void set_upstream_channel_id (int $value)
  • int $value: channel ID
set_upstream_packet_classifier (line 190)

Set Upstream Packet Classifier - docsis 1.1

void set_upstream_packet_classifier (docsis_packet_classifier $value)

Inherited Methods

Inherited From docsis_encoder_complex

 docsis_encoder_complex::docis_encoder_complex()
 docsis_encoder_complex::encode()

Inherited From docsis_encoder

 docsis_encoder::docsis_encoder()
 docsis_encoder::encode()

Documentation generated on Mon, 14 Nov 2005 18:00:02 -0700 by phpDocumentor 1.3.0RC3