omci

package module
v2.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 14, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

README

OMCI

OMCI gopacket library supports the encoding and decoding of ITU G.988 OMCI messages. Support for the Baseline and Extended Message Set has been completed for basic serialization and decode and some support for the MEFrame library.

Future work is to focus on getting unit test coverage >= 75% for the basic serialization and decode objects before work for additional extended message set support in the MEFrame library.

Recent Changes

In v2.1.0, a pair of library calls were added to help support relaxed decoding of OMCI frames. The primary intent is to allow for reception of frames that may have been encoded with either a newer release of the G.988 OMCI specification or with a few minor ONU/OLT implementation errors that are minor and by allowing them greater interoperability can be achieved. To track this change and document the API calls, the FrameDecode document provides further information on this new capability.

v2.0.0

In v2.0.0, the directory/package structure was reorganized (no API changes otherwise) in order to separate message type functionality on a filename basis. This will allow for future features and bug fixes to be better localized and to allow for better unit test coverage reporting.

Bug fixes will typically result in an increment of the third number in the version string and additional feature support will typically result in incrementing the second number.

Current user-test coverage

The make test command can be used to create code coverage support for the library. The current coverage for version 2.0.0 (as of 9/08/2021) is:

Entire Project: 97.3% of files and 70.2% of statements Generated Subdirectory: 98.1% of files and 50.1% of statements meframe Subdirectory: 80% of files and 55.4% of statements

Main Message Directory (below):

File Coverage < 75%
alarms.go 74.3% Y
avc.go 86%
create.go 82.5%
delete.go 85.5%
get.go 78.4%
getcurrent.go 69.4%
getnext.go 79.3%
layers.go 100%
mebase.go 93.3%
messagetypes.go 100%
mibreset.go 76.6%
mibupload.go 78.9%
omci.go 90.6%
reboot.go 81.2%
relaxed_decode.go 78.3%
set.go 77.3%
settable.go 81.5%
software.go 75.2%
synctime.go 79.3%
test.go 79.9%

Other outstanding items

A few additional features have been requested and are listed below for future inclusion in the package:

  • Constraint checking (these are not yet fully parsed/provided by the OMCI code generated structs). This feature will hopefully be available in the near future.
  • Add AVC flag for appropriate attributes
  • Review other gopacket libraries for logging support and add some type of logging support if it is standard. If not, recommend design patterns users of this library can use to detect issues in decode or serialization.
  • For several of the software image message types, multiple instances can be supported. Unit test and source implementation to verify correct implementation is needed.

Also searching through the code for TODO statements will also yield additional areas of work to be performed.

What is not provided by this library

This library is not a full OMCI stack for either an OLT or an ONU. It is focused primarily on packet decode/serialization and a variety of structs and functions that are useful for handling the creation of OMCI frames and handling decoded frames from the PON.

OLT

For an OLT-side OMCI stack, you would still need to write:

  • OMCI CC sender & receiver (stop & wait protocol) with appropriate timeout support
  • OLT State machines to support
    • MIB Uploads/Audits/Resynchronization (and a MIB database implemention),
    • More sophisticated get & get-next support to make handle of MEs with lots of attributes or table attributes easy to handle and code,
    • Alarm Table support,
    • OMCI ME/Msg-Type capabilities inquiry,
    • Performance Monitoring collection (and initial time synchronization),
    • Service implementation
ONU

For an ONU-side OMCI stack, you would still need to write:

  • OMCC implementation,
  • MIB Database,
  • Get-Next cache for table attributes,
  • MIB upload next cache for MIB uploads,
  • Generation of any alarms/AVC notifications,
  • Actually acting on the create/delete/get/set/... requests from an OLT
Vendor specific error information

Rule 5 of section A.1.1 of the G.988 standard provides for the capability of adding vendor specific error information in the trailing octets of an OMCI response that has a non-zero (success) error code. The current library does not provide an easy mechanism for encoding or easy decoding of additional error information at this time.

Documentation

Overview

Package omci provides a library of routines to create, manipulate, serialize, and decode ITU-T G.988 OMCI messages/packets

Index

Constants

View Source
const (
	CreateRequestType                      = MessageType(byte(me.Create) | me.AR)
	CreateResponseType                     = MessageType(byte(me.Create) | me.AK)
	DeleteRequestType                      = MessageType(byte(me.Delete) | me.AR)
	DeleteResponseType                     = MessageType(byte(me.Delete) | me.AK)
	SetRequestType                         = MessageType(byte(me.Set) | me.AR)
	SetResponseType                        = MessageType(byte(me.Set) | me.AK)
	GetRequestType                         = MessageType(byte(me.Get) | me.AR)
	GetResponseType                        = MessageType(byte(me.Get) | me.AK)
	GetAllAlarmsRequestType                = MessageType(byte(me.GetAllAlarms) | me.AR)
	GetAllAlarmsResponseType               = MessageType(byte(me.GetAllAlarms) | me.AK)
	GetAllAlarmsNextRequestType            = MessageType(byte(me.GetAllAlarmsNext) | me.AR)
	GetAllAlarmsNextResponseType           = MessageType(byte(me.GetAllAlarmsNext) | me.AK)
	MibUploadRequestType                   = MessageType(byte(me.MibUpload) | me.AR)
	MibUploadResponseType                  = MessageType(byte(me.MibUpload) | me.AK)
	MibUploadNextRequestType               = MessageType(byte(me.MibUploadNext) | me.AR)
	MibUploadNextResponseType              = MessageType(byte(me.MibUploadNext) | me.AK)
	MibResetRequestType                    = MessageType(byte(me.MibReset) | me.AR)
	MibResetResponseType                   = MessageType(byte(me.MibReset) | me.AK)
	TestRequestType                        = MessageType(byte(me.Test) | me.AR)
	TestResponseType                       = MessageType(byte(me.Test) | me.AK)
	StartSoftwareDownloadRequestType       = MessageType(byte(me.StartSoftwareDownload) | me.AR)
	StartSoftwareDownloadResponseType      = MessageType(byte(me.StartSoftwareDownload) | me.AK)
	DownloadSectionRequestType             = MessageType(me.DownloadSection) // me.AR is optional
	DownloadSectionRequestWithResponseType = MessageType(byte(me.DownloadSection) | me.AR)
	DownloadSectionResponseType            = MessageType(byte(me.DownloadSection) | me.AK)
	EndSoftwareDownloadRequestType         = MessageType(byte(me.EndSoftwareDownload) | me.AR)
	EndSoftwareDownloadResponseType        = MessageType(byte(me.EndSoftwareDownload) | me.AK)
	ActivateSoftwareRequestType            = MessageType(byte(me.ActivateSoftware) | me.AR)
	ActivateSoftwareResponseType           = MessageType(byte(me.ActivateSoftware) | me.AK)
	CommitSoftwareRequestType              = MessageType(byte(me.CommitSoftware) | me.AR)
	CommitSoftwareResponseType             = MessageType(byte(me.CommitSoftware) | me.AK)
	SynchronizeTimeRequestType             = MessageType(byte(me.SynchronizeTime) | me.AR)
	SynchronizeTimeResponseType            = MessageType(byte(me.SynchronizeTime) | me.AK)
	RebootRequestType                      = MessageType(byte(me.Reboot) | me.AR)
	RebootResponseType                     = MessageType(byte(me.Reboot) | me.AK)
	GetNextRequestType                     = MessageType(byte(me.GetNext) | me.AR)
	GetNextResponseType                    = MessageType(byte(me.GetNext) | me.AK)
	GetCurrentDataRequestType              = MessageType(byte(me.GetCurrentData) | me.AR)
	GetCurrentDataResponseType             = MessageType(byte(me.GetCurrentData) | me.AK)
	SetTableRequestType                    = MessageType(byte(me.SetTable) | me.AR)
	SetTableResponseType                   = MessageType(byte(me.SetTable) | me.AK)

	AlarmNotificationType    = MessageType(me.AlarmNotification)
	AttributeValueChangeType = MessageType(me.AttributeValueChange)
	TestResultType           = MessageType(me.TestResult)

	ExtendedTypeDecodeOffset = MessageType(byte(0x80))
)
View Source
const AlarmBitmapSize = 224
View Source
const MaxAttributeGetNextBaselineLength = MaxBaselineLength - 11 - 8

MaxAttributeGetNextBaselineLength is the maximum payload size for attributes for a Baseline MIB Get Next message for the baseline message set. This is just the attribute portion of the message contents and does not include the Result Code & Attribute Mask.

View Source
const MaxAttributeGetNextExtendedLength = MaxExtendedLength - 13 - 4

MaxAttributeGetNextExtendedLength is the maximum payload size for attributes for a Extended MIB Get Next message. This is just the attribute portion of the message contents and does not include the Result Code & Attribute Mask.

View Source
const MaxAttributeMibUploadNextBaselineLength = MaxBaselineLength - 14 - 8

MaxAttributeMibUploadNextBaselineLength is the maximum payload size for attributes for a Baseline MIB Upload Next message.29

View Source
const MaxBaselineLength = 48

MaxBaselineLength is the maximum number of octets allowed in an OMCI Baseline message. Depending on the adapter, it may or may not include the

View Source
const MaxDownloadSectionExtendedLength = MaxExtendedLength - 11 - 4

MaxDownloadSectionExtendedLength is the maximum payload size for section data of a Download Section request message for the extended message set.

View Source
const MaxDownloadSectionLength = 31

MaxDownloadSectionLength is the maximum payload size for section data of a Download Section request message for the baseline message set.

View Source
const MaxExtendedLength = 1980

MaxExtendedLength is the maximum number of octets allowed in an OMCI Extended message (including header).

View Source
const MaxManagedEntityMibUploadNextExtendedLength = MaxExtendedLength - 10 - 4

MaxManagedEntityMibUploadNextExtendedLength is the maximum payload size for ME entries for an Extended MIB Upload Next message. Extended messages differ from the baseline as multiple MEs can be reported in a single frame, just not multiple attributes.

View Source
const MaxTestRequestLength = MaxBaselineLength - 8 - 8

MaxTestRequestLength is the maximum payload size for test request message for the baseline message set.

View Source
const MaxTestResultsLength = MaxBaselineLength - 8 - 8

MaxTestResultsLength is the maximum payload size for test results message for the baseline message set.

View Source
const NullEntityID = uint16(0xffff)

NullEntityID is often used as the Null/void Managed Entity ID for attributes that are used to refer to other Managed Entities but are currently not provisioned.

Variables

View Source
var (
	LayerTypeCreateRequest                gopacket.LayerType
	LayerTypeDeleteRequest                gopacket.LayerType
	LayerTypeSetRequest                   gopacket.LayerType
	LayerTypeGetRequest                   gopacket.LayerType
	LayerTypeGetAllAlarmsRequest          gopacket.LayerType
	LayerTypeGetAllAlarmsNextRequest      gopacket.LayerType
	LayerTypeMibUploadRequest             gopacket.LayerType
	LayerTypeMibUploadNextRequest         gopacket.LayerType
	LayerTypeMibResetRequest              gopacket.LayerType
	LayerTypeTestRequest                  gopacket.LayerType
	LayerTypeStartSoftwareDownloadRequest gopacket.LayerType
	LayerTypeDownloadSectionRequest       gopacket.LayerType
	LayerTypeDownloadSectionLastRequest   gopacket.LayerType
	LayerTypeEndSoftwareDownloadRequest   gopacket.LayerType
	LayerTypeActivateSoftwareRequest      gopacket.LayerType
	LayerTypeCommitSoftwareRequest        gopacket.LayerType
	LayerTypeSynchronizeTimeRequest       gopacket.LayerType
	LayerTypeRebootRequest                gopacket.LayerType
	LayerTypeGetNextRequest               gopacket.LayerType
	LayerTypeGetCurrentDataRequest        gopacket.LayerType
	LayerTypeSetTableRequest              gopacket.LayerType

	LayerTypeCreateRequestExtended                gopacket.LayerType
	LayerTypeDeleteRequestExtended                gopacket.LayerType
	LayerTypeSetRequestExtended                   gopacket.LayerType
	LayerTypeMibUploadRequestExtended             gopacket.LayerType
	LayerTypeMibUploadNextRequestExtended         gopacket.LayerType
	LayerTypeMibResetRequestExtended              gopacket.LayerType
	LayerTypeGetRequestExtended                   gopacket.LayerType
	LayerTypeGetNextRequestExtended               gopacket.LayerType
	LayerTypeStartSoftwareDownloadRequestExtended gopacket.LayerType
	LayerTypeDownloadSectionRequestExtended       gopacket.LayerType
	LayerTypeDownloadSectionLastRequestExtended   gopacket.LayerType
	LayerTypeEndSoftwareDownloadRequestExtended   gopacket.LayerType
	LayerTypeActivateSoftwareRequestExtended      gopacket.LayerType
	LayerTypeCommitSoftwareRequestExtended        gopacket.LayerType
	LayerTypeSynchronizeTimeRequestExtended       gopacket.LayerType
	LayerTypeRebootRequestExtended                gopacket.LayerType
	LayerTypeGetCurrentDataRequestExtended        gopacket.LayerType
	LayerTypeSetTableRequestExtended              gopacket.LayerType
	LayerTypeGetAllAlarmsRequestExtended          gopacket.LayerType
	LayerTypeGetAllAlarmsNextRequestExtended      gopacket.LayerType
)
View Source
var (
	LayerTypeCreateResponse                gopacket.LayerType
	LayerTypeDeleteResponse                gopacket.LayerType
	LayerTypeSetResponse                   gopacket.LayerType
	LayerTypeGetResponse                   gopacket.LayerType
	LayerTypeGetAllAlarmsResponse          gopacket.LayerType
	LayerTypeGetAllAlarmsNextResponse      gopacket.LayerType
	LayerTypeMibUploadResponse             gopacket.LayerType
	LayerTypeMibUploadNextResponse         gopacket.LayerType
	LayerTypeMibResetResponse              gopacket.LayerType
	LayerTypeAlarmNotification             gopacket.LayerType
	LayerTypeAttributeValueChange          gopacket.LayerType
	LayerTypeTestResponse                  gopacket.LayerType
	LayerTypeStartSoftwareDownloadResponse gopacket.LayerType
	LayerTypeDownloadSectionResponse       gopacket.LayerType
	LayerTypeEndSoftwareDownloadResponse   gopacket.LayerType
	LayerTypeActivateSoftwareResponse      gopacket.LayerType
	LayerTypeCommitSoftwareResponse        gopacket.LayerType
	LayerTypeSynchronizeTimeResponse       gopacket.LayerType
	LayerTypeRebootResponse                gopacket.LayerType
	LayerTypeGetNextResponse               gopacket.LayerType
	LayerTypeTestResult                    gopacket.LayerType
	LayerTypeGetCurrentDataResponse        gopacket.LayerType
	LayerTypeSetTableResponse              gopacket.LayerType

	LayerTypeCreateResponseExtended                gopacket.LayerType
	LayerTypeDeleteResponseExtended                gopacket.LayerType
	LayerTypeSetResponseExtended                   gopacket.LayerType
	LayerTypeMibUploadResponseExtended             gopacket.LayerType
	LayerTypeMibUploadNextResponseExtended         gopacket.LayerType
	LayerTypeMibResetResponseExtended              gopacket.LayerType
	LayerTypeGetResponseExtended                   gopacket.LayerType
	LayerTypeGetNextResponseExtended               gopacket.LayerType
	LayerTypeStartSoftwareDownloadResponseExtended gopacket.LayerType
	LayerTypeDownloadSectionResponseExtended       gopacket.LayerType
	LayerTypeEndSoftwareDownloadResponseExtended   gopacket.LayerType
	LayerTypeActivateSoftwareResponseExtended      gopacket.LayerType
	LayerTypeCommitSoftwareResponseExtended        gopacket.LayerType
	LayerTypeAlarmNotificationExtended             gopacket.LayerType
	LayerTypeAttributeValueChangeExtended          gopacket.LayerType
	LayerTypeTestResultExtended                    gopacket.LayerType
	LayerTypeSynchronizeTimeResponseExtended       gopacket.LayerType
	LayerTypeRebootResponseExtended                gopacket.LayerType
	LayerTypeGetCurrentDataResponseExtended        gopacket.LayerType
	LayerTypeSetTableResponseExtended              gopacket.LayerType
	LayerTypeGetAllAlarmsResponseExtended          gopacket.LayerType
	LayerTypeGetAllAlarmsNextResponseExtended      gopacket.LayerType
)
View Source
var (
	LayerTypeOMCI gopacket.LayerType
)

LayerTypeOMCI provides a gopacket LayerType for OMCI messages

View Source
var (
	LayerTypeUnknownAttributes gopacket.LayerType
)

Functions

func MsgTypeToNextLayer

func MsgTypeToNextLayer(mt MessageType, isExtended bool) (gopacket.LayerType, error)

Types

type ActivateSoftwareRequest

type ActivateSoftwareRequest struct {
	MeBasePacket  // Note: EntityInstance for software download is two specific values
	ActivateFlags byte
}

func (*ActivateSoftwareRequest) CanDecode

func (omci *ActivateSoftwareRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*ActivateSoftwareRequest) DecodeFromBytes

func (omci *ActivateSoftwareRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of an Activate Software Request into this layer

func (*ActivateSoftwareRequest) LayerType

func (omci *ActivateSoftwareRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeActivateSoftwareRequest

func (*ActivateSoftwareRequest) NextLayerType

func (omci *ActivateSoftwareRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*ActivateSoftwareRequest) SerializeTo

SerializeTo provides serialization of an Activate Software message

func (*ActivateSoftwareRequest) String

func (omci *ActivateSoftwareRequest) String() string

type ActivateSoftwareResponse

type ActivateSoftwareResponse struct {
	MeBasePacket
	Result me.Results
}

func (*ActivateSoftwareResponse) CanDecode

func (omci *ActivateSoftwareResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*ActivateSoftwareResponse) DecodeFromBytes

func (omci *ActivateSoftwareResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of an Activate Software Response into this layer

func (*ActivateSoftwareResponse) LayerType

func (omci *ActivateSoftwareResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeActivateSoftwareResponse

func (*ActivateSoftwareResponse) NextLayerType

func (omci *ActivateSoftwareResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*ActivateSoftwareResponse) SerializeTo

SerializeTo provides serialization of an Activate Software Response message

func (*ActivateSoftwareResponse) String

func (omci *ActivateSoftwareResponse) String() string

type AdditionalAlarmsData

type AdditionalAlarmsData struct {
	AlarmEntityClass    me.ClassID
	AlarmEntityInstance uint16
	AlarmBitMap         [28]byte // 224 bits
}

type AlarmNotificationMsg

type AlarmNotificationMsg struct {
	MeBasePacket
	AlarmBitmap [AlarmBitmapSize / 8]byte

	AlarmSequenceNumber byte
	// contains filtered or unexported fields
}

func (*AlarmNotificationMsg) ActivateAlarm

func (omci *AlarmNotificationMsg) ActivateAlarm(alarmNumber uint8) error

func (*AlarmNotificationMsg) CanDecode

func (omci *AlarmNotificationMsg) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*AlarmNotificationMsg) ClearAlarm

func (omci *AlarmNotificationMsg) ClearAlarm(alarmNumber uint8) error

func (*AlarmNotificationMsg) DecodeFromBytes

func (omci *AlarmNotificationMsg) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of an Alarm Notification into this layer

func (*AlarmNotificationMsg) IsAlarmActive

func (omci *AlarmNotificationMsg) IsAlarmActive(alarmNumber uint8) (bool, error)

func (*AlarmNotificationMsg) IsAlarmClear

func (omci *AlarmNotificationMsg) IsAlarmClear(alarmNumber uint8) (bool, error)

func (*AlarmNotificationMsg) LayerType

func (omci *AlarmNotificationMsg) LayerType() gopacket.LayerType

LayerType returns LayerTypeAlarmNotification

func (*AlarmNotificationMsg) NextLayerType

func (omci *AlarmNotificationMsg) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*AlarmNotificationMsg) SerializeTo

SerializeTo provides serialization of an Alarm Notification message

func (*AlarmNotificationMsg) String

func (omci *AlarmNotificationMsg) String() string

type AttributeValueChangeMsg

type AttributeValueChangeMsg struct {
	MeBasePacket
	AttributeMask uint16
	Attributes    me.AttributeValueMap
}

func (*AttributeValueChangeMsg) CanDecode

func (omci *AttributeValueChangeMsg) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*AttributeValueChangeMsg) DecodeFromBytes

func (omci *AttributeValueChangeMsg) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of an Attribute Value Change notification into this layer

func (*AttributeValueChangeMsg) LayerType

func (omci *AttributeValueChangeMsg) LayerType() gopacket.LayerType

LayerType returns LayerTypeAttributeValueChange

func (*AttributeValueChangeMsg) NextLayerType

func (omci *AttributeValueChangeMsg) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*AttributeValueChangeMsg) SerializeTo

SerializeTo provides serialization of an Attribute Value Change Notification message

func (*AttributeValueChangeMsg) String

func (omci *AttributeValueChangeMsg) String() string

type CommitSoftwareRequest

type CommitSoftwareRequest struct {
	MeBasePacket
}

func (*CommitSoftwareRequest) CanDecode

func (omci *CommitSoftwareRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*CommitSoftwareRequest) DecodeFromBytes

func (omci *CommitSoftwareRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Commit Software Request into this layer

func (*CommitSoftwareRequest) LayerType

func (omci *CommitSoftwareRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeCommitSoftwareRequest

func (*CommitSoftwareRequest) NextLayerType

func (omci *CommitSoftwareRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*CommitSoftwareRequest) SerializeTo

SerializeTo provides serialization of an Commit Software Request message

func (*CommitSoftwareRequest) String

func (omci *CommitSoftwareRequest) String() string

type CommitSoftwareResponse

type CommitSoftwareResponse struct {
	MeBasePacket
	Result me.Results
}

func (*CommitSoftwareResponse) CanDecode

func (omci *CommitSoftwareResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*CommitSoftwareResponse) DecodeFromBytes

func (omci *CommitSoftwareResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Commit Software Response into this layer

func (*CommitSoftwareResponse) LayerType

func (omci *CommitSoftwareResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeCommitSoftwareResponse

func (*CommitSoftwareResponse) NextLayerType

func (omci *CommitSoftwareResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*CommitSoftwareResponse) SerializeTo

SerializeTo provides serialization of an Commit Software Response message

func (*CommitSoftwareResponse) String

func (omci *CommitSoftwareResponse) String() string

type CreateRequest

type CreateRequest struct {
	MeBasePacket
	Attributes me.AttributeValueMap
}

CreateRequest message apply only to attributes that are defined to be set by create. Writeable attributes that are not set by create are not permitted in a create message

func (*CreateRequest) CanDecode

func (omci *CreateRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*CreateRequest) DecodeFromBytes

func (omci *CreateRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Create Request into this layer

func (*CreateRequest) LayerType

func (omci *CreateRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeCreateRequest

func (*CreateRequest) NextLayerType

func (omci *CreateRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*CreateRequest) SerializeTo

SerializeTo provides serialization of an Create Request Message

func (*CreateRequest) String

func (omci *CreateRequest) String() string

type CreateResponse

type CreateResponse struct {
	MeBasePacket
	Result                 me.Results
	AttributeExecutionMask uint16 // Used when Result == ParameterError
}

CreateResponse returns the result of a CreateRequest

func (*CreateResponse) CanDecode

func (omci *CreateResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*CreateResponse) DecodeFromBytes

func (omci *CreateResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Create Response into this layer

func (*CreateResponse) LayerType

func (omci *CreateResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeCreateResponse

func (*CreateResponse) NextLayerType

func (omci *CreateResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*CreateResponse) SerializeTo

SerializeTo provides serialization of an Create Response message

func (*CreateResponse) String

func (omci *CreateResponse) String() string

type DeleteRequest

type DeleteRequest struct {
	MeBasePacket
}

func (*DeleteRequest) CanDecode

func (omci *DeleteRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*DeleteRequest) DecodeFromBytes

func (omci *DeleteRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Delete Request into this layer

func (*DeleteRequest) LayerType

func (omci *DeleteRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeDeleteRequest

func (*DeleteRequest) NextLayerType

func (omci *DeleteRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*DeleteRequest) SerializeTo

SerializeTo provides serialization of an Delete Request message

func (*DeleteRequest) String

func (omci *DeleteRequest) String() string

type DeleteResponse

type DeleteResponse struct {
	MeBasePacket
	Result me.Results
}

func (*DeleteResponse) CanDecode

func (omci *DeleteResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*DeleteResponse) DecodeFromBytes

func (omci *DeleteResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Delete Response into this layer

func (*DeleteResponse) LayerType

func (omci *DeleteResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeDeleteResponse

func (*DeleteResponse) NextLayerType

func (omci *DeleteResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*DeleteResponse) SerializeTo

SerializeTo provides serialization of an Delete Response message

func (*DeleteResponse) String

func (omci *DeleteResponse) String() string

type DeviceIdent

type DeviceIdent byte

DeviceIdent identifies the OMCI message format. Currently either baseline or extended.

const (

	// BaselineIdent message are composed of a fixed 40 octet packet + 8-octet trailer. All
	// G-PON OLTs and ONUs support the baseline message set
	BaselineIdent DeviceIdent = 0x0A

	// ExtendedIdent messages are up to 1920 octets but may not be supported by all ONUs or OLTs.
	ExtendedIdent DeviceIdent = 0x0B
)

func (DeviceIdent) String

func (di DeviceIdent) String() string

type DownloadResults

type DownloadResults struct {
	ManagedEntityID uint16 // ME ID of software image entity instance (slot number plus instance 0..1 or 2..254 vendor-specific)
	Result          me.Results
}

func (*DownloadResults) String

func (dr *DownloadResults) String() string

type DownloadSectionRequest

type DownloadSectionRequest struct {
	MeBasePacket  // Note: EntityInstance for software download is two specific values
	SectionNumber byte
	SectionData   []byte // 0 padding if final transfer requires only a partial block for baseline set
}

DownloadSectionRequest data is bound by the message set in use. For the Baseline message set use MaxDownloadSectionLength and for the Extended message set, MaxDownloadSectionExtendedLength is provided

func (*DownloadSectionRequest) CanDecode

func (omci *DownloadSectionRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*DownloadSectionRequest) DecodeFromBytes

func (omci *DownloadSectionRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Download Section Request into this layer

func (*DownloadSectionRequest) LayerType

func (omci *DownloadSectionRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeDownloadSectionRequest

func (*DownloadSectionRequest) NextLayerType

func (omci *DownloadSectionRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*DownloadSectionRequest) SerializeTo

SerializeTo provides serialization of an Download Section Request message

func (*DownloadSectionRequest) String

func (omci *DownloadSectionRequest) String() string

type DownloadSectionResponse

type DownloadSectionResponse struct {
	MeBasePacket  // Note: EntityInstance for software download is two specific values
	Result        me.Results
	SectionNumber byte
}

func (*DownloadSectionResponse) CanDecode

func (omci *DownloadSectionResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*DownloadSectionResponse) DecodeFromBytes

func (omci *DownloadSectionResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Download Section Response into this layer

func (*DownloadSectionResponse) LayerType

func (omci *DownloadSectionResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeDownloadSectionResponse

func (*DownloadSectionResponse) NextLayerType

func (omci *DownloadSectionResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*DownloadSectionResponse) SerializeTo

SerializeTo provides serialization of an Download Section Response message

func (*DownloadSectionResponse) String

func (omci *DownloadSectionResponse) String() string

type EndSoftwareDownloadRequest

type EndSoftwareDownloadRequest struct {
	MeBasePacket      // Note: EntityInstance for software download is two specific values
	CRC32             uint32
	ImageSize         uint32
	NumberOfInstances byte
	ImageInstances    []uint16
}

func (*EndSoftwareDownloadRequest) CanDecode

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*EndSoftwareDownloadRequest) DecodeFromBytes

func (omci *EndSoftwareDownloadRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of an End Software Download Request into this layer

func (*EndSoftwareDownloadRequest) LayerType

func (omci *EndSoftwareDownloadRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeEndSoftwareDownloadRequest

func (*EndSoftwareDownloadRequest) NextLayerType

func (omci *EndSoftwareDownloadRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*EndSoftwareDownloadRequest) SerializeTo

SerializeTo provides serialization of an End Software Download Request message

func (*EndSoftwareDownloadRequest) String

func (omci *EndSoftwareDownloadRequest) String() string

type EndSoftwareDownloadResponse

type EndSoftwareDownloadResponse struct {
	MeBasePacket      // Note: EntityInstance for software download is two specific values
	Result            me.Results
	NumberOfInstances byte
	MeResults         []DownloadResults
}

func (*EndSoftwareDownloadResponse) CanDecode

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*EndSoftwareDownloadResponse) DecodeFromBytes

func (omci *EndSoftwareDownloadResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of an End Software Download Response into this layer

func (*EndSoftwareDownloadResponse) LayerType

LayerType returns LayerTypeCreateResponse

func (*EndSoftwareDownloadResponse) NextLayerType

func (omci *EndSoftwareDownloadResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*EndSoftwareDownloadResponse) SerializeTo

SerializeTo provides serialization of an End Software Download Response message

func (*EndSoftwareDownloadResponse) String

func (omci *EndSoftwareDownloadResponse) String() string

type GetAllAlarmsNextRequest

type GetAllAlarmsNextRequest struct {
	MeBasePacket
	CommandSequenceNumber uint16
}

func (*GetAllAlarmsNextRequest) CanDecode

func (omci *GetAllAlarmsNextRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*GetAllAlarmsNextRequest) DecodeFromBytes

func (omci *GetAllAlarmsNextRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get All Alarms Next Request into this layer

func (*GetAllAlarmsNextRequest) LayerType

func (omci *GetAllAlarmsNextRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetAllAlarmsNextRequest

func (*GetAllAlarmsNextRequest) NextLayerType

func (omci *GetAllAlarmsNextRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*GetAllAlarmsNextRequest) SerializeTo

SerializeTo provides serialization of an Get All Alarms Next Request message

func (*GetAllAlarmsNextRequest) String

func (omci *GetAllAlarmsNextRequest) String() string

type GetAllAlarmsNextResponse

type GetAllAlarmsNextResponse struct {
	MeBasePacket
	AlarmEntityClass    me.ClassID
	AlarmEntityInstance uint16
	AlarmBitMap         [28]byte               // 224 bits
	AdditionalAlarms    []AdditionalAlarmsData // Valid only for extended message set version
}

func (*GetAllAlarmsNextResponse) CanDecode

func (omci *GetAllAlarmsNextResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*GetAllAlarmsNextResponse) DecodeFromBytes

func (omci *GetAllAlarmsNextResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get All Alarms Next Response into this layer

func (*GetAllAlarmsNextResponse) LayerType

func (omci *GetAllAlarmsNextResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetAllAlarmsNextResponse

func (*GetAllAlarmsNextResponse) NextLayerType

func (omci *GetAllAlarmsNextResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*GetAllAlarmsNextResponse) SerializeTo

SerializeTo provides serialization of an Get All Alarms Next Response message

func (*GetAllAlarmsNextResponse) String

func (omci *GetAllAlarmsNextResponse) String() string

type GetAllAlarmsRequest

type GetAllAlarmsRequest struct {
	MeBasePacket
	AlarmRetrievalMode byte
}

func (*GetAllAlarmsRequest) CanDecode

func (omci *GetAllAlarmsRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*GetAllAlarmsRequest) DecodeFromBytes

func (omci *GetAllAlarmsRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get All Alarms Request into this layer

func (*GetAllAlarmsRequest) LayerType

func (omci *GetAllAlarmsRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetAllAlarmsRequest

func (*GetAllAlarmsRequest) NextLayerType

func (omci *GetAllAlarmsRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*GetAllAlarmsRequest) SerializeTo

SerializeTo provides serialization of an Get All Alarms Request message

func (*GetAllAlarmsRequest) String

func (omci *GetAllAlarmsRequest) String() string

type GetAllAlarmsResponse

type GetAllAlarmsResponse struct {
	MeBasePacket
	NumberOfCommands uint16
}

func (*GetAllAlarmsResponse) CanDecode

func (omci *GetAllAlarmsResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*GetAllAlarmsResponse) DecodeFromBytes

func (omci *GetAllAlarmsResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get All Alarms Response into this layer

func (*GetAllAlarmsResponse) LayerType

func (omci *GetAllAlarmsResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetAllAlarmsResponse

func (*GetAllAlarmsResponse) NextLayerType

func (omci *GetAllAlarmsResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*GetAllAlarmsResponse) SerializeTo

SerializeTo provides serialization of an Get All Alarms Response message

func (*GetAllAlarmsResponse) String

func (omci *GetAllAlarmsResponse) String() string

type GetCurrentDataRequest

type GetCurrentDataRequest struct {
	MeBasePacket
	AttributeMask uint16
}

func (*GetCurrentDataRequest) CanDecode

func (omci *GetCurrentDataRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*GetCurrentDataRequest) DecodeFromBytes

func (omci *GetCurrentDataRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get Current Data Request into this layer

func (*GetCurrentDataRequest) LayerType

func (omci *GetCurrentDataRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetCurrentDataRequest

func (*GetCurrentDataRequest) NextLayerType

func (omci *GetCurrentDataRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*GetCurrentDataRequest) SerializeTo

SerializeTo provides serialization of an Get Current Data Request message

func (*GetCurrentDataRequest) String

func (omci *GetCurrentDataRequest) String() string

type GetCurrentDataResponse

type GetCurrentDataResponse struct {
	MeBasePacket
	Result                   me.Results
	AttributeMask            uint16
	UnsupportedAttributeMask uint16
	FailedAttributeMask      uint16
	Attributes               me.AttributeValueMap
}

func (*GetCurrentDataResponse) CanDecode

func (omci *GetCurrentDataResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*GetCurrentDataResponse) DecodeFromBytes

func (omci *GetCurrentDataResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get Current Data Response into this layer

func (*GetCurrentDataResponse) LayerType

func (omci *GetCurrentDataResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetCurrentDataResponse

func (*GetCurrentDataResponse) NextLayerType

func (omci *GetCurrentDataResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*GetCurrentDataResponse) SerializeTo

SerializeTo provides serialization of an Get Current Data Message Type Response

func (*GetCurrentDataResponse) String

func (omci *GetCurrentDataResponse) String() string

type GetNextRequest

type GetNextRequest struct {
	MeBasePacket
	AttributeMask  uint16
	SequenceNumber uint16
}

func (*GetNextRequest) CanDecode

func (omci *GetNextRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*GetNextRequest) DecodeFromBytes

func (omci *GetNextRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get Next Request into this layer

func (*GetNextRequest) LayerType

func (omci *GetNextRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetNextRequest

func (*GetNextRequest) NextLayerType

func (omci *GetNextRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*GetNextRequest) SerializeTo

SerializeTo provides serialization of an Get Next Message Type Request

func (*GetNextRequest) String

func (omci *GetNextRequest) String() string

type GetNextResponse

type GetNextResponse struct {
	MeBasePacket
	Result        me.Results
	AttributeMask uint16
	Attributes    me.AttributeValueMap
}

func (*GetNextResponse) CanDecode

func (omci *GetNextResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*GetNextResponse) DecodeFromBytes

func (omci *GetNextResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get Next Response into this layer

func (*GetNextResponse) LayerType

func (omci *GetNextResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetNextResponse

func (*GetNextResponse) NextLayerType

func (omci *GetNextResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*GetNextResponse) SerializeTo

SerializeTo provides serialization of an Get Next Message Type Response

func (*GetNextResponse) String

func (omci *GetNextResponse) String() string

SerializeTo provides serialization of an Get Next Message Type Response

type GetRequest

type GetRequest struct {
	MeBasePacket
	AttributeMask uint16
}

func (*GetRequest) CanDecode

func (omci *GetRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*GetRequest) DecodeFromBytes

func (omci *GetRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get Request into this layer

func (*GetRequest) LayerType

func (omci *GetRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetRequest

func (*GetRequest) NextLayerType

func (omci *GetRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*GetRequest) SerializeTo

SerializeTo provides serialization of an Get Request message

func (*GetRequest) String

func (omci *GetRequest) String() string

type GetResponse

type GetResponse struct {
	MeBasePacket
	Result                   me.Results
	AttributeMask            uint16
	Attributes               me.AttributeValueMap
	UnsupportedAttributeMask uint16
	FailedAttributeMask      uint16
}

func (*GetResponse) CanDecode

func (omci *GetResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*GetResponse) DecodeFromBytes

func (omci *GetResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get Response into this layer

func (*GetResponse) LayerType

func (omci *GetResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetResponse

func (*GetResponse) NextLayerType

func (omci *GetResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*GetResponse) SerializeTo

SerializeTo provides serialization of an Get Response message

func (*GetResponse) String

func (omci *GetResponse) String() string

type IMibUploadNextResponse

type IMibUploadNextResponse interface {
	GetMeBasePacket() *MeBasePacket
	GetMeCount() int
	GetManagedEntity(int) *me.ManagedEntity
	AddManagedEntity(*me.ManagedEntity) error
}

type MeBasePacket

type MeBasePacket struct {
	EntityClass    me.ClassID
	EntityInstance uint16

	gopacket.Layer
	layers.BaseLayer
	MsgLayerType gopacket.LayerType
	Extended     bool
}

func (*MeBasePacket) CanDecode

func (msg *MeBasePacket) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*MeBasePacket) DecodeFromBytes

func (msg *MeBasePacket) DecodeFromBytes(data []byte, p gopacket.PacketBuilder, contentSize int) error

DecodeFromBytes decodes the given bytes into this layer

func (*MeBasePacket) LayerContents

func (msg *MeBasePacket) LayerContents() []byte

LayerContents returns the bytes of the packet layer.

func (*MeBasePacket) LayerPayload

func (msg *MeBasePacket) LayerPayload() []byte

LayerPayload returns the bytes contained within the packet layer

func (*MeBasePacket) LayerType

func (msg *MeBasePacket) LayerType() gopacket.LayerType

LayerType returns MsgLayerType. It partially satisfies Layer and SerializableLayer

func (*MeBasePacket) NextLayerType

func (msg *MeBasePacket) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer

func (*MeBasePacket) SerializeTo

func (msg *MeBasePacket) SerializeTo(b gopacket.SerializeBuffer) error

SerializeTo provides serialization of this message layer

func (*MeBasePacket) String

func (msg *MeBasePacket) String() string

type MessageType

type MessageType byte

MessageType is the OMCI Message Type combined with the AR/AK flags as appropriate.

func (MessageType) String

func (mt MessageType) String() string

type MibResetRequest

type MibResetRequest struct {
	MeBasePacket
}

func (*MibResetRequest) CanDecode

func (omci *MibResetRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*MibResetRequest) DecodeFromBytes

func (omci *MibResetRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a MIB Reset Request into this layer

func (*MibResetRequest) LayerType

func (omci *MibResetRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeMibResetRequest

func (*MibResetRequest) NextLayerType

func (omci *MibResetRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*MibResetRequest) SerializeTo

SerializeTo provides serialization of an MIB Reset Request message

func (*MibResetRequest) String

func (omci *MibResetRequest) String() string

type MibResetResponse

type MibResetResponse struct {
	MeBasePacket
	Result me.Results
}

func (*MibResetResponse) CanDecode

func (omci *MibResetResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*MibResetResponse) DecodeFromBytes

func (omci *MibResetResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a MIB Reset Response into this layer

func (*MibResetResponse) LayerType

func (omci *MibResetResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeMibResetResponse

func (*MibResetResponse) NextLayerType

func (omci *MibResetResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*MibResetResponse) SerializeTo

SerializeTo provides serialization of an MIB Reset Response message

func (*MibResetResponse) String

func (omci *MibResetResponse) String() string

type MibUploadNextManageEntity

type MibUploadNextManageEntity struct {
	AttrSize   uint16 // Size of ME instance attribute values included
	ReportedME me.ManagedEntity
}

type MibUploadNextRequest

type MibUploadNextRequest struct {
	MeBasePacket
	CommandSequenceNumber uint16
}

func (*MibUploadNextRequest) CanDecode

func (omci *MibUploadNextRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*MibUploadNextRequest) DecodeFromBytes

func (omci *MibUploadNextRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a MIB Upload Next Request into this layer

func (*MibUploadNextRequest) LayerType

func (omci *MibUploadNextRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeMibUploadNextRequest

func (*MibUploadNextRequest) NextLayerType

func (omci *MibUploadNextRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*MibUploadNextRequest) SerializeTo

SerializeTo provides serialization of an MIB Upload Next Request message

func (*MibUploadNextRequest) String

func (omci *MibUploadNextRequest) String() string

type MibUploadNextResponse

type MibUploadNextResponse struct {
	MeBasePacket
	ReportedME    me.ManagedEntity
	AdditionalMEs []me.ManagedEntity // Valid only for extended message set version

	RelaxedErrors []me.IRelaxedDecodeError
}

func (*MibUploadNextResponse) CanDecode

func (omci *MibUploadNextResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*MibUploadNextResponse) DecodeFromBytes

func (omci *MibUploadNextResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a MIB Upload Next Response into this layer

func (*MibUploadNextResponse) LayerType

func (omci *MibUploadNextResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeMibUploadNextResponse

func (*MibUploadNextResponse) NextLayerType

func (omci *MibUploadNextResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*MibUploadNextResponse) SerializeTo

SerializeTo provides serialization of an MIB Upload Next Response message

func (*MibUploadNextResponse) String

func (omci *MibUploadNextResponse) String() string

type MibUploadRequest

type MibUploadRequest struct {
	MeBasePacket
}

func (*MibUploadRequest) CanDecode

func (omci *MibUploadRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*MibUploadRequest) DecodeFromBytes

func (omci *MibUploadRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a MIB Upload Request into this layer

func (*MibUploadRequest) LayerType

func (omci *MibUploadRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeMibUploadRequest

func (*MibUploadRequest) NextLayerType

func (omci *MibUploadRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*MibUploadRequest) SerializeTo

SerializeTo provides serialization of an MIB Upload Request message

func (*MibUploadRequest) String

func (omci *MibUploadRequest) String() string

type MibUploadResponse

type MibUploadResponse struct {
	MeBasePacket
	NumberOfCommands uint16
}

func (*MibUploadResponse) CanDecode

func (omci *MibUploadResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*MibUploadResponse) DecodeFromBytes

func (omci *MibUploadResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a MIB Upload Response into this layer

func (*MibUploadResponse) LayerType

func (omci *MibUploadResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeMibUploadResponse

func (*MibUploadResponse) NextLayerType

func (omci *MibUploadResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*MibUploadResponse) SerializeTo

SerializeTo provides serialization of an MIB Upload Response message

func (*MibUploadResponse) String

func (omci *MibUploadResponse) String() string

type OMCI

type OMCI struct {
	layers.BaseLayer
	TransactionID    uint16
	MessageType      MessageType
	DeviceIdentifier DeviceIdent
	ResponseExpected bool   // Significant for Download Section Request only
	Payload          []byte // TODO: Deprecated.  Use layers.BaseLayer.Payload
	Length           uint16
	MIC              uint32
}

OMCI defines the common protocol. Extended will be added once I can get basic working (and layered properly). See ITU-T G.988 11/2017 section A.3 for more information

func (*OMCI) CanDecode

func (omci *OMCI) CanDecode() gopacket.LayerClass

CanDecode returns the layers that this class can decode

func (*OMCI) DecodeFromBytes

func (omci *OMCI) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes will decode the OMCI layer of a packet/message

func (*OMCI) LayerContents

func (omci *OMCI) LayerContents() []byte

LayerContents returns the OMCI specific layer information

func (*OMCI) LayerType

func (omci *OMCI) LayerType() gopacket.LayerType

LayerType returns LayerTypeOMCI

func (*OMCI) NextLayerType

func (omci *OMCI) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*OMCI) SerializeTo

func (omci *OMCI) SerializeTo(b gopacket.SerializeBuffer, opts gopacket.SerializeOptions) error

SerializeTo writes the serialized form of this layer into the SerializationBuffer, implementing gopacket.SerializableLayer. See the docs for gopacket.SerializableLayer for more info.

func (*OMCI) String

func (omci *OMCI) String() string

type OpticalLineSupervisionTestRequest

type OpticalLineSupervisionTestRequest struct {
	MeBasePacket
	SelectTest               uint8  // Bitfield
	GeneralPurposeBuffer     uint16 // Pointer to General Purpose Buffer ME
	VendorSpecificParameters uint16 // Pointer to Octet String ME
}

func (*OpticalLineSupervisionTestRequest) CanDecode

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*OpticalLineSupervisionTestRequest) DecodeFromBytes

func (omci *OpticalLineSupervisionTestRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Test Result Notification into this layer

func (*OpticalLineSupervisionTestRequest) LayerType

LayerType returns LayerTypeTestRequest

func (*OpticalLineSupervisionTestRequest) NextLayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*OpticalLineSupervisionTestRequest) SerializeTo

SerializeTo provides serialization of an Test Result notification message

func (*OpticalLineSupervisionTestRequest) String

func (*OpticalLineSupervisionTestRequest) TestRequest

func (omci *OpticalLineSupervisionTestRequest) TestRequest() []byte

type OpticalLineSupervisionTestResult

type OpticalLineSupervisionTestResult struct {
	MeBasePacket
	PowerFeedVoltageType     uint8  // Type = 1
	PowerFeedVoltage         uint16 // value
	ReceivedOpticalPowerType uint8  // Type = 3
	ReceivedOpticalPower     uint16 // value
	MeanOpticalLaunchType    uint8  // Type = 5
	MeanOpticalLaunch        uint16 // value
	LaserBiasCurrentType     uint8  // Type = 9
	LaserBiasCurrent         uint16 // value
	TemperatureType          uint8  // Type = 12
	Temperature              uint16 // value

	GeneralPurposeBuffer uint16 // Pointer to General Purpose Buffer ME
}

OpticalLineSupervisionTestResult provides a Optical Specific test results message decode for the associated Managed Entities

func (*OpticalLineSupervisionTestResult) CanDecode

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*OpticalLineSupervisionTestResult) DecodeFromBytes

func (omci *OpticalLineSupervisionTestResult) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Test Result Notification into this layer

func (*OpticalLineSupervisionTestResult) LayerType

LayerType returns LayerTypeTestResult

func (*OpticalLineSupervisionTestResult) NextLayerType

func (omci *OpticalLineSupervisionTestResult) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*OpticalLineSupervisionTestResult) SerializeTo

SerializeTo provides serialization of an Test Result notification message

func (*OpticalLineSupervisionTestResult) String

func (*OpticalLineSupervisionTestResult) TestResults

func (omci *OpticalLineSupervisionTestResult) TestResults() []byte

type RebootRequest

type RebootRequest struct {
	MeBasePacket
	RebootCondition byte
}

func (*RebootRequest) CanDecode

func (omci *RebootRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*RebootRequest) DecodeFromBytes

func (omci *RebootRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Reboot Request into this layer

func (*RebootRequest) LayerType

func (omci *RebootRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeRebootRequest

func (*RebootRequest) NextLayerType

func (omci *RebootRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*RebootRequest) SerializeTo

SerializeTo provides serialization of an Reboot Request message

func (*RebootRequest) String

func (omci *RebootRequest) String() string

type RebootResponse

type RebootResponse struct {
	MeBasePacket
	Result me.Results
}

func (*RebootResponse) CanDecode

func (omci *RebootResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*RebootResponse) DecodeFromBytes

func (omci *RebootResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Reboot Response into this layer

func (*RebootResponse) LayerType

func (omci *RebootResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeRebootResponse

func (*RebootResponse) NextLayerType

func (omci *RebootResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*RebootResponse) SerializeTo

SerializeTo provides serialization of an Reboot Response message

func (*RebootResponse) String

func (omci *RebootResponse) String() string

DecodeFromBytes decodes the given bytes of a Reboot Response into this layer

type SetRequest

type SetRequest struct {
	MeBasePacket
	AttributeMask uint16
	Attributes    me.AttributeValueMap
}

func (*SetRequest) CanDecode

func (omci *SetRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*SetRequest) DecodeFromBytes

func (omci *SetRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Set Request into this layer

func (*SetRequest) LayerType

func (omci *SetRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeSetRequest

func (*SetRequest) NextLayerType

func (omci *SetRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*SetRequest) SerializeTo

SerializeTo provides serialization of an Set Request message

func (*SetRequest) String

func (omci *SetRequest) String() string

type SetResponse

type SetResponse struct {
	MeBasePacket
	Result                   me.Results
	UnsupportedAttributeMask uint16
	FailedAttributeMask      uint16
}

func (*SetResponse) CanDecode

func (omci *SetResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*SetResponse) DecodeFromBytes

func (omci *SetResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Set Response into this layer

func (*SetResponse) LayerType

func (omci *SetResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeSetResponse

func (*SetResponse) NextLayerType

func (omci *SetResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*SetResponse) SerializeTo

SerializeTo provides serialization of an Set Response message

func (*SetResponse) String

func (omci *SetResponse) String() string

type SetTableRequest

type SetTableRequest struct {
	MeBasePacket
	AttributeMask uint16
	// Attributes below should be a single attribute whose value is of type TableRows
	Attributes me.AttributeValueMap
}

func (*SetTableRequest) CanDecode

func (omci *SetTableRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*SetTableRequest) DecodeFromBytes

func (omci *SetTableRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Set Table Request into this layer

func (*SetTableRequest) LayerType

func (omci *SetTableRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeSetTableRequest

func (*SetTableRequest) NextLayerType

func (omci *SetTableRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*SetTableRequest) SerializeTo

SerializeTo provides serialization of an Set Table Message Type Request

func (*SetTableRequest) String

func (omci *SetTableRequest) String() string

type SetTableResponse

type SetTableResponse struct {
	MeBasePacket
	Result me.Results
}

func (*SetTableResponse) CanDecode

func (omci *SetTableResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*SetTableResponse) DecodeFromBytes

func (omci *SetTableResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Set Table Response into this layer

func (*SetTableResponse) LayerType

func (omci *SetTableResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeSetTableResponse

func (*SetTableResponse) NextLayerType

func (omci *SetTableResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*SetTableResponse) SerializeTo

SerializeTo provides serialization of an Set Table Message Type Response

func (*SetTableResponse) String

func (omci *SetTableResponse) String() string

type StartSoftwareDownloadRequest

type StartSoftwareDownloadRequest struct {
	MeBasePacket                // Note: EntityInstance for software download is two specific values
	WindowSize           byte   // Window Size -1
	ImageSize            uint32 // Octets
	NumberOfCircuitPacks byte
	CircuitPacks         []uint16 // MSB & LSB of software image instance
}

func (*StartSoftwareDownloadRequest) CanDecode

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*StartSoftwareDownloadRequest) DecodeFromBytes

func (omci *StartSoftwareDownloadRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Start Software Download Request into this layer

func (*StartSoftwareDownloadRequest) LayerType

LayerType returns LayerTypeStartSoftwareDownloadRequest

func (*StartSoftwareDownloadRequest) NextLayerType

func (omci *StartSoftwareDownloadRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*StartSoftwareDownloadRequest) SerializeTo

SerializeTo provides serialization of an Start Software Download Request message

func (*StartSoftwareDownloadRequest) String

func (omci *StartSoftwareDownloadRequest) String() string

type StartSoftwareDownloadResponse

type StartSoftwareDownloadResponse struct {
	MeBasePacket      // Note: EntityInstance for software download is two specific values
	Result            me.Results
	WindowSize        byte // Window Size -1
	NumberOfInstances byte
	MeResults         []DownloadResults
}

func (*StartSoftwareDownloadResponse) CanDecode

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*StartSoftwareDownloadResponse) DecodeFromBytes

func (omci *StartSoftwareDownloadResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Start Software Download Response into this layer

func (*StartSoftwareDownloadResponse) LayerType

LayerType returns LayerTypeStartSoftwareDownloadResponse

func (*StartSoftwareDownloadResponse) NextLayerType

func (omci *StartSoftwareDownloadResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*StartSoftwareDownloadResponse) SerializeTo

SerializeTo provides serialization of an Start Software Download Response message

func (*StartSoftwareDownloadResponse) String

func (omci *StartSoftwareDownloadResponse) String() string

type SynchronizeTimeRequest

type SynchronizeTimeRequest struct {
	MeBasePacket
	Year   uint16
	Month  uint8
	Day    uint8
	Hour   uint8
	Minute uint8
	Second uint8
}

func (*SynchronizeTimeRequest) CanDecode

func (omci *SynchronizeTimeRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*SynchronizeTimeRequest) DecodeFromBytes

func (omci *SynchronizeTimeRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Synchronize Time Request into this layer

func (*SynchronizeTimeRequest) LayerType

func (omci *SynchronizeTimeRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeSynchronizeTimeRequest

func (*SynchronizeTimeRequest) NextLayerType

func (omci *SynchronizeTimeRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*SynchronizeTimeRequest) SerializeTo

SerializeTo provides serialization of an Synchronize Time Request message

func (*SynchronizeTimeRequest) String

func (omci *SynchronizeTimeRequest) String() string

type SynchronizeTimeResponse

type SynchronizeTimeResponse struct {
	MeBasePacket
	Result         me.Results
	SuccessResults uint8 // Only if 'Result' is 0 -> success
}

func (*SynchronizeTimeResponse) CanDecode

func (omci *SynchronizeTimeResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*SynchronizeTimeResponse) DecodeFromBytes

func (omci *SynchronizeTimeResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Synchronize Time Response into this layer

func (*SynchronizeTimeResponse) LayerType

func (omci *SynchronizeTimeResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeSynchronizeTimeResponse

func (*SynchronizeTimeResponse) NextLayerType

func (omci *SynchronizeTimeResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*SynchronizeTimeResponse) SerializeTo

SerializeTo provides serialization of an Synchronize Time Response message

func (*SynchronizeTimeResponse) String

func (omci *SynchronizeTimeResponse) String() string

type TestRequest

type TestRequest struct {
	MeBasePacket
	Payload []byte
}

TestRequest message

func (*TestRequest) CanDecode

func (omci *TestRequest) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*TestRequest) DecodeFromBytes

func (omci *TestRequest) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Test Request into this layer

func (*TestRequest) LayerType

func (omci *TestRequest) LayerType() gopacket.LayerType

LayerType returns LayerTypeTestRequest

func (*TestRequest) NextLayerType

func (omci *TestRequest) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*TestRequest) SerializeTo

SerializeTo provides serialization of an Test Request message

func (*TestRequest) String

func (omci *TestRequest) String() string

func (*TestRequest) TestRequest

func (omci *TestRequest) TestRequest() []byte

type TestResponse

type TestResponse struct {
	MeBasePacket
	Result me.Results
}

TestResponse message

func (*TestResponse) CanDecode

func (omci *TestResponse) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*TestResponse) DecodeFromBytes

func (omci *TestResponse) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Test Response into this layer

func (*TestResponse) LayerType

func (omci *TestResponse) LayerType() gopacket.LayerType

LayerType returns LayerTypeTestResponse

func (*TestResponse) NextLayerType

func (omci *TestResponse) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*TestResponse) SerializeTo

SerializeTo provides serialization of an Test Response message

func (*TestResponse) String

func (omci *TestResponse) String() string

type TestResultNotification

type TestResultNotification struct {
	MeBasePacket
	Payload []byte
}

func (*TestResultNotification) CanDecode

func (omci *TestResultNotification) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*TestResultNotification) DecodeFromBytes

func (omci *TestResultNotification) DecodeFromBytes(data []byte, p gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Test Result Notification into this layer

func (*TestResultNotification) LayerType

func (omci *TestResultNotification) LayerType() gopacket.LayerType

LayerType returns LayerTypeTestResult

func (*TestResultNotification) NextLayerType

func (omci *TestResultNotification) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*TestResultNotification) SerializeTo

SerializeTo provides serialization of an Test Result notification message

func (*TestResultNotification) String

func (omci *TestResultNotification) String() string

func (*TestResultNotification) TestResults

func (omci *TestResultNotification) TestResults() []byte

type UnknownAttributeInfo

type UnknownAttributeInfo struct {
	EntityClass    me.ClassID
	EntityInstance uint16
	AttributeMask  uint16
	AttributeData  []byte
}

type UnknownAttributes

type UnknownAttributes struct {
	// Each Attributes entry relates one or more unknown attributes to a specific managed
	// entity. For message types such as MIB Upload Next responses, there may be multiple
	// Managed Entities in a single response if the Extended Message set is being used.
	Attributes []UnknownAttributeInfo

	gopacket.Layer
	layers.BaseLayer
	MsgLayerType gopacket.LayerType
}

func (*UnknownAttributes) CanDecode

func (msg *UnknownAttributes) CanDecode() gopacket.LayerClass

CanDecode returns the set of layer types that this DecodingLayer can decode

func (*UnknownAttributes) DecodeFromBytes

func (msg *UnknownAttributes) DecodeFromBytes(_ []byte, _ gopacket.PacketBuilder) error

DecodeFromBytes decodes the given bytes of a Get Next Response into this layer

func (*UnknownAttributes) Error

func (msg *UnknownAttributes) Error() error

func (*UnknownAttributes) LayerContents

func (msg *UnknownAttributes) LayerContents() []byte

LayerContents returns the bytes of the packet layer.

func (*UnknownAttributes) LayerPayload

func (msg *UnknownAttributes) LayerPayload() []byte

LayerPayload returns the bytes contained within the packet layer

func (*UnknownAttributes) LayerType

func (msg *UnknownAttributes) LayerType() gopacket.LayerType

LayerType returns LayerTypeGetNextResponse

func (*UnknownAttributes) NextLayerType

func (msg *UnknownAttributes) NextLayerType() gopacket.LayerType

NextLayerType returns the layer type contained by this DecodingLayer.

func (*UnknownAttributes) String

func (msg *UnknownAttributes) String() string

SerializeTo provides serialization of an Get Next Message Type Response

Directories

Path Synopsis
Package generated provides code-generated OMCI types
Package generated provides code-generated OMCI types
* Copyright (c) 2018 - present.
* Copyright (c) 2018 - present.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL