NAME

DOCSIS::ConfigFile::Syminfo - Symbol information for a DOCSIS config file

DESCRIPTION

This module holds many pre-defined DOCSIS 1.x and 2.0 TLVs. The definitions are used to translate between binary and something that is human readable.

NOTE: DOCSIS 3.0 is also supported, since the main differences is in the physical layer and not the config file.

CONFIGURATION TREE

Here is the complete structure of possible config parameters:

BaselinePrivacy => {
  AuthGraceTime     => uint, # 1..6047999
  AuthRejectTimeout => uint, # 1..600
  AuthTimeout       => uint, # 1..30
  OperTimeout       => uint, # 1..10
  ReAuthTimeout     => uint, # 1..30
  ReKeyTimeout      => uint, # 1..10
  SAMapMaxRetries   => uint, # 0..10
  SAMapWaitTimeout  => uint, # 1..10
  TEKGraceTime      => uint, # 1..302399
},
ClassOfService => {
  ClassID       => str,    # 1..16
  GuaranteedUp  => uint,   # 0..10000000
  MaxBurstUp    => ushort, # 0..65535
  MaxRateDown   => uint,   # 0..52000000
  MaxRateUp     => uint,   # 0..10000000
  PriorityUp    => uchar,  # 0..7
  PrivacyEnable => uchar,  # 0..1
},
CpeMacAddress       => ether, # "aabbccdddeeff"
DocsisTwoEnable     => uchar, # 0..1
DownstreamFrequency => uint,  # 88000000..860000000
DsChannelList       => {
  DefaultScanTimeout => ushort # 0..65535
  DsFreqRange        => {
    DsFreqRangeEnd      => uint,   # 0..4294967295
    DsFreqRangeStart    => uint,   # 0..4294967295
    DsFreqRangeStepSize => uint,   # 0..4294967295
    DsFreqRangeTimeout  => ushort, # 0..65535
  },
  SingleDsChannel => {
    SingleDsFrequency => uint,   # 0..4294967295
    SingleDsTimeout   => ushort, # 0..65535
  },
},
DsPacketClass => {
  ActivationState   => uchar,  # 0..1
  ClassifierId      => ushort, # 1..65535
  ClassifierRef     => uchar,  # 1..255
  DscAction         => uchar,  # 0..2
  IEEE802Classifier => {
    UserPriority => ushort,
    VlanID       => ushort,
  },
  IpPacketClassifier => {
    DstPortEnd   => ushort, # 0..65535
    DstPortStart => ushort, # 0..65535
    IpDstAddr    => ip, # 1.2.3.4
    IpDstMask    => ip, # 1.2.3.4
    IpProto      => ushort, # 0..257
    IpSrcAddr    => ip, # 1.2.3.4
    IpSrcMask    => ip, # 1.2.3.4
    IpTos        => hexstr, # 3..3
    SrcPortEnd   => ushort, # 0..65535
    SrcPortStart => ushort, # 0..65535
  },
},
DsServiceFlow => {
  ActQosParamsTimeout => ushort,  # 0..65535
  AdmQosParamsTimeout => ushort,  # 0..65535
  DsServiceFlowId     => uint,    # 1..4294967295
  DsServiceFlowRef    => ushort,  # 1..65535
  DsVendorSpecific    => {
    id      => ether, # "0x0011ee",
    options => [uchar, hexstr, ... ], # 30, "0xff", ...
  },
  MaxDsLatency        => uint,
  MaxRateSustained    => uint,    # 0..4294967295
  MaxTrafficBurst     => uint,    # 0..4294967295
  MinReservedRate     => uint,    # 0..4294967295
  MinResPacketSize    => ushort,  # 0..65535
  QosParamSetType     => uchar,   # 0..255
  ServiceClassName    => stringz, # 2..16
  TrafficPriority     => uchar,   # 0..7
},
GlobalPrivacyEnable => uchar,    # 0..1
MaxClassifiers      => ushort,
MaxCPE              => uchar,    # 1..254
MfgCVCData          => hexstr,   # 0x308203813082
ModemCapabilities   => {
  BaselinePrivacySupport => uchar, # 0..1
  ConcatenationSupport   => uchar, # 0..1
  DCCSupport             => uchar, # 0..1
  DownstreamSAIDSupport  => uchar, # 0..255
  FragmentationSupport   => uchar, # 0..1
  IGMPSupport            => uchar, # 0..1
  ModemDocsisVersion     => uchar, # 0..2
  PHSSupport             => uchar, # 0..1
  UpstreamSIDSupport     => uchar, # 0..255
},
NetworkAccess      => uchar, # 0..1
PHS                => {
  PHSClassifierId   => ushort, # 1..65535
  PHSClassifierRef  => uchar,  # 1..255
  PHSField          => hexstr, # 1..255
  PHSIndex          => uchar,  # 1..255
  PHSMask           => hexstr, # 1..255
  PHSServiceFlowId  => uint,   # 1..4294967295
  PHSServiceFlowRef => ushort, # 1..65535
  PHSSize           => uchar,  # 1..255
  PHSVerify         => uchar,  # 0..1
},
SnmpCpeAccessControl => uchar,       # 0..1
SnmpMibObject        => snmp_object, # 1..255
SnmpV3Kickstart      => {
  SnmpV3MgrPublicNumber => hexstr, # 1..514
  SnmpV3SecurityName    => string, # 1..16
},
SnmpV3TrapReceiver => {
  SnmpV3TrapRxFilterOID    => ushort, # 1..5
  SnmpV3TrapRxIP           => ip, # 1.2.3.4
  SnmpV3TrapRxPort         => ushort,
  SnmpV3TrapRxRetries      => ushort, # 0..65535
  SnmpV3TrapRxSecurityName => string, # 1..16
  SnmpV3TrapRxTimeout      => ushort, # 0..65535
  SnmpV3TrapRxType         => ushort, # 1..5
},
SubMgmtControl    => hexstr,      # 3..3
SubMgmtCpeTable   => hexstr,
SubMgmtFilters    => ushort_list, # 4..4
SwUpgradeFilename => string,      # "bootfile.bin"
SwUpgradeServer   => ip, # 1.2.3.4
TestMode          => hexstr,      # 0..1
TftpModemAddress  => ip, # 1.2.3.4
TftpTimestamp     => uint,        # 0..4294967295
UpstreamChannelId => uchar,       # 0..255
UsPacketClass     => {
  ActivationState   => uchar,  # 0..1
  ClassifierId      => ushort, # 1..65535
  ClassifierRef     => uchar,  # 1..255
  DscAction         => uchar,  # 0..2
  IEEE802Classifier => {
    UserPriority => ushort,
    VlanID       => ushort,
  },
  IpPacketClassifier => {
    DstPortEnd   => ushort, # 0..65535
    DstPortStart => ushort, # 0..65535
    IpDstAddr    => ip, # 1.2.3.4
    IpDstMask    => ip, # 1.2.3.4
    IpProto      => ushort, # 0..257
    IpSrcAddr    => ip, # 1.2.3.4
    IpSrcMask    => ip, # 1.2.3.4
    IpTos        => hexstr, # 3..3
    SrcPortEnd   => ushort, # 0..65535
    SrcPortStart => ushort, # 0..65535
  },
},
UsServiceFlow => {
  ActQosParamsTimeout  => ushort,  # 0..65535
  AdmQosParamsTimeout  => ushort,  # 0..65535
  GrantsPerInterval    => uchar,   # 0..127
  IpTosOverwrite       => hexstr,  # 0..255
  MaxConcatenatedBurst => ushort,  # 0..65535
  MaxRateSustained     => uint,
  MaxTrafficBurst      => uint,
  MinReservedRate      => uint,
  MinResPacketSize     => ushort,  # 0..65535
  NominalGrantInterval => uint,
  NominalPollInterval  => uint,
  QosParamSetType      => uchar,   # 0..255
  RequestOrTxPolicy    => hexstr,  # 0..255
  SchedulingType       => uchar,   # 0..6
  ServiceClassName     => stringz, # 2..16
  ToleratedGrantJitter => uint,
  ToleratedPollJitter  => uint,
  TrafficPriority      => uchar,   # 0..7
  UnsolicitedGrantSize => ushort,  # 0..65535
  UsServiceFlowId      => uint,    # 1..4294967295
  UsServiceFlowRef     => ushort,  # 1..65535
  UsVendorSpecific     => {
    id      => ether, # "0x0011ee",
    options => [uchar, hexstr, ... ], # 30, "0xff", ...
  },
},
VendorSpecific => {
  id      => ether, # "0x0011ee",
  options => [uchar, hexstr, ... ], # 30, "0xff", ...
},

CLASS METHODS

add_symbol

Deprecated.

byte_size

Deprecated.

cmts_mic_codes

Deprecated.

dump_symbol_tree

Deprecated.

from_code

Deprecated.

from_id

Deprecated.

OBJECT METHODS

id

Deprecated.

code

Deprecated.

pcode

Deprecated.

func

Deprecated.

l_limit

Deprecated.

u_limit

Deprecated.

length

Deprecated.

siblings

Deprecated.

AUTHOR

Jan Henning Thorsen - jhthorsen@cpan.org