You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

This page is under development

Introduction

This section summarises technical specifications for operation of Multimedia Over Coax Alliance (MoCA) devices (“nodes”) using in-home coaxial wiring for transport of multimedia content. It describes the MoCA node protocol stack and physical network model.

The MoCA system network model creates a coax network which supports communications between a convergence layer in one MoCA node to the corresponding convergence layer in another MoCA node. The protocol stack of a MoCA node is shown in Figure 1-1. The MoCA specification does not include layers above the convergence layer.

Figure 1-1: MoCA Node Protocol Stack

Physical Network Model

Typical in-home coaxial networks are configured as a branching tree topology.  The point of connection  to the first splitter is called the Root Node. The MoCA nodes inside the home communicate with each other by having their signals traverse across one or more splitters. The signal path transmission between two MoCA nodes is the superposition of several individual paths. Each individual signal path may have a different magnitude and delay resulting in an aggregate signal path with frequency nulls, large attenuation, and significant delay spread. The MoCA Network will operate under these channel conditions.

Figure 1-2: A Typical In-home MoCA Network


Objects

MoCA object in its DML layer: 

Device.MoCA.Interface.1.Enable
Device.MoCA.Interface.1.Status
Device.MoCA.Interface.1.Alias
Device.MoCA.Interface.1.Name
Device.MoCA.Interface.1.LastChange
Device.MoCA.Interface.1.LowerLayers
Device.MoCA.Interface.1.Upstream
Device.MoCA.Interface.1.MACAddress
Device.MoCA.Interface.1.FirmwareVersion
Device.MoCA.Interface.1.MaxBitRate
Device.MoCA.Interface.1.MaxIngressBW
Device.MoCA.Interface.1.MaxEgressBW
Device.MoCA.Interface.1.HighestVersion
Device.MoCA.Interface.1.CurrentVersion
Device.MoCA.Interface.1.NetworkCoordinator
Device.MoCA.Interface.1.NodeID
Device.MoCA.Interface.1.MaxNodes
Device.MoCA.Interface.1.PreferredNC
Device.MoCA.Interface.1.BackupNC
Device.MoCA.Interface.1.PrivacyEnabledSetting
Device.MoCA.Interface.1.PrivacyEnabled
Device.MoCA.Interface.1.FreqCapabilityMask
Device.MoCA.Interface.1.FreqCurrentMaskSetting
Device.MoCA.Interface.1.FreqCurrentMask
Device.MoCA.Interface.1.CurrentOperFreq
Device.MoCA.Interface.1.LastOperFreq
Device.MoCA.Interface.1.KeyPassphrase
Device.MoCA.Interface.1.TxPowerLimit
Device.MoCA.Interface.1.PowerCntlPhyTarget
Device.MoCA.Interface.1.BeaconPowerLimit
Device.MoCA.Interface.1.NetworkTabooMask
Device.MoCA.Interface.1.NodeTabooMask
Device.MoCA.Interface.1.TxBcastRate
Device.MoCA.Interface.1.TxBcastPowerReduction
Device.MoCA.Interface.1.QAM256Capable
Device.MoCA.Interface.1.PacketAggregationCapability
Device.MoCA.Interface.1.X_CISCO_COM_Reset
Device.MoCA.Interface.1.X_CISCO_COM_MixedMode
Device.MoCA.Interface.1.X_CISCO_COM_ChannelScanning
Device.MoCA.Interface.1.X_CISCO_COM_AutoPowerControlEnable
Device.MoCA.Interface.1.X_CISCO_COM_EnableTabooBit
Device.MoCA.Interface.1.X_CISCO_COM_CycleMaster
Device.MoCA.Interface.1.AutoPowerControlPhyRate
Device.MoCA.Interface.1.X_CISCO_COM_BestNetworkCoordinatorID
Device.MoCA.Interface.1.X_CISCO_NetworkCoordinatorMACAddress
Device.MoCA.Interface.1.X_CISCO_COM_ChannelScanMask
Device.MoCA.Interface.1.X_CISCO_COM_NumberOfConnectedClients
Device.MoCA.Interface.1.LinkUpTime
Device.MoCA.Interface.1.AssociatedDeviceNumberOfEntries
Device.MoCA.Interface.1.X_CISCO_COM_PeerTableNumberOfEntries
Device.MoCA.Interface.1.X_RDKCENTRAL-COM_MeshTableNumberOfEntries
Device.MoCA.Interface.1.Stats.BytesSent
Device.MoCA.Interface.1.Stats.BytesReceived
Device.MoCA.Interface.1.Stats.PacketsSent
Device.MoCA.Interface.1.Stats.PacketsReceived
Device.MoCA.Interface.1.Stats.ErrorsSent
Device.MoCA.Interface.1.Stats.ErrorsReceived
Device.MoCA.Interface.1.Stats.UnicastPacketsSent
Device.MoCA.Interface.1.Stats.UnicastPacketsReceived
Device.MoCA.Interface.1.Stats.DiscardPacketsSent
Device.MoCA.Interface.1.Stats.DiscardPacketsReceived
Device.MoCA.Interface.1.Stats.MulticastPacketsSent
Device.MoCA.Interface.1.Stats.MulticastPacketsReceived
Device.MoCA.Interface.1.Stats.BroadcastPacketsSent
Device.MoCA.Interface.1.Stats.BroadcastPacketsReceived
Device.MoCA.Interface.1.Stats.UnknownProtoPacketsReceived
Device.MoCA.Interface.1.Stats.Reset
Device.MoCA.Interface.1.Stats.X_CISCO_COM_ExtAggrAverageTx
Device.MoCA.Interface.1.Stats.X_CISCO_COM_ExtAggrAverageRx
Device.MoCA.Interface.1.Stats.X_CISCO_COM_ExtCounterTableNumberOfEntries
Device.MoCA.Interface.1.Stats.X_CISCO_COM_ExtAggrCounterTableNumberOfEntries
Device.MoCA.Interface.1.Stats.X_CISCO_COM_ExtAggrCounterTable.1.Tx
Device.MoCA.Interface.1.Stats.X_CISCO_COM_ExtAggrCounterTable.1.Rx
Device.MoCA.Interface.1.QoS.X_CISCO_COM_Enabled
Device.MoCA.Interface.1.QoS.EgressNumFlows
Device.MoCA.Interface.1.QoS.IngressNumFlows
Device.MoCA.Interface.1.QoS.FlowStatsNumberOfEntries
Device.MoCA.Interface.1.X_CISCO_COM_PeerTable.1.PeerSpeed
Device.MoCA.Interface.1.X_CISCO_COM_PeerTable.2.PeerSpeed

Code Flow

   Moca Component registers with the CR  using config files and xml files. CcspMoCA.cfg specifies the datamodel.  XmlConfig file is CcspMoCADM.cfg which in turn specifies DmXml is TR181-MoCA.XML

  • Name of the component =>com.cisco.spvtg.ccsp.moca
  • Version of the component =>1
  • D-Bus path to reach the component => /com/cisco/spvtg/ccsp/moca
  • Namespaces supported by the component =>moca parameters
  • If CcspMoca binary executes properly, a file /tmp/moca_initialized is created
  • CcspMoca module consists of  2 parts
    •   TR-181   -  DataModel Layer provides details of parameters and objects supported by the moca component.
    •   MoCASsp  – involves Moca component registration  with ComponentRegistry via  CCsp DBUS

TR-181

Has two modules:-

  •  board_sbapi  -  Linked to moca-hal layer
  •  middle_layer_src – To handle query  to moca  parameters  

Data model south bound API(board_sbapi) calls HAL APIs  which abstract hardware configuration and status fetching.

The implementation of HAL APIs depends on platform SDK because different SoC vendors have different implementations for Moca.

When  dmcli command is used to get or set a value , cosa_moca_dml.c in middle_layer_src is invoked.


For eg:  $ ./dmcli eRT getv "Device.MoCA.Interface.1.LinkUpTime"

		Component path is eRT.com.cisco.spvtg.ccsp.moca.
		Depending on parameter datatype (Bool/uLong/String) described in TR181-MoCA.XML, the corresponding API in ./middle_layer_src/cosa_moca_dml.c 
       (here, Interface1_GetParamUlongValue()) is called and collects values for the query parameter from moca HAL layer through board-sbapi.


MoCA HAL

  • MoCA HAL is an abstraction layer, implemented for interacting with MoCA driver. 
  • MoCA HAL API's functionality should be implemented by OEMs.
  • moca_hal.c provides function call prototypes and structure definitions used for the RDK-Broadband MoCA HAL.

Some example APIs are listed below:

moca_GetIfConfig / moca_SetIfConfig
moca_IfGetStaticInfo
moca_IfGetDynamicInfo
moca_IfGetStats
moca_GetNumAssociatedDevices
moca_GetAssociatedDevices
moca_FreqMaskToValue
moca_GetMocaCPEs
moca_HardwareEquipped

Useful links:

MoCA 1.1 Reference Specification

MoCA Presentation

  • No labels