Table 14. Feature History
Feature Name
|
Release Information
|
Feature Description
|
Kafka support for multiple brokers
|
Cisco IOS XE Dublin 17.12.1z
|
Starting from this release, Kafka broker cluster now provides support for monitoring the connection status of up to a maximum
of two brokers. Each broker connection can be maintained independently.
|
Kafka support for OFDMA channel information
|
Cisco IOS XE Dublin 17.12.1z
|
The cBR-8 routers now include a new telemetry event, OFDMA-Status, which serves to identify channel configurations and monitor
the upstream status of channels.
|
Upstream External PMA with Kafka
|
Cisco IOS XE Dublin 17.12.1y
|
In this release, Upstream External PMA is supported with Kafka. cBR8-routers publish US RxMER data automatically based on
OFDMA prof-mgmt configured interval. The Publish rate can be down-sampled using the cable telemetry topic us-rxmer publish-rate command.
In this release, RxMer probe averaging is supported.
|
Upstream External PMA with SNMP/TFTP
|
Cisco IOS XE Dublin 17.12.1x
|
In previous releases, the operator would need to provision static OFDMA modulation profile definitions that addressed all
known and anticipated plant conditions, both static and dynamic.
In this release, the operator has the ability to allow an external Artificial Intelligence (AI) to both tune the profiles
for specific plants and dynamically change modulation definitions to address dynamic plant conditions. The AI resides within
an external Profile Management Application (PMA).
|
In previous releases, the operator would need to provision static OFDMA modulation profile definitions that addressed all
known and anticipated plant conditions, both static and dynamic. This required the operator to perform manual tuning and it
did not fully optimize profile definitions for specific dynamic plant conditions.
Starting with Cisco IOS XE Dublin 17.12.1x, the operator has the ability to allow an external AI to both tune the profiles
for specific plants and dynamically change modulation definitions to address dynamic plant conditions. The AI resides within
an external Profile Management Application (PMA).
Upstream External PMA with SNMP/TFTP
Starting with Cisco IOS XE Dublin 17.12.1x, US-PMA is supported with SNMP/TFTP.PMA uses the SNMP PNM MIB to probe the OFDMA
channel and generate OSSI RxMER formatted files to a TFTP server.
Use the cable upstream ofdma-prof-mgmt snmp pnm-rxmer-intercept command to generate a TFTP file from the current profile-mgmt RxMER data. When enabled, SNMP PNM probe requests returns the
existing channel RxMER data, avoiding additional probe overhead on the channel.
The PMA retrieves RxMER data from the TFTP server to generate OFDMA mini-slot bit-loading (MSBL) overrides. The PMA sets MSBL
overrides using Exec CLI commands and commits.
Operation Method
The following steps describe the Operation Method for configuring PMA.
-
Configure the cBR-8 router with baseline OFDMA channel profiles.
-
The cBR-8 router US prof-mgmt performs RxMER probing and IUC selection.
-
PMA triggers RxMER probe via SNMP MIB - docsPnmCmtsUsOfdmaRxMerTable.
-
The cBR-8 router initiates RxMER probe request (or optionally retrieves the latest RxMER data from profile selection).
-
The cBR-8 router's TFTP RxMER data is sent to the destination server.
-
PMA back end reads RxMER data from files on the TFTP server.
-
PMA computes the optimal OFDMA channel profile MSBL overrides.
-
PMA sets MSBL overrides in cBR-8 using Exec CLI commands.
-
The cBR-8 router updates DOCSIS UCD MMMs to communicate new profile content to RPDs and modems.
-
The cBR-8 router profile-mgmt performs RxMER probing and IUC selection (ongoing) to move modems to new optimal IUC profiles.
Upstream External PMA with Kafka
Starting with Cisco IOS XE Dublin 17.12.1y, US-PMA is supported with Apache Kafka. Apache Kafka is an open-source distributed
event streaming platform. Kafka supports a producer/broker/consumer model where the cBR-8 acts as the producer and the external
PMA is the consumer. A Kafka broker (or broker cluster) runs on an external server in the network and provides reception of
events that are published from the cBR-8, persistent storage for events and delivery of event data to consumers.
The cBR-8 publishes US RxMER events on Kafka automatically based on the OFDMA profile-mgmt configured interval. The event
publish rate can be down-sampled using the publish-rate configuration option. The PMA Kafka consumer receives US RxMER events to generate OFDMA MSBL overrides. PMA sets MSBL overrides
with Exec CLIs and commits.
The cBR-8 publishes OFDMA-Status events on Kafka at boot-up and after a channel configuration or a state change happens. PMA
consumer uses OFDMA-status events to identify channel configuration and track the channel upstream status.
The following example shows how to configure upstream external PMA with Kafka.
-
Configure US-PMA feature.
cable upstream pma external
-
Configure the Cable Telemetry Services.
cable telemetry enable
-
Configure the US-RxMER Topic with event publish rate.
cable telemetry topic us-rxmer publish-rate 1
-
Configure the OFDMA-Status Topic.
cable telemetry topic ofdma-status
-
Configure the Kafka Broker
cable telemetry broker kafka-broker
bootstrap-servers 1.2.2.251
topic us-rxmer
topic ofdma-status
cable telemetry broker kafka-broker-2
bootstrap-servers 1.2.2.252
topic us-rxmer
Kafka Broker Connection
The Kafka broker must be specified by IPv4 address using the bootstrap-servers command:
cable telemetry broker kafka-broker
bootstrap-servers 1.2.0.150:9092
The following Kafka Broker configuration is required in server.properties when starting the server.
[root@kafka-server config]#bin/kafka-server-start.sh config/server.properties
# Listener name, hostname and port the broker will advertise to clients.
# If not set, it uses the value for "listeners". advertised.listeners=PLAINTEXT://1.2.0.150:9092
Kafka US-RxMER Telemetry Event
cBR-8 Telemetry events are published on Kakfa using Google Protocol Buffer (GPB) message format. GPB is a language-neutral,
platform-neutral, extensible mechanism for serializing structured data.
Here are the details of the Cisco Telemetry GPB file:
Here is a sample GBP .proto file for the US-RxMER event:
/*
*
* file: cisco_cable_telemetry.proto
*
* Upstream MER Telemetry and channel stats, Google Proto Buff format
*
* Copyright (c) 2022-2024 by Cisco Systems, Inc.
* All rights reserved.
*/
syntax = "proto3";
package cisco_cable_telemetry;
message OssiPnmUsRxMer {
uint32 file_type = 1;
uint32 major_ver = 2;
uint32 minor_ver = 3;
uint32 capture_time = 4;
uint32 if_index = 5;
string ccap_id = 6;
bytes rpd_id = 7;
uint32 rpd_port_num = 8;
bytes cm_mac_addr = 9;
uint32 number_of_averages = 10;
uint32 preeq_on_off = 11;
uint32 subcarrier_zero_center_freq = 12;
uint32 first_active_subcarrier_index = 13;
uint32 subcarrier_spacing_in_khz = 14;
uint32 rx_mer_byte_len = 15;
bytes rx_mer_data = 16;
}
message PmaUsRxMerHdr {
uint32 version = 1;
uint32 slot = 2;
uint32 ctrlr = 3;
uint32 us_channel = 4;
uint32 mac_domain = 5;
uint32 ucid = 6;
uint32 ucd_cc = 7;
uint64 total_cws = 8;
uint64 good_cws = 9;
uint64 corr_cws = 10;
uint64 uncorr_cws = 11;
}
message PmaUsRxMer {
PmaUsRxMerHdr header = 1;
OssiPnmUsRxMer ossi = 2;
}
Here is a sample GBP .proto file for the OFDMA-Status event:
/*
*
* file: cisco_docsis_ofdma_status.proto
*
* DOCSIS 3.1 OFDMA channel config and status, Google Proto Buff format
*
* Copyright (c) 2023 by Cisco Systems, Inc.
* All rights reserved.
*/
syntax = "proto3";
package cisco_docsis_ofdma_channel;
/* OFDMA channel state. */
enum OfdmaState {
OFDMA_STATE_UNSPECIFIED = 0; // reject stage and commit
OFDMA_STATE_ADMIN_DOWN = 1; // accept stage , reject commit
OFDMA_STATE_ADMIN_UP_OPER_DOWN = 2; // accept stage and commit
OFDMA_STATE_OPER_UP = 3;
}
/* LCHA status */
enum LchaStatus {
LCHA_STATUS_UNSPECIFIED = 0;
LCHA_STATUS_PRIMARY_ACTIVE = 1;
LCHA_STATUS_SECONDARY_ACTIVE = 2;
}
/* See MULPI Spec table "Channel TLV Parameters" TLV 28 */
enum SubcarrierSpacing {
SC_SPACING_UNSPECIFIED = 0;
SC_SPACING_25KHZ = 1;
SC_SPACING_50KHZ = 2;
}
message SubcarrierBand {
uint32 sc_start = 1;
uint32 sc_end = 2;
}
message MinislotGroup {
uint32 sc_start = 1;
uint32 minislot_start = 2;
// Modulation bitload range: {0-12}
// Ref: Cablelabs MULPI spec UCD TLV 21 Table:
uint32 modulation_bitload = 3;
// Pilot Pattern Range: {1-14}
// Ref: Cablelabs MULPI spec table
uint32 pilot_pattern = 4;
uint32 consecutive_minislots = 5;
}
message IucBurstProfile {
uint32 iuc = 1;
repeated MinislotGroup minislot_groups = 2;
}
message PmaOfdmaStatus {
uint32 major_ver = 1;
uint32 minor_ver = 2;
uint32 reporting_time = 3;
uint32 if_index = 4;
string ccap_id = 5;
uint32 slot = 6; // primary slot
uint32 ctrlr = 7;
uint32 us_channel = 8;
uint32 mac_domain = 9;
uint32 ucid = 10; // 1-based ucid
OfdmaState ofdma_state = 11;
LchaStatus lcha_status = 12;
SubcarrierSpacing sc_spacing = 13;
uint32 sc_0_center_freq_hz = 14;
repeated SubcarrierBand sc_exclusion_bands = 15;
repeated SubcarrierBand sc_unused_bands = 16;
repeated IucBurstProfile base_iuc_burst_profiles = 17;
repeated IucBurstProfile current_iuc_burst_profiles = 18;
}
US-PMA with Kafka Telemetry Summary
-
cBR-8 publishes US RxMER data automatically based on OFDMA prof-mgmt configured interval. Publish rate can be down-sampled
using the configured publish-rate option.
-
PMA consumer receives US RxMER data to generate OFDMA MSBL overrides.
-
PMA sets MSBL overrides with Exec CLIs and commits.
US-PMA Configuration Commands
Upstream PMA configuration commands can be grouped into three areas:
-
PMA configuration control for MSBL overrides
-
PMA configuration when using SNMP/TFTP
-
PMA configuration when using Kafka
Table 15. US-PMA Configuration Commands for MSBL Overrides
Command
|
Description
|
[no] cable pma upstream external
|
Global level config to enable PMA control.
The default is no cable pma upstream external
Enables MSBL override Exec CLI support.
On no cable pma upstream external all , PMA band overrides are removed.
|
[no] cable pma upstream commit-action [recalculate | wait]
|
Configures an action for the cBR-8 to take when the PMA commits the MSBL overrides for an OFDMA channel.
Recalculate – Causes the cBR-8 to recalculate the recommended IUC for each modem using the OFDMA channel with the newly committed MSBL
override data IUCs. Modems that have a new recommended IUC are automatically activated on the new IUC immediately using a
DBC-REQ message. The OFDMA prof-mgmt interval is unaffected by this DBC-REQ.
Wait - Causes the cBR-8 to wait until the next OFDMA prog-mgmt interval, and therefore new RxMER data, before recalculating the
recommended IUC for each modem using the OFDMA channel with the recently committed MSBL override data IUCs.
Default is cable pma upstream commit-action recalculate . This may result in an immediate change to the modem's active data IUC. Upstream profile management will again reevaluate
the recommended IUC at the next regular profile management interval.
|
[no] cable pma upstream clear-action [recalculate | wait]
|
Configures an action for the cBR-8 to take when the PMA clears the MSBL overrides for an OFDMA channel.
Recalculate – causes the cBR-8 to recalculate the recommended IUC for each modem using the OFDMA channel with the baseline data IUCs.
Modems that have a new recommended IUC are activated on the new IUC immediately using a DBC-REQ message. The OFDMA prof-mgmt
interval is unaffected by this DBC-REQ.
Wait – causes the cBR-8 to wait until the next OFDMA prog-mgmt interval, and therefore new RxMER data, before recalculating the
recommended IUC for each modem using the OFDMA channel with the baseline data IUCs.
Default is cable pma upstream clear-action recalculate . This may result in an immediate change to the modems active data IUC. Upstream profile management again reevaluates the
recommended IUC at the next regular profile management interval.
|
Table 16. US-PMA Configuration Commands for SNMP/TFTP
Command
|
Description
|
[no] cable upstream ofdma-prof-mgmt snmp pnm-rxmer-intercept
|
Enable docsPnmCmtsUsOfdmaRxMerTable to retrieve RxMER from the profile selection cache instead of triggering new probe measurement
on OFDMA channel. Enabling this option saves measurement overhead on the OFDMA channel by using measurements that are already
collected.
Disabled by default.
|
[no] snmp-server enable traps cable ofdma-cfg-change
|
Enable SNMP trap to be sent when OFDMA channel configuration parameter is changed, such as frequency, subcarrier spacing,
modulation profile or data-iuc override change, or channel shutdown.
Disabled by default.
|
[no] cable kman tftp quarantine [timeout <5-1440>]
|
Provides the option to globally enable/disable the TFTP quarantine feature. It also allows to optionally configure the timeout
in minutes for the entries in the quarantine database.
The feature is enabled by default and the default timeout is 15 minutes.
|
Table 17. US-PMA Configuration Commands for Kafka
Command
|
Description
|
[no]cable telemetry enable
|
Enables the cBR-8 Telemetry event publication services using Kafka.
The default is no cable telemetry enable .
|
[no] cable telemetry topic us-rxmer publish-rate <count>
|
Enables the us-rxmer topic publishing and defines the rate at which per-modem RxMER data is published to the Kafka Broker.
The default config is no cable telemetry topic us-rxmer
publish-rate <count>: down samples before publishing. "publish every Nth RxMER probe"
Example 1:
Profile management RxMER interval 5 minutes.
Desired us-rxmer publish rate 4 hours.
cable telemetry topic us-rxmer publish-rate 48
Example 2:
Profile management RxMER interval 30 minutes.
Desired us-rxmer publish rate 1 hour.
cable telemetry topic us-rxmer publish-rate 2
|
[no] cable telemetry topic ofdma-status
|
Enables the publishing of OFDMA channel status events to the Kafka Broker for each OFDMA channel. The default configuration
is no cable telemetry topic ofdma-status
Example:
cable telemetry topic ofdma-status
|
[no] cable telemetry broker <broker-name>
|
Enters the config-cable-telemetry-broker CLI sub-mode to configure the Kafka broker information. The broker-name can be any descriptive ascii string uniquely identifying
the broker. A maximum of 2 brokers/broker-clusters can be configured.
The default configuration is no cable telemetry broker
|
bootstrap-servers <string>
|
A config-cable-telemetry-brokersub-modecommand used to configure the Kafka broker host-port information for this broker/broker-cluster.
<string> format is a comma-separated list of host1:port1,host2:port2,…
The host must be an IPv4 address.
For Kafka broker cluster support, multiple hosts should be configured.
Example: bootstrap-servers 1.2.2.250:9092,1.2.2.252:29092 The default configuration is no bootstrap-servers. |
topic us-rxmer
|
A config-cable-telemetry-broker sub-mode command that is used to enable the US RxMER topic publishing to this broker.
The default configuration is no topic us-rxmer.
|
topic ofdma-status
|
A config-cable-telemetry-broker sub-mode command that is used to enable the OFDMA-status topic publishing to this broker.
The default configuration is no topic ofdma-status.
|
US-PMA Telemetry Using Kafka - Sample Configuration
cable telemetry enable
cable telemetry topic us-rxmer publish-rate 1
cable telemetry topic ofdma-status
cable telemetry broker kafka-broker
bootstrap-address 1.2.2.252
topic us-rxmer
topic ofdma-status
cable telemetry broker bxb-cluster
bootstrap-address 1.2.2.253,1.2.2.254
topic us-rxmer
topic ofdma-status
US-PMA MSBL Override Exec Commands
The external PMA processes RxMER data to calculate MSBL overrides to improve the OFDMA channel performance. Data-IUCs mini-slot
modulation values will be adjusted by the PMA to deliver increased throughput, reduced codeword errors, better stability,
and quicker response to dynamic changes in channel conditions. To accomplish this, the PMA uses the Exec CLIs below.
PMA MSBL Operation MethodThe following steps describe the Operation Method for a PMA to override the MSBL values.
-
Stage MSBL overrides for each OFDMA channel, for each Data-IUC.
Using the cable pma upstream mod-override … data-iuc … mslot … modulation command, MSBL overrides should be applied across mini-slot ranges to minimize CLI execution. It is not a requirement to set
all mini-slot bit-loading values. Any unset values will remain at their configured baseline modulation value. Note: If the
PMA overrides an Data-IUC that is unconfigured in the baseline config, the starting mini-slot modulation is NONE (zero bit-loaded).
-
Commit the MSBL Overrides.
Using the cable pma upstream mod-override … commit all command.
-
Depending upon the configured commit-action, modems will begin to utilize the new MSBL override data-IUCs either immediately
(recalculate commit-action), or at their next profile-mgmt interval (wait commit-action).
Table 18. US-PMA MSBL Override Exec Commands
Command
|
Description
|
cable pma upstream mod-override <controller ... | ifIndex ...> data-iuc <iuc> mslot <ms_start> <ms_end> modulation <msbl-qam>
[pilot-pattern <1-14>]
|
Add OFDMA IUC MSBL overrides to the staged area.
This command is only available when cable upstream pma external is configured. An error is returned if not configured - %PMA-US-FAIL: 'cable pma upstream external' is not configured!
Upon success, the cBR-8 echoes the command and respond with - %PMA-US-SUCCESS
The PMA should wait for the response from each command before proceeding to issue subsequent MSBL override commands. A subsequent
MSBL override command can overwrite the previous one if there is overlap.
The OFDMA channel may be referenced using either the controller or ifIndex:
Data-IUC may be specified as one of:
10 Data IUC type 10
11 Data IUC type 11
12 Data IUC type 12
13 Data IUC type 13
5 Data IUC type 5
6 Data IUC type 6
9 Data IUC type 9
The PMA is allowed to specify an IUC that is not configured in the cBR-8 base configuration. In this case, any mini-slots
not set remain at ZERO bit-loading.
Mini-slot range must be valid for the current OFDMA channel configuration.
Modulation override values:
NONE ZERO bit-loading
QPSK QPSK
8-QAM 8-QAM
16-QAM 16-QAM
32-QAM 32-QAM
64-QAM 64-QAM
128-QAM 128-QAM
256-QAM 256-QAM
512-QAM 512-QAM
1024-QAM 1024-QAM
2048-QAM 2048-QAM
Pilot-Pattern may be optionally specified. If not specified, the pilot pattern remains at the current setting. If no pilot
pattern is specified in the base config, the lowest pilot pattern is chosen.
|
cable pma upstream mod-override <controller ... | ifIndex ...> commit all
|
Commits the staged MSBL overrides on the channel for all IUCs, causing them to take effect on the OFDMA channel with a single
UCD change.
|
cable pma upstream mod-override <controller ... | ifIndex ...> clear <committed | staged | all>
cable pma upstream mod-override clear all
|
Removes the MSBL overrides that have been applied by the PMA. The
Staged – removes any PMA MSBL overrides that have been applied, but not yet committed. This returns the channel to a state where
there are no pending overrides. This does not affect the committed overrides currently in effect on the channel.
Committed – removes any PMA overrides that have been committed. The OFDMA channel is restored to use the configured baseline OFDMA
profile. Clearing the committed overrides does not affect any staged overrides.
All – removes the staged and committed MSBL overrides that have been applied by the PMA from all line cards in the system
This command returns the system to its clean state when no PMA has applied to any channel. This is the only exec CLI allowed when the secondary line card is active.
|
cable pma upstream mod-override <controller ... | ifIndex ...> clear counters
|
Reset the US PMA exec command countersand last action timestamp from the specified OFDMA channel.
This does not affect any staged or committed MSBL overrides.
|
Baseline OFDMA channel configuration.
cable mod-profile-ofdma 489
subcarrier-spacing 25KHz
initial-rng-subcarrier 32
fine-rng-subcarrier 192
data-iuc 5 modulation 2048-QAM pilot-pattern 8
data-iuc 6 modulation 1024-QAM pilot-pattern 8
data-iuc 9 modulation 512-QAM pilot-pattern 8
data-iuc 10 modulation 256-QAM pilot-pattern 8
data-iuc 11 modulation 128-QAM pilot-pattern 8
data-iuc 12 modulation 64-QAM pilot-pattern 8
data-iuc 13 modulation 16-QAM pilot-pattern 8
PMA Control Exec CLIs' Example – MSBL override.
Router# cable pma upstream mod-override controller upstream-cable 9/0/0 us-channel
12 data-iuc 5 mslot 30 59 modulation 1024 pilot-pattern 11
Router# cable pma u mod con up 9/0/0 u 12 d 5 m 90 109 m 1024
Router# cable pma u mod con up 9/0/0 u 12 d 9 m 90 133 m 256 p 10
Router# cable pma u mod con up 9/0/0 u 12 d 10 m 70 79 m 128
Router# cable pma u mod con up 9/0/0 u 12 d 11 m 60 89 m 32 p 10
Router# cable pma u mod con up 9/0/0 u 12 d 12 m 60 89 m NONE
Router# cable pma u mod con up 9/0/0 u 12 commit all
PMA set default modulation with two bands overrides.
Router# cable pma upstream mod-override controller upstream-cable 9/0/0
us-channel 12 data-iuc 5 mslot 0 236 modulation 1024 pilot-pattern 11
Router# cable pma u mod con up 9/0/0 u 12 d 5 m 24 78 m 2048
Router# cable pma u mod con up 9/0/0 u 12 d 5 m 144 202 m 2048
Router# cable pma u mod con up 9/0/0 u 12 commit all
PMA updates band override.
Router# cable pma u mod con up 9/0/0 u 12 d 5 m 135 143 m 2048 p 10
Router# cable pma u mod con up 9/0/0 u 12 commit all
Note
|
New overrides are relative to the current committed bit-loading.
|
PMA reset to baseline then override
Router# cable pma u mod con up 9/0/0 u 12 clear committed all
Router# cable pma u mod con up 9/0/0 u 12 d 5 m 122 206 m 2048 p 11
Router# cable pma u mod con up 9/0/0 u 12 commit all
Note
|
New overrides are relative to the baseline configured bit-loading.
|
PMA Control Exec CLI Response
The cBR-8 router responds to MSBL override and commit Exec CLIs with success or failure.
router# cable pma upstream mod-override controller upstream-cable 9/0/0
us-channel 12 data-iuc 5 mslot 144 202 modulation 2048-QAM pilot-pattern 11
%PMA-US-SUCCESS (LC9): <cable pma upstream mod-override controller upstream-cable 9/0/0 us-channel 12 data-iuc 5 mslot 144 202 modulation 2048-QAM
pilot-pattern 11> successful.
router# cable pma u mod con up 9/0/0 u 12 commit all
%PMA-US-SUCCESS (LC9): <cable pma u mod con up 9/0/0 u 12 commit all> successful.
PMA must wait for a response or prompt before issuing the next command (synchronous).
Failure contains a reason string.
Router# cable pma u mod con up 9/0/0 us 12 d 5 m 25 30 m 512
%PMA-US-FAIL (LC9): reason <Invalid mslot range> for <cable pma u mod con up 9/0/0 us 12 d 5 m 25 30 m 512>
Table 19. PMA Control Exec CLI Failure Response
%PMA-US-FAIL reason <>
|
Command failed to run
|
%PMA-US-FAIL reason <> |
Command failed to run |
line card not ready |
line card is not up yet, none of USPMA CLI can be run |
Channel invalid |
Can’t find the channel |
Channel not OFDMA |
Channel is not OFDMA |
Channel admin state not UP |
Channel admin state is DOWN, no staging or commit commands can be run on admin DOWN channel |
Channel state not UP |
Channel operational state is DOWN, staging command can be run but commit command can’t be run. |
Invalid IUC |
Data IUC is not valid, should not happen as only valid IUC is allowed with syntax check |
Invalid mslot range |
Minislot range is out of OFDMA channel minislot range |
Invalid pilot pattern |
The pilot pattern doesn’t match with channel supported pilot pattern, either mismatch with subcarrier spacing or mismatch
with existing boosted/non-boosted pilot pattern
|
Too many modulation group |
The override makes the burst profile too segmented that exceed 126 modulation groups limit on certain IUC per MULPI spec |
Memory alloc failure |
Internal memory allocation failure |
USPMA not allowed when LCHA secondary LC is active |
Command not allowed when LCHA in progress and secondary LC is active |
PMA Control Exec CLI Notice
Upon OFDMA channel frequency, subcarrier spacing, modulation profile or data-iuc override change, or any configuration change
in the modulation profile, all the PMA override is cleared on the channel.
Router# cable upstream controller-profile 10
us-channel 12 subcarrier-spacing 25KHz
us-channel 12 modulation-profile 489
us-channel 12 frequency-range 75000000 85000000
us-channel 12 data-iuc 5 band 80000000 82000000 modulation 1024-QAM pilot-pattern 11
cable mod-profile-ofdma 48
After PMA override is cleared due to channel configuration change, notification a string is shown on the console when next Exec CLI is entered.
Router# cable pma upstream mod-override controller upstream-cable 9/0/0
us-channel 12 data-iuc 5 mslot 144 202 modulation 2048-QAM pilot-pattern 1
%PMA-US-NOTICE (SUP): Previously configured override config has been cleared on this channel due to modulation profile/freq/subcarrier change
by the user. This command run on top of this channel baseline config.
%PMA-US-SUCCESS (LC9): <cable pma upstream mod-override controller upstream-cable 9/0/0 us-channel 12 data-iuc 5 mslot 144 202 modulation 2048-QAM
pilot-pattern 11> successful.
Operations That Clear the PMA Override
MSBL overrides clear Exec CLIs.
cable pma upstream mod-override <controller ... | ifIndex ...> clear <committed | staged> all
cable pma upstream mod-override clear all
OFDMA channel frequency, subcarrier spacing, modulation profile or data-iuc override change, or any configuration change in
the modulation profile.
Disable/Enable the PMA feature [no] cable pma upstream external .
Line Card reloading/rebooting without LCHA. PMA Override is preserved after LCHA switchover and revert.
US-PMA Integration Notes
-
All OFDMA data-iuc’s (5, 6, 9, 10, 11, 12, 13) may be overridden, regardless of their state in the baseline config.
-
Minislots that are not overridden or defined in the baseline config default to zero bit-loading.
-
If you must remove an IUC present in the baseline config, the PMA may override the data-iuc with all zero bit-loading. This
is an option for IUCs not present in the baseline config as well if a simple common mode of operation for IUC removal is needed.
-
The clear committed all command removes all data-iuc overrides and update the UCD to baseline.
UCD Message Size Restriction
-
DOCSIS MULPI Spec allows every data IUC to have up to 126 modulation groups after PMA override – that is only 1 or 2 consecutive
minislots sharing the same modulation/pilot pattern on average.
-
•When all 7 data IUCs are overridden to the maximum number of modulation groups, the UCD message is close to 2000 bytes. 7*126
= 882 modulation groups + around 8 total exclusion bands and unused bands.
-
Currently the system supports the OFDMA channel UCD message up to 1515 bytes.
-
A total of 600 modulation groups are supported across all 7 data IUCs.
-
Example override: leave IUC13 not overridden and less than 100 modulation groups each on other 6 data IUCs.
-
The restriction is enforced at the US PMA stage command time.
US-PMA MSBL Override Show Commands
Table 20. US-PMA MSBL Override Show Commands
Command
|
Description
|
show cable pma upstream <controller ... | ifIndex … | interface … > [base | staged | committed | stats | all | mslot-sc-mapping
| sc-mslot-mapping]
|
Provides visibility to the current state of the MSBL overrides as applied by the PMA on the per channel level.
The channel can be specified by US controller channel, MD interface US channel or ifIndex channel.
Baseline configuration, Staged and Committed overrides can be viewed, as well as the baseline and staged preview and committed
data IUC burst profile.
Performance data from PMA override can be shown from stats.
Minislot to subcarrier and subcarrier to minislot mappings are available to be shown as well.
|
show cable pma upstream <slot>/<subslot> [base | staged | committed | stats | all | summary [total] ]
|
Provides visibility to the current state of the MSBL overrides as applied by the PMA on the per line card level. Display all
the channels on this line card slot that PMA has been applied.
Summary output provides the commands counters and last timestamp of the commands on this line card.
|
show cable pma upstream [base | staged | committed | stats | all | summary [total]]
|
Provides visibility to the current state of the MSBL overrides as applied by the PMA on the system. Displays all the channels
on the system that PMA has been applied.
Summary output provides the commands counters and last timestamp of the commands on the system.
|
show cable pma ups statsrouter#show cable pma ups interf ca2/0/0 up 6 stats
====== Ca2/0/0/U6, UC2/0/0:U12, ifIndex:490350 ======
IUC : 5 6 9 10 11 12 13
--------------------------------------------------------------------------------------
Total FEC CWs :5369 33 0 0 0 0 253
Corr FEC CWs :3631 21 0 0 0 0 0
Uncorr FEC CWs :0 0 0 0 0 0 0
Uncorr CWs% :0.0 0.0 0.0 0.0 0.0 0.0 0.0
TrafficRxMer(DB):30.50 15.75 0.0 0.0 0.0 0.0 24.0
Total Modems :0 4 0 0 0 0 4
Base Rate(Mbps) :104.51 94.98 85.45 75.93 66.40 56.87 37.89
Committed Mods :512-QAM~1024-QAM 1024-QAM 512-QAM 256-QAM 256-QAM~1024-QAM 64-QAM 16-QAM
PMA Commit(Mbps):96.77 94.98 85.45 75.93 97.13 56.87 37.89
PMA Staged(Mbps):0.0 0.0 0.0 93.57 0.0 0.0 0.0
PMA Status flags: Config Type - EXT Commit-Action - RECALC Clear-Action - RECALC Staged
- 0x8 Committed - 0x11 Cleared-by-config - FALSE
PMA Last Staged Timestamp : Nov 1 12:03:07
PMA Last Committed Timestamp : Nov 1 12:03:03
PMA Last Clear by CLI Timestamp : -
PMA Last Clear by Config Timestamp : -
PMA Exec commands counters:
Staged | Committed | Clear
good fail clear |good fail clear |by-config fail
5 0 0 1 0 0 0 0
show cable pma ups summary
router#show cable pma upstream summary
PMA Exec commands summary:
OFDMA | Staged | Committed | Clear |....
Channel |good fail clear |good fail clear |by-ch-cfg fail |....
---------------------------------------------------------------------....
UC2/0/0:U12 5 0 0 1 0 0 0 0 |....
Total (LC2): 5 0 0 1 0 0 0 0 |....
....
UC9/0/0:U13 8 1 0 0 0 0 1 0 |....
Total (LC9): 8 1 0 0 0 0 1 0 |....
router#show cable pma upstream summary total
PMA Exec commands summary:
OFDMA | Staged | Committed | Clear |....
Channel |good fail clear |good fail clear |by-ch-cfg fail |....
---------------------------------------------------------------------....
Total (LC2): 5 0 0 1 0 0 0 0 |....
Total (LC9): 8 1 0 0 0 0 1 0 |....
Continuation of the output:
router#show cable pma upstream summary
PMA Exec commands summary:
....| Last-timestamp
....| staged committed clear-by-cli clear-by-ch-cfg
---------------------------------------------------------------------------
....| Nov 1 12:03:07 Nov 1 12:03:03 - -
....| Nov 1 12:03:07 Nov 1 12:03:03 - -
....
....| Nov 1 12:08:27 - - Nov 1 11:50:31
....| Nov 1 12:08:27 - - Nov 1 11:50:31
router#show cable pma upstream summary total
PMA Exec commands summary:
....| Last-timestamp
....| staged committed clear-by-cli clear-by-ch-cfg
---------------------------------------------------------------------------
....| Nov 1 12:03:07 Nov 1 12:03:03 - -
....| Nov 1 12:08:27 - - Nov 1 11:50:31
US-PMA RxMer TFTP
The new version 2 RxMer TFTP file header formats with the following new fields are supported:
-
RPD ID (MAC Address)
-
RPD Port Number
Table 21. Show Commands
Command
|
Description
|
show platform software kman R0 stats [listener | pnm | tftp | telemetry ]
|
Provides visibility into the statistics that are maintained in kman for different components that are listed in the options.
|
show platform software kman R0 tftp quarantine
|
Provides visibility into the Kman Pnm TFTP quarantine database.
It lists the TFTP servers and the associated paths that have been quarantined by the Kman TFTP due to unfavorable conditions
and lists the time remaining for each entry in the quarantine database.
|
US-PMA Show Commands
Router# show platform software kman RP active stats tftp
TFTP Client Stats
---------------------------------
TFTP Total Sessions : 0
TFTP Xfer Success : 0
TFTP Xfer Failure : 0
TFTP Server Err : 0
TFTP WRQ Send Err : 0
TFTP WRQ Rsp Timeout : 0
TFTP DAT Send Err : 0
TFTP DAT Rsp Timeout : 0
Router# show platform software kman R0 stats telemetry
PMA RxMER Telemetry
---------------------------------
PMA RxMER Tx Success : 2218
PMA RxMER Tx Failure : 0
OFDMA Status Telemetry
---------------------------------
OFDMA Status Tx Success : 10
OFDMA Status Tx Failure : 0
router#show platform software kman R0 tftp quarantine
KMAN TFTP Feature Info:
Tftp Qdb Enable : enabled
Tftp Qdb Timeout(mins) : 15
KMAN TFTP Quarantine List:
Tftp Server Time Remaining(min) Tftp Path
---------------------------------------------------------
Table 22. PMA Control Exec CLI Failure Response
Command
|
Description
|
show cable kman config |
Displays local config settings relevant to IOSd-SUP and IOSd-CLC |
show platform software kman R0 config |
Displays config settings relevant to KMAN binos process |
show cable telemetry brokers |
Displays broker information in IOSd-SUP |
show platform software kman R0 kafka brokers |
Displays broker information from KMAN process |
show platform software kman R0 kafka topics |
Displays kafka topics that are supported by KMAN |
show platform software kman R0 kafka stats |
Displays statistics for kafka publishing
|
show platform software kman R0 ipccl |
Displays ipccl information that is supported by KMAN |
Table 23. Enable Commands
Command
|
Description
|
cable telemetry enable
|
To Enable Kafka telemetry.
|
cable snmp pnm enable
|
To enable kman which is by default disabled, for both the Kafka and SNMP with TFTP.
|
router#show cable kman config
KMAN global settings:
IP Address : 10.2.0.1
Telemetry Enable : enabled
PNM Enable : enabled
CCAP-ID : snowleopard
Tftp Qdb Enable : enabled
Qdb timeout(mins) : 15
KMAN Topics:
US-RxMER : enabled
publish-rate : 1
snowleopard#show platform software kman R0 kafka broker
Broker: bxb-kafka-01
Bootstrap.Servers : 1.2.2.251
Broker State: UP
router# show platform software kman R0 kafka stats
Broker: bxb-kafka-01
Node Names: 1.2.2.251:9092
State: UP
Tx Packets : 2409
Tx Bytes : 2758075
Tx Retry : 0
Rx Packets : 2409
Rx Bytes : 214497
Cur Outq Len : 0
Max Outq Len : 8
Topic Prod Msg Prod bytes Tx Msgs Tx Msg bytes Err Msgs
-------- -------- ---------- ------- ------------ --------
us-rxmer 2227 2240687 2226 2239236 0
router# show platform software kman R0 kafka stats
Broker: bxb-kafka-01
Node Names: 1.2.2.251:9092
State: UP
Tx Packets : 2409
Tx Bytes : 2758075
Tx Retry : 0
Rx Packets : 2409
Rx Bytes : 214497
Cur Outq Len : 0
Max Outq Len : 8
Topic Prod Msg Prod bytes Tx Msgs Tx Msg bytes Err Msgs
-------- -------- ---------- ------- ------------ --------
us-rxmer 2227 2240687 2226 2239236 0
Router# show platform hardware qfp active feature docsis clc-pkt-punt [clear]
Stats for CLC Packets Punted to KMAN
PNM
RxMER : 0
UTSC : 0
AQProbe: 0
Telemetry
RxMER : 70
Unknown: 0
US-PMA SNMP
docsPnmCmts UsOfdmaRxMerTable
PMA uses this MIB table to trigger RxMer measurements which is sent to the TFTP server.
DocsPnmCmtsUsOfdmaRxMerEntry.[OFDMA channel ifIndex]
docsPnmCmtsUsOfdmaRxMerEnable,
docsPnmCmtsUsOfdmaRxMerCmMac,
docsPnmCmtsUsOfdmaRxMerPreEq,
docsPnmCmtsUsOfdmaRxMerNumAvgs,
docsPnmCmtsUsOfdmaRxMerMeasStatus,
docsPnmCmtsUsOfdmaRxMerFileName,
Option is available to avoid probe measurement and send most recent measurement that is collected by profile selection instead.
The following command can be optionally configured.
cable upstream ofdma-prof-mgmt snmp pnm-rxmer-intercept
The above command generates a TFTP file with current profile-mgmt RxMER data. If enabled, avoids additional probe on channel,
reducing probe overhead on channel.
OFDMA Configuration Change Trap
A SNMP trap is added to notify the user that OFDMA channel frequency, subcarrier spacing, modulation profile or data-iuc
override change, channel shutdown, or any configuration change has occurred. Configuration to enable/disable the SNMP trap
for OFDMA configuration change is as follows:
config terminal
[no] snmp-server enable traps cable ofdma-cfg-change
end
Default setting is OFDMA Config Change trap disabled. The traps are generated immediately after the OFDMA configuration changes.
The OFDMA Configuration Change Trap is the linkDown and linkUp SNMP traps (snmpTraps.4, snmpTraps.3) with localIfReason string OFDMA Configuration Change, and the OFDMA channel interface descriptor, Example:
Community: public
From: 8.5.1.1
sysUpTimeInstance = 22:29:05.18
snmpTrapOID.0 = linkUp
ifIndex.501918 = 501918
ifDescr.501918 = Cable9/0/1-upstream6
ifType.501918 = 278
locIfReason.501918 = OFDMA Configuration Change
ifAdminStatus.501918 = up(1)
ifOperStatus.501918 = up(1)
Trap linkDown or linkUp is based on the OFDMA channel operational status.
SNMP MIBs of interest for PMA
docsIf31CmtsUsOfdmaDataIucStatsEntry OBJECT-TYPE
SYNTAX DocsIf31CmtsUsOfdmaDataIucStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The conceptual row of docsIf31CmtsUsOfdmaDataIucStatsTable.
An instance exists for each Data IUC profile on a given US OFDMA channel."
INDEX {
ifIndex,
docsIf31CmtsUsOfdmaDataIucStatsDataIuc
} ::= { docsIf31CmtsUsOfdmaDataIucStatsTable 1 }
DocsIf31CmtsUsOfdmaDataIucStatsEntry ::= SEQUENCE
{
docsIf31CmtsUsOfdmaDataIucStatsDataIuc Unsigned32,
docsIf31CmtsUsOfdmaDataIucStatsMinislotPilotPattern Unsigned32,
docsIf31CmtsUsOfdmaDataIucStatsMinislotModulation UsOfdmaModulationType,
docsIf31CmtsUsOfdmaDataIucStatsTotalCodewords Counter64,
docsIf31CmtsUsOfdmaDataIucStatsCorrectedCodewords Counter64,
docsIf31CmtsUsOfdmaDataIucStatsUnreliableCodewords Counter64,
docsIf31CmtsUsOfdmaDataIucStatsInOctets Counter64,
docsIf31CmtsUsOfdmaDataIucStatsCtrDiscontinuityTime TimeStamp,
docsIf31CmtsUsOfdmaDataIucStatsAssignedCmCt Unsigned32,
docsIf31CmtsUsOfdmaDataIucStatsIucAverageMer TenthdB
DocsIf31CmUsOfdmaChanEntry ::=
SEQUENCE {
docsIf31CmUsOfdmaChanConfigChangeCt Unsigned32,
docsIf31CmUsOfdmaChanSubcarrierZeroFreq Unsigned32,
docsIf31CmUsOfdmaChanFirstActiveSubcarrierNum Unsigned32,
docsIf31CmUsOfdmaChanLastActiveSubcarrierNum Unsigned32,
docsIf31CmUsOfdmaChanNumActiveSubcarriers Unsigned32,
docsIf31CmUsOfdmaChanSubcarrierSpacing SubcarrierSpacingType,
docsIf31CmUsOfdmaChanCyclicPrefix UsOfdmaCyclicPrefix,
docsIf31CmUsOfdmaChanRollOffPeriod UsOfdmaRollOffPeriod,
docsIf31CmUsOfdmaChanNumSymbolsPerFrame Unsigned32,
docsIf31CmUsOfdmaChanTxPower Unsigned32,
docsIf31CmUsOfdmaChanPreEqEnabled TruthValue,
docsIf31CmUsOfdmaChanChannelId Unsigned32
DocsIf31CmtsUsOfdmaChanEntry ::= SEQUENCE {
docsIf31CmtsUsOfdmaChanTemplateIndex Unsigned32,
docsIf31CmtsUsOfdmaChanConfigChangeCt Unsigned32,
docsIf31CmtsUsOfdmaChanTargetRxPower TenthdBmV,
docsIf31CmtsUsOfdmaChanLowerBdryFreq Unsigned32,
docsIf31CmtsUsOfdmaChanUpperBdryFreq Unsigned32,
docsIf31CmtsUsOfdmaChanSubcarrierSpacing SubcarrierSpacingType,
docsIf31CmtsUsOfdmaChanCyclicPrefix UsOfdmaCyclicPrefix,
docsIf31CmtsUsOfdmaChanNumSymbolsPerFrame Unsigned32,
docsIf31CmtsUsOfdmaChanRollOffPeriod UsOfdmaRollOffPeriod,
docsIf31CmtsUsOfdmaChanPreEqEnable TruthValue,
docsIf31CmtsUsOfdmaChanFineRngGuardband Unsigned32,
docsIf31CmtsUsOfdmaChanFineRngNumSubcarriers Unsigned32,
docsIf31CmtsUsOfdmaChanFineRngPreambleLen Unsigned32,
docsIf31CmtsUsOfdmaChanInitRngGuardband Unsigned32,
docsIf31CmtsUsOfdmaChanInitRngNumSubcarriers Unsigned32,
docsIf31CmtsUsOfdmaChanInitRngPreambleLen Unsigned32,
docsIf31CmtsUsOfdmaChanProvAttribMask AttributeMask,
docsIf31CmtsUsOfdmaChanTxBackoffStart Integer32,
docsIf31CmtsUsOfdmaChanTxBackoffEnd Integer32,
docsIf31CmtsUsOfdmaChanRangingBackoffStart Integer32,
docsIf31CmtsUsOfdmaChanRangingBackoffEnd Integer32,
docsIf31CmtsUsOfdmaChanUtilization Unsigned32,
docsIf31CmtsUsOfdmaChanId Integer32,
docsIf31CmtsUsOfdmaChanSubcarrierZeroFreq Unsigned32,
docsIf31CmtsUsOfdmaChanTargetMapInterval Unsigned32
}
docsIf31CmtsUsOfdmaSubcarrierTypeEntry OBJECT-TYPE
SYNTAX DocsIf31CmtsUsOfdmaSubcarrierTypeEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The conceptual row of docsIf31CmtsUsOfdmaSubcarrierStatusTable.
An instance exists for each Profile on a given OFDMA upstream."
INDEX {
ifIndex,
docsIf31CmtsUsOfdmaSubcarrierTypeStartSubcarrierId
}
::= { docsIf31CmtsUsOfdmaSubcarrierTypeTable 1 }
DocsIf31CmtsUsOfdmaSubcarrierTypeEntry ::=
SEQUENCE {
docsIf31CmtsUsOfdmaSubcarrierTypeStartSubcarrierId Unsigned32,
docsIf31CmtsUsOfdmaSubcarrierTypeEndSubcarrierId Unsigned32,
docsIf31CmtsUsOfdmaSubcarrierTypeSubcarrierType UsOfdmaSubcarrierType
}
Note
|
All OFDMA data-iuc’s (5, 6, 9, 10, 11, 12, 13) may be overridden, regardless of their state in the baseline config.
Minislots that are not overridden and not defined in the baseline config default to zero bit-loading.
If you must remove an IUC present in the baseline config, the PMA may override the data-iuc with all zero bit-loading. This
is an option for IUCs not present in the baseline config as well if a simple common mode of operation for IUC removal is needed.
The clear committed all command removes all data-iuc overrides and updates the UCD to baseline.
|
Kafka Manager (KMAN)
Starting with Cisco IOS XE Dublin 17.12.1x release, a new Binos process was introduced to support Kafka. This process also
services the SNMP PNM TFTP requests replacing the legacy Guestshell PNM TFTP application. In addition to the show commands
mentioned above that refer to “kman”, several system commands are available under the general platform CLIs that provide additional
details about the KMAN process status. Refer to show platform software kman for these commands.
SUPHA and SUPPR
SUPHA
Exec MSBL overrides are maintained across SUPSOs.
KMAN process on the SUP supports SUPSO.
SUPPR
Exec MSBL override is maintained across KMAN PRs.
KMAN process on the SUP supports process restart (PR).
Trigger with test plat soft process exit kman R0 stateless .
TFTP of PNM data continues functioning after KMAN PR completes.
Some in flight RxMer data will be dropped during the process restart.
LCHA and LCPR
LCHA
Exec MSBL overrides is maintained across LCSOs.
TFTP of RxMER continues functioning after the LCSO completes.
Some in flight RxMer data may be dropped during the LCSO.
LCPR
Exec MSBL overrides are maintained across IOSd-CLC and CDMAN PRs.
TFTP of RxMER continues functioning after IOSd-CLC or CDMAN PR completes.
Some in flight RxMer data may be dropped during the process restart.