Add dissection of ITU M.3100 GNM (GENERIC NETWORK INFORMATION MODEL).

svn path=/trunk/; revision=15592
This commit is contained in:
Anders Broman 2005-08-28 14:56:03 +00:00
parent 374c3d0b75
commit 12c44d2d72
7 changed files with 5483 additions and 0 deletions

717
asn1/gnm/GNM.asn Normal file
View File

@ -0,0 +1,717 @@
-- Module ASN1DefinedTypesModule (M.3100:04/2005)
-- 8 ASN.1 modules
--<GDMO.Document "ITU-T Recommendation M.3100">
-- 8.1 ASN1DefinedTypesModule
ASN1DefinedTypesModule {itu-t recommendation m gnm(3100) informationModel(0)
asn1Modules(2) asn1DefinedTypesModule(0)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- EXPORTS everything
IMPORTS
-- Note: RDNSequence, formerly imported
-- from X.501 InformationFramework, is imported from X.711 CMIP.
RDNSequence, ObjectInstance, ObjectClass, Attribute
FROM CMIP-1 {joint-iso-itu-t ms(9) cmip(1) modules(0) protocol(3)}
-- MappingList, SignalRate
-- FROM M3100ASN1TypeModule2 {itu-t recommendation m gnm(3100)
-- informationModel(0) asn1Modules(2) asn1Module2(1)}
-- ProbableCause, AdministrativeState, AvailabilityStatus, AttributeList,
-- AdditionalInformation
-- FROM Attribute-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2)
-- asn1Module(2) 1};
;
-- Local imports
-- Module Attribute-ASN1Module (X.721:02/1992)
-- Attribute-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2) asn1Module(2) 1}
ProbableCause ::= CHOICE {globalValue OBJECT IDENTIFIER,
localValue INTEGER
}
AdministrativeState ::= ENUMERATED {locked(0), unlocked(1), shuttingDown(2)}
AvailabilityStatus ::=
SET OF
INTEGER {inTest(0), failed(1), powerOff(2), offLine(3), offDuty(4),
dependency(5), degraded(6), notInstalled(7), logFull(8)}
-- logFull is defined in CCITT Rec X.735 | ISO/IEC 10164-6.
AttributeList ::= SET OF Attribute
AdditionalInformation ::= SET OF ManagementExtension
ControlStatus ::=
SET OF
INTEGER {subjectToTest(0), partOfServicesLocked(1), reservedForTest(2),
suspended(3)}
ManagementExtension ::= SEQUENCE {
identifier OBJECT IDENTIFIER,
significance [1] BOOLEAN DEFAULT FALSE,
information [2] ANY
}
-- MappingList, SignalRate
-- FROM M3100ASN1TypeModule2 {itu-t recommendation m gnm(3100)
-- informationModel(0) asn1Modules(2) asn1Module2(1)}
MappingList ::= SEQUENCE OF PayloadLevel
PayloadLevel ::= CharacteristicInformation
Packages ::= SET OF OBJECT IDENTIFIER
SignalRate ::= CHOICE {
objectClass [0] OBJECT IDENTIFIER,
characteristicInformation [1] CharacteristicInformation
}
-- X.745
SupportedTOClasses ::= SET OF OBJECT IDENTIFIER
-- END Local imports
m3100InformationModel OBJECT IDENTIFIER ::=
{itu-t recommendation m gnm(3100) informationModel(0)}
m3100standardSpecificExtension OBJECT IDENTIFIER ::=
{m3100InformationModel standardSpecificExtension(0)}
m3100ObjectClass OBJECT IDENTIFIER ::=
{m3100InformationModel managedObjectClass(3)}
m3100Package OBJECT IDENTIFIER ::= {m3100InformationModel package(4)}
m3100Parameter OBJECT IDENTIFIER ::= {m3100InformationModel parameter(5)}
m3100Attribute OBJECT IDENTIFIER ::= {m3100InformationModel attribute(7)}
m3100NameBinding OBJECT IDENTIFIER ::= {m3100InformationModel nameBinding(6)}
m3100Action OBJECT IDENTIFIER ::= {m3100InformationModel action(9)}
m3100Notification OBJECT IDENTIFIER ::=
{m3100InformationModel notification(10)}
-- Reserved arcs below m3100InformationModel are (8) for attribute groups
characteristicInfo OBJECT IDENTIFIER ::=
{m3100standardSpecificExtension 0}
opticalSTM1SPICI CharacteristicInformation ::= {characteristicInfo 1}
-- opticalSPITTP* object instances with stmLevel attribute = 1
opticalSTM4SPICI CharacteristicInformation ::=
{characteristicInfo 2}
-- opticalSPITTP* object instances with stmLevel attribute = 4
opticalSTM16SPICI CharacteristicInformation ::=
{characteristicInfo 3}
-- opticalSPITTP* object instances with stmLevel attribute = 16
electricalSTM1SPICI CharacteristicInformation ::=
{characteristicInfo 4}
-- electricalSPITTP* object instances with stmLevel attribute = 1
rsSTM1SPICI CharacteristicInformation ::=
{characteristicInfo 5}
-- rsCTP* object instances with stmLevel attribute = 1
rsSTM4SPICI CharacteristicInformation ::=
{characteristicInfo 6}
-- rsCTP* object instances with stmLevel attribute = 4
rsSTM16SPICI CharacteristicInformation ::=
{characteristicInfo 7}
-- rsCTP* object instances with stmLevel attribute = 16
msSTM1SPICI CharacteristicInformation ::=
{characteristicInfo 8}
-- msCTP* object instances with stmLevel attribute = 1
msSTM4SPICI CharacteristicInformation ::=
{characteristicInfo 9}
-- msCTP* object instances with stmLevel attribute = 4
msSTM16SPICI CharacteristicInformation ::=
{characteristicInfo 10}
-- msCTP* object instances with stmLevel attribute = 16
au3TU3VC3CI CharacteristicInformation ::=
{characteristicInfo 11}
au4VC4CI CharacteristicInformation ::= {characteristicInfo 12}
tu11VC11CI CharacteristicInformation ::= {characteristicInfo 13}
tu12VC12CI CharacteristicInformation ::= {characteristicInfo 14}
tu2VC2CI CharacteristicInformation ::= {characteristicInfo 15}
tu12VC11CI CharacteristicInformation ::= {characteristicInfo 16}
vpCI CharacteristicInformation ::= {characteristicInfo 17}
vcCI CharacteristicInformation ::= {characteristicInfo 18}
e0CI CharacteristicInformation ::= {characteristicInfo 19}
e1CI CharacteristicInformation ::= {characteristicInfo 20}
e2CI CharacteristicInformation ::= {characteristicInfo 21}
e3CI CharacteristicInformation ::= {characteristicInfo 22}
e4CI CharacteristicInformation ::= {characteristicInfo 23}
e5-565M CharacteristicInformation ::= {characteristicInfo 24}
sts3c-and-VC4-1c CharacteristicInformation ::= {characteristicInfo 25}
sts12c-and-VC4-4c CharacteristicInformation ::= {characteristicInfo 26}
sts48c-and-VC4-16c CharacteristicInformation ::= {characteristicInfo 27}
sts192c-and-VC4-64c CharacteristicInformation ::= {characteristicInfo 28}
section-OC1-STS1-and-RS-STM0 CharacteristicInformation ::=
{characteristicInfo 29}
section-OC192-STS192-and-RS-STM64 CharacteristicInformation ::=
{characteristicInfo 30}
line-OC1-STS1-and-MS-STM0 CharacteristicInformation ::=
{characteristicInfo 31}
line-OC192-STS192-and-MS-STM64 CharacteristicInformation ::=
{characteristicInfo 32}
fc-12-133M CharacteristicInformation ::= {characteristicInfo 33}
-- Fiber Channel protocol
fc-25-266M CharacteristicInformation ::=
{characteristicInfo 34}
-- Fiber Channel protocol
fc-50-531M CharacteristicInformation ::=
{characteristicInfo 35}
-- Fiber Channel protocol
fc-100-1063M CharacteristicInformation ::=
{characteristicInfo 36}
-- Fiber Channel protocol
fddi CharacteristicInformation ::=
{characteristicInfo 37}
fast-Ethernet CharacteristicInformation ::= {characteristicInfo 38}
gigabit-Ethernet CharacteristicInformation ::= {characteristicInfo 39}
isdn-BRI CharacteristicInformation ::= {characteristicInfo 40}
-- ISDN Basic Rate Interface PTP layer rate
dsr-OC192-and-STM64 CharacteristicInformation ::=
{characteristicInfo 41}
dsr-OC768-and-STM256 CharacteristicInformation ::= {characteristicInfo 42}
section-OC24-STS24-and-RS-STM8 CharacteristicInformation ::=
{characteristicInfo 43}
line-OC24-STS24-and-MS-STM8 CharacteristicInformation ::=
{characteristicInfo 44}
section-OC768-STS768-and-RS-STM256 CharacteristicInformation ::=
{characteristicInfo 45}
line-OC768-STS768-and-MS-STM256 CharacteristicInformation ::=
{characteristicInfo 46}
tenGigabit-Ethernet CharacteristicInformation ::= {characteristicInfo 47}
-- The following value assignments are for the Probable Cause when Integer Choice is used within the
-- TMN application context. These values shall always be assigned by this Recommendation in the context
-- of TMN.
AcceptableCircuitPackTypeList ::= SET OF PrintableString
AddedTps ::= SEQUENCE {
gtp ObjectInstance,
tpsAdded SEQUENCE OF ObjectInstance
}
AddLeg ::= SEQUENCE {
mpCrossConnection ObjectInstance,
legs SET OF ToTermSpecifier
}
AddTpsToGtpInformation ::=
SEQUENCE OF
SEQUENCE {tpsAdded SEQUENCE OF TerminationPointInformation,
gtp ObjectInstance OPTIONAL}
AddTpsToGtpResult ::=
SEQUENCE OF CHOICE {failed [0] Failed,
addedTps [1] AddedTps}
-- the n-th element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "AddTpsToGtpInformation" type.
AddTpsToTpPoolInformation ::=
SEQUENCE OF
SEQUENCE {tps SET OF TerminationPointInformation,
toTpPool ObjectInstance OPTIONAL}
AddTpsToTpPoolResult ::=
SEQUENCE OF
CHOICE {failed [0] Failed,
tpsAddedToTpPool [1] TpsAddedToTpPool}
-- the n-th element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "AddTPsToTpPoolInformation" type.
AlarmEffectOnServiceParameter ::= BOOLEAN -- TRUE implies service is affected
AlarmSeverityAssignment ::= SEQUENCE {
problem ProbableCause,
severityAssignedServiceAffecting [0] AlarmSeverityCode OPTIONAL,
severityAssignedNonServiceAffecting [1] AlarmSeverityCode OPTIONAL,
severityAssignedServiceIndependent [2] AlarmSeverityCode OPTIONAL
}
AlarmSeverityAssignmentList ::= SET OF AlarmSeverityAssignment
AlarmSeverityCode ::= ENUMERATED {
non-alarmed(0), minor(1), major(2), critical(3), warning(4)}
AlarmStatus ::= ENUMERATED {
cleared(0), activeReportable-Indeterminate(1), activeReportable-Warning(2),
activeReportable-Minor(3), activeReportable-Major(4),
activeReportable-Critical(5), activePending(6)}
Boolean ::= BOOLEAN
Bundle ::= SEQUENCE {
characteristicInfoType CharacteristicInformation,
bundlingFactor INTEGER
}
ChannelNumber ::= INTEGER
CharacteristicInformation ::= OBJECT IDENTIFIER
CircuitDirectionality ::= ENUMERATED {onewayOut(0), onewayIn(1), twoway(2)}
CircuitPackAvailabilityStatus ::=
AvailabilityStatus(WITH COMPONENT (notInstalled))
CircuitPackType ::= PrintableString
Connected ::= CHOICE {
pointToPoint [0] PointToPoint,
pointToMultipoint [1] PointToMultipoint
}
ConnectInformation ::=
SEQUENCE OF
SEQUENCE {itemType
CHOICE {unidirectional [0] ConnectionType,
bidirectional [1] ConnectionTypeBi,
addleg [2] AddLeg},
administrativeState AdministrativeState OPTIONAL,
namedCrossConnection [3] NamedCrossConnection OPTIONAL,
...,
userLabel [4] UserLabel OPTIONAL,
redline [5] Boolean OPTIONAL,
additionalInfo [6] AdditionalInformation OPTIONAL
}
ConnectorType ::= INTEGER
-- currently defined values for ConnectorType are
fcConnectorType ConnectorType ::=
1 -- Fibre Connector
lcConnectorType ConnectorType ::= 2 -- Lucent connector
scConnectorType ConnectorType ::= 3 -- Subscriber Connector
ConnectivityPointer ::= CHOICE {
none NULL,
single ObjectInstance,
concatenated SEQUENCE OF ObjectInstance
}
ConnectResult ::= SEQUENCE OF CHOICE {failed Failed,
connected Connected}
-- the n-th element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "ConnectInformation" type.
ConnectionType ::= CHOICE {
explicitPToP [0] ExplicitPtoP,
ptoTpPool [1] PtoTPPool,
explicitPtoMP [2] ExplicitPtoMP,
ptoMPools [3] PtoMPools
}
ConnectionTypeBi ::= CHOICE {
explicitPToP [0] ExplicitPtoP,
ptoTpPool [1] PtoTPPool
}
Count ::= INTEGER
CreateError ::= INTEGER
CrossConnectionName ::= GraphicString
CrossConnectionObjectPointer ::= CHOICE {
notConnected [0] ObjectInstance, -- Fabric object
connected [1] ObjectInstance, -- Cross-connection object
multipleConnections MultipleConnections
}
CTPUpstreamPointer ::=
ConnectivityPointer
(WITH COMPONENTS {
...,
-- the other two choices are present
concatenated ABSENT
})
CTPDownstreamPointer ::=
DownstreamConnectivityPointer
(WITH COMPONENTS {
...,
concatenated ABSENT,
broadcastConcatenated ABSENT
-- other choices are present
})
CurrentProblem ::= SEQUENCE {
problem [0] ProbableCause,
alarmStatus [1] AlarmStatus
}
CurrentProblemList ::= SET OF CurrentProblem
Directionality ::= ENUMERATED {unidirectional(0), bidirectional(1)}
DisconnectInformation ::= SEQUENCE OF ObjectInstance -- tps
DisconnectResult ::=
SEQUENCE OF CHOICE {failed Failed,
disconnected ObjectInstance} -- tp
-- the n-th element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "DisconnectInformation" type.
DownstreamConnectivityPointer ::= CHOICE {
none NULL,
single ObjectInstance,
concatenated SEQUENCE OF ObjectInstance,
broadcast SET OF ObjectInstance,
broadcastConcatenated [1] SET OF SEQUENCE OF ObjectInstance
}
ExplicitPtoMP ::= SEQUENCE {fromTp ExplicitTP,
toTPs SET OF ExplicitTP
}
ExplicitPtoP ::= SEQUENCE {fromTp ExplicitTP,
toTp ExplicitTP
}
ExplicitTP ::= CHOICE {
oneTPorGTP ObjectInstance,
listofTPs SEQUENCE OF ObjectInstance
}
ExternalTime ::= GeneralizedTime
EquipmentHolderAddress ::= SEQUENCE OF PrintableString
EquipmentHolderType ::= GraphicString
Failed ::= CHOICE {
logicalProblem LogicalProblem,
resourceProblem ResourceProblem
}
GeneralError ::=
SEQUENCE OF
SEQUENCE {cause GeneralErrorCause,
details GraphicString OPTIONAL,
relatedObjects [0] SET OF ObjectInstance OPTIONAL,
attributeList [1] AttributeList OPTIONAL}
GeneralErrorCause ::= CHOICE {
globalValue OBJECT IDENTIFIER,
localValue INTEGER
}
-- objectInIncompatibleState GeneralErrorCause ::= localValue:1
-- noValidRelatedObject GeneralErrorCause ::= localValue:2
-- involvedInOffering GeneralErrorCause ::= localValue:3
-- serviceNotSupported GeneralErrorCause ::= localValue:4
-- provisioningOrderConflict GeneralErrorCause ::= localValue:5
-- equipmentFailure GeneralErrorCause ::= localValue:6
-- maxNumberExceeded GeneralErrorCause ::= localValue:7
-- containedObjects GeneralErrorCause ::= localValue:8
-- ObjectInIncompatibleState is used to specify that the object is in a state
-- that does not allow the operation. Details of the state should be
-- provided.
-- NoValidRelatedObject is used to specify related objects that do not
-- exist in the MIB.
-- InvolvedInOffering is used to identify object(s) that are already
-- involved in a conflicting service offering.
-- ServiceNotSupported is used to indicate that the operation is
-- attempting to initiate a service that is not supported by the
-- equipment.
-- ProvisioningOrderConflict is used to identify that a service is
-- being provisioned in an order that is not supported by the equipment.
-- EquipmentFailure is used to indicate that an equipment failure as
-- occured during the operation.
-- MaxNumberExceeded is used to indicate that requested create operation
-- cannot be completed as the maximum number of instances are reached.
-- ContainedObjects is used to indicate that requested delete operation
-- cannot be completed as there are contained instances.
HolderStatus ::= CHOICE {
holderEmpty [0] NULL,
inTheAcceptableList [1] CircuitPackType,
notInTheAcceptableList [2] CircuitPackType,
unknownType [3] NULL
}
IndividualSwitchOver ::= SEQUENCE {
connection ObjectInstance,
-- crossConnection of connectionProtection (defined in Recommendation G.774.04)
unchangedTP ObjectInstance,
newTP ObjectInstance
-- designates the newTP to which the unchanged TP has to be connected with
}
IndividualResult ::= CHOICE {failed [0] Failed,
pass [1] Connected
}
InformationTransferCapabilities ::= ENUMERATED {
speech(0), audio3pt1(1), audio7(2), audioComb(3), digitalRestricted56(4),
digitalUnrestricted64(5)
-- "..." these ellipses defined in ASN.1 amendment are used here to indicate that this is
-- an extensible type and additional enumerations may be added in future --}
ListOfCharacteristicInformation ::= SET OF CharacteristicInformation
ListOfTPs ::= SET OF ObjectInstance
LocationName ::= GraphicString
LogicalProblem ::= SEQUENCE {
problemCause ProblemCause,
incorrectInstances SET OF ObjectInstance OPTIONAL
}
MultipleConnections ::=
SET OF
CHOICE {downstreamNotConnected [0] ObjectInstance,
downstreamConnected [1] ObjectInstance,
upstreamNotConnected [2] ObjectInstance,
upstreamConnected [3] ObjectInstance}
NamedCrossConnection ::= SEQUENCE {
redline BOOLEAN,
name CrossConnectionName
}
NameType ::= CHOICE {numericName INTEGER,
pString GraphicString
}
NumberOfCircuits ::= INTEGER
ObjectList ::= SET OF ObjectInstance
PhysicalPortSignalRateAndMappingList ::= CHOICE {
diverse
SEQUENCE {downstream SignalRateAndMappingList,
upStream SignalRateAndMappingList},
uniform SignalRateAndMappingList
}
Pointer ::= ObjectInstance
PointerOrNull ::= CHOICE {pointer ObjectInstance,
null NULL
}
PointToPoint ::= SEQUENCE {
fromTp ObjectInstance,
toTp ObjectInstance,
xCon ObjectInstance
}
PointToMultipoint ::= SEQUENCE {
fromTp ObjectInstance,
toTps
SET OF SEQUENCE {tp ObjectInstance,
xConnection ObjectInstance},
mpXCon ObjectInstance
}
PortNumber ::= INTEGER
ProblemCause ::= CHOICE {unknown NULL,
integerValue INTEGER
}
-- The values of integer value for ProblemCause and integerValue for ResourceProblem shall always be
-- assigned by this Recommendation. No values of integerValue for ResourceProblem have been assigned.
-- The following values are used for integerValue of ProblemCause.
PtoMPools ::= SEQUENCE {fromTp ExplicitTP,
toTPPools ToTPPools
}
PtoTPPool ::= SEQUENCE {fromTp ExplicitTP,
toTpPool ObjectInstance
}
Reach ::= INTEGER
RelatedObjectInstance ::= CHOICE {
notAvailable NULL,
relatedObject ObjectInstance
}
RemoveTpsFromGtpInformation ::=
SEQUENCE OF SEQUENCE {fromGtp ObjectInstance,
tps SET OF ObjectInstance}
RemoveTpsFromGtpResult ::=
SEQUENCE OF
CHOICE {failed [0] Failed,
removed [1] RemoveTpsResultInformation}
-- the n-th element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "RemoveTPsFromGtpInformation" type.
RemoveTpsFromTpPoolInformation ::=
SEQUENCE OF
SEQUENCE {fromTpPool ObjectInstance,
tps SET OF ObjectInstance}
RemoveTpsFromTpPoolResult ::=
SEQUENCE OF
CHOICE {failed [0] Failed,
removed [1] RemoveTpsResultInformation}
-- the n-th element in the "SEQUENCE OF" is related to the n-th element in the "SEQUENCE OF" of the
-- "RemoveTPsFromTpPoolInformation" type.
RemoveTpsResultInformation ::= SEQUENCE {
deletedTpPoolOrGTP ObjectInstance OPTIONAL,
tps SET OF ObjectInstance
}
-- If the TP Pool or GTP is deleted, the deleted TP Pool or GTP should be provided in the
-- RemoveTpsResultInformation
Replaceable ::= ENUMERATED {yes(0), no(1), notapplicable(2)}
ResourceProblem ::= CHOICE {unknown NULL,
integerValue INTEGER
}
SequenceOfObjectInstance ::= SEQUENCE OF ObjectInstance
SerialNumber ::= GraphicString
SignallingCapabilities ::= ENUMERATED {
isup(0), isup92(1), itu-tNo5(2), r2(3), itu-tNo6(4), tup(5)
-- "..." these ellipses defined in ASN.1 amendment are used here to indicate that this is
-- an extensible type and additional enumerations may be added in future --}
SignalRateAndMappingList ::=
SET OF
SEQUENCE {-- only one member in the case of TDM
signalRate SignalRate,
mappingList MappingList OPTIONAL,
wavelength WaveLength OPTIONAL} -- used for WDM
-- the SignalRateAndMappingList is a SET OF to accommodate
-- multiple wavelengths on a single TTP
SignalType ::= CHOICE {
simple CharacteristicInformation,
bundle Bundle,
complex [0] SEQUENCE OF Bundle
}
SubordinateCircuitPackSoftwareLoad ::= CHOICE {
notApplicable NULL,
softwareInstances [0] SEQUENCE OF ObjectInstance,
softwareIdentifiers [1] SEQUENCE OF PrintableString
}
SupportableClientList ::= SET OF ObjectClass
SystemTiming ::= SEQUENCE {
sourceType
ENUMERATED {internalTimingSource(0), remoteTimingSource(1),
slavedTimingTerminationSignal(2)},
sourceID ObjectInstance OPTIONAL
} -- not needed for internal source
SystemTimingSource ::= SEQUENCE {
primaryTimingSource SystemTiming,
secondaryTimingSource SystemTiming OPTIONAL
}
SwitchOverInformation ::= SEQUENCE OF IndividualSwitchOver
SwitchOverResult ::= SEQUENCE OF IndividualResult
TerminationPointInformation ::= CHOICE {
tPOrGTP [0] ObjectInstance,
sourceTP [1] ObjectInstance,
sinkTP [2] ObjectInstance
}
ToTermSpecifier ::= CHOICE {
toTpOrGTP [0] ExplicitTP,
toPool [1] ObjectInstance
}
ToTPPools ::=
SET OF SEQUENCE {tpPoolId ObjectInstance,
numberOfTPs INTEGER}
TpsAddedToTpPool ::= SEQUENCE {
tpPool ObjectInstance,
tps SET OF ObjectInstance
}
TpsInGtpList ::= SEQUENCE OF ObjectInstance
TransmissionCharacteristics ::= BIT STRING {
satellite(0), dCME(1), echoControl(2)}
TypeText ::= GraphicString
UserLabel ::= GraphicString
VendorName ::= GraphicString
Version ::= GraphicString
WaveLength ::= INTEGER
END -- end of ASN1 DefinedTypesModule
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D

42
asn1/gnm/Makefile.nmake Normal file
View File

@ -0,0 +1,42 @@
## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
#
# $Id$
include ../../config.nmake
UNIX2DOS=$(PERL) ../../tools/unix2dos.pl
PROTOCOL_NAME=gnm
DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h
all: generate_dissector
generate_dissector: $(DISSECTOR_FILES)
$(DISSECTOR_FILES): ../../tools/asn2eth.py GNM.asn packet-gnm-template.c packet-gnm-template.h gnm.cnf
!IFDEF PYTHON
$(PYTHON) ../../tools/asn2eth.py -X -b -e -p $(PROTOCOL_NAME) -c gnm.cnf -s packet-gnm-template GNM.asn
!ELSE
@echo Error: You need Python to use asn2eth.py
@exit 1
!ENDIF
clean:
rm -f parsetab.py $(DISSECTOR_FILES)
# Fix EOL in generated dissectors. Cygwin's python generates files with
# mixed EOL styles, which can't be commited to the SVN repository.
# Stuff included from template and "cnf" files has "\r\n" on windows, while
# the generated stuff has "\n".
fix_eol: generate_dissector
move packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).c.tmp
move packet-$(PROTOCOL_NAME).h packet-$(PROTOCOL_NAME).h.tmp
$(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
$(UNIX2DOS) < packet-$(PROTOCOL_NAME).h.tmp > packet-$(PROTOCOL_NAME).h
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y

29
asn1/gnm/gnm.cnf Normal file
View File

@ -0,0 +1,29 @@
# gnm.cnf
# gnm conformation file
# $Id$
#.MODULE_IMPORT
CMIP-1 cmip
#.INCLUDE ../cmip/cmip-exp.cnf
#.EXPORTS
#.PDU
#.NO_EMIT
#.TYPE_RENAME
#.FIELD_RENAME
#.FN_BODY ManagementExtension/information
/* FIX ME */
#.END

View File

@ -0,0 +1,331 @@
/* packet-gnm.c
* Routines for GENERIC NETWORK INFORMATION MODEL Data dissection
*
* Copyright 2005 , Anders Broman <anders.broman [AT] ericsson.com>
* $Id$
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
* Copyright 1998 Gerald Combs
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*
* References:
* ITU-T recommendatiom M.3100
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <glib.h>
#include <epan/packet.h>
#include <epan/conversation.h>
#include <stdio.h>
#include <string.h>
#include "packet-cmip.h"
#include "packet-ber.h"
#include "packet-gnm.h"
#define PNAME "ITU M.3100 Generic Network Information Model"
#define PSNAME "GNM"
#define PFNAME "gnm"
/* Initialize the protocol and registered fields */
int proto_gnm = -1;
static int hf_gnm_AdministrativeState = -1;
#include "packet-gnm-hf.c"
/* Initialize the subtree pointers */
#include "packet-gnm-ett.c"
#include "packet-gnm-fn.c"
static void
dissect_gnm_attribute_1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_RelatedObjectInstance(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_ObjectList(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_ObjectList(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_3(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_AlarmSeverityAssignmentList(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_6(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_AlarmStatus(FALSE, tvb, 0, pinfo, parent_tree, hf_gnm_alarmStatus);
}
static void
dissect_gnm_attribute_7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_ChannelNumber(FALSE, tvb, 0, pinfo, parent_tree, hf_gnm_alarmStatus);
}
static void
dissect_gnm_attribute_8(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_CharacteristicInformation(FALSE, tvb, 0, pinfo, parent_tree, hf_gnm_alarmStatus);
}
static void
dissect_gnm_attribute_15(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_CrossConnectionName(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_16(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_CrossConnectionObjectPointer(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_17(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_CurrentProblemList(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_18(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_Directionality(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_19(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_DownstreamConnectivityPointer(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_21(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_ExternalTime(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_26(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_ListOfCharacteristicInformation(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_27(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_LocationName(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_34(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_Replaceable(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_SequenceOfObjectInstance(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_SequenceOfObjectInstance(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_PointerOrNull(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_PointerOrNull(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_NameType(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_NameType(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_ObjectInstance(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_cmip_ObjectInstance(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_Count(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_Count(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_gnm_attribute_Boolean(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_Boolean(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_smi_attribute_31(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_AdministrativeState(FALSE, tvb, 0, pinfo, parent_tree, hf_gnm_AdministrativeState);
}
static void
dissect_smi_attribute_34(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_ControlStatus(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_smi_attribute_66(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_Packages(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
static void
dissect_part12AttributeId_7(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
dissect_gnm_SupportedTOClasses(FALSE, tvb, 0, pinfo, parent_tree, -1);
}
void
dissect_gnm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
{
/* Dymmy function */
}
/*--- proto_register_gnm -------------------------------------------*/
void proto_register_gnm(void) {
/* List of fields */
static hf_register_info hf[] = {
{ &hf_gnm_AdministrativeState,
{ "AdministrativeState", "gnm.AdministrativeState",
FT_UINT32, BASE_DEC, VALS(gnm_AdministrativeState_vals), 0,
"", HFILL }},
#include "packet-gnm-hfarr.c"
};
/* List of subtrees */
static gint *ett[] = {
#include "packet-gnm-ettarr.c"
};
/* Register protocol */
proto_gnm = proto_register_protocol(PNAME, PSNAME, PFNAME);
register_dissector("gnm", dissect_gnm, proto_gnm);
/* Register fields and subtrees */
proto_register_field_array(proto_gnm, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
/*--- proto_reg_handoff_gnm ---------------------------------------*/
void proto_reg_handoff_gnm(void) {
register_ber_oid_dissector("0.0.13.3100.0.7.1", dissect_gnm_attribute_1, proto_gnm, "a-TPInstance(1)");
register_ber_oid_dissector("0.0.13.3100.0.7.2", dissect_gnm_attribute_ObjectList, proto_gnm, "affectedObjectList(2)");
register_ber_oid_dissector("0.0.13.3100.0.7.3", dissect_gnm_attribute_3, proto_gnm, "alarmSeverityAssignmentList(3)");
register_ber_oid_dissector("0.0.13.3100.0.7.4", dissect_gnm_attribute_NameType, proto_gnm, "alarmSeverityAssignmentProfileId(4)");
register_ber_oid_dissector("0.0.13.3100.0.7.5", dissect_gnm_attribute_PointerOrNull, proto_gnm, "alarmSeverityAssignmentProfilePointer(5)");
register_ber_oid_dissector("0.0.13.3100.0.7.6", dissect_gnm_attribute_6, proto_gnm, "alarmStatus(6)");
register_ber_oid_dissector("0.0.13.3100.0.7.7", dissect_gnm_attribute_7, proto_gnm, "channelNumber(7)");
register_ber_oid_dissector("0.0.13.3100.0.7.8", dissect_gnm_attribute_8, proto_gnm, "characteristicInformation(8)");
register_ber_oid_dissector("0.0.13.3100.0.7.9", dissect_gnm_attribute_ObjectInstance, proto_gnm, "clientConnection(9)");
register_ber_oid_dissector("0.0.13.3100.0.7.10", dissect_gnm_attribute_ObjectInstance, proto_gnm, "clientTrail(10)");
register_ber_oid_dissector("0.0.13.3100.0.7.11", dissect_gnm_attribute_Count, proto_gnm, "connectedTpCount(11)");
register_ber_oid_dissector("0.0.13.3100.0.7.12", dissect_gnm_attribute_NameType, proto_gnm, "connectionId(12)");
register_ber_oid_dissector("0.0.13.3100.0.7.13", dissect_gnm_attribute_NameType, proto_gnm, "cTPId(13)");
register_ber_oid_dissector("0.0.13.3100.0.7.14", dissect_gnm_attribute_NameType, proto_gnm, "crossConnectionId(14)");
register_ber_oid_dissector("0.0.13.3100.0.7.15", dissect_gnm_attribute_15, proto_gnm, "crossConnectionName(15)");
register_ber_oid_dissector("0.0.13.3100.0.7.16", dissect_gnm_attribute_16, proto_gnm, "crossConnectionObjectPointer(16)");
register_ber_oid_dissector("0.0.13.3100.0.7.17", dissect_gnm_attribute_17, proto_gnm, "currentProblemList(17)");
register_ber_oid_dissector("0.0.13.3100.0.7.18", dissect_gnm_attribute_18, proto_gnm, "directionality(18)");
register_ber_oid_dissector("0.0.13.3100.0.7.19", dissect_gnm_attribute_19, proto_gnm, "downstreamConnectivityPointer(19)");
register_ber_oid_dissector("0.0.13.3100.0.7.20", dissect_gnm_attribute_NameType, proto_gnm, "equipmentId(20)");
register_ber_oid_dissector("0.0.13.3100.0.7.21", dissect_gnm_attribute_19, proto_gnm, "externalTime(21)");
register_ber_oid_dissector("0.0.13.3100.0.7.22", dissect_gnm_attribute_NameType, proto_gnm, "fabricId(22)");
register_ber_oid_dissector("0.0.13.3100.0.7.23", dissect_gnm_attribute_PointerOrNull, proto_gnm, "fromTermination(23)");
register_ber_oid_dissector("0.0.13.3100.0.7.24", dissect_gnm_attribute_NameType, proto_gnm, "gtpId(24)");
register_ber_oid_dissector("0.0.13.3100.0.7.25", dissect_gnm_attribute_Count, proto_gnm, "idleTpCount(25)");
register_ber_oid_dissector("0.0.13.3100.0.7.26", dissect_gnm_attribute_26, proto_gnm, "listOfCharacteristicInfo(26)");
register_ber_oid_dissector("0.0.13.3100.0.7.27", dissect_gnm_attribute_27, proto_gnm, "locationName(27)");
register_ber_oid_dissector("0.0.13.3100.0.7.28", dissect_gnm_attribute_NameType, proto_gnm, "managedElementId(28)");
register_ber_oid_dissector("0.0.13.3100.0.7.29", dissect_gnm_attribute_NameType, proto_gnm, "mpCrossConnectionId(29)");
register_ber_oid_dissector("0.0.13.3100.0.7.30", dissect_gnm_attribute_NameType, proto_gnm, "networkId(30)");
register_ber_oid_dissector("0.0.13.3100.0.7.31", dissect_gnm_attribute_ObjectInstance, proto_gnm, "networkLevelPointer(31)");
register_ber_oid_dissector("0.0.13.3100.0.7.32", dissect_gnm_attribute_Boolean, proto_gnm, "protected(32)");
register_ber_oid_dissector("0.0.13.3100.0.7.33", dissect_gnm_attribute_Boolean, proto_gnm, "redline(33)");
register_ber_oid_dissector("0.0.13.3100.0.7.34", dissect_gnm_attribute_34, proto_gnm, "replaceable(34)");
register_ber_oid_dissector("0.0.13.3100.0.7.35", dissect_gnm_attribute_SequenceOfObjectInstance, proto_gnm, "serverConnectionList(35)");
register_ber_oid_dissector("0.0.13.3100.0.7.36", dissect_gnm_attribute_ObjectList, proto_gnm, "serverTrailList(36)");
register_ber_oid_dissector("2.9.3.2.7.31", dissect_smi_attribute_31, proto_gnm, "smi2AttributeID (7) administrativeState(31)");
register_ber_oid_dissector("2.9.3.2.7.34", dissect_smi_attribute_34, proto_gnm, "smi2AttributeID (7) controlStatus(34)");
register_ber_oid_dissector("2.9.3.2.7.66", dissect_smi_attribute_66, proto_gnm, "smi2AttributeID (7) packages(66)");
register_ber_oid_dissector("2.9.2.12.7.7", dissect_part12AttributeId_7, proto_gnm, "part12AttributeId (7) supportedTOClasses(7)");
}

View File

@ -0,0 +1,34 @@
/* packet-gnm.c
* Routines for GENERIC NETWORK INFORMATION MODEL Data dissection
*
* Copyright 2005 , Anders Broman <anders.broman [AT] ericsson.com>
* $Id$
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
* Copyright 1998 Gerald Combs
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*
* References:
* ITU-T recommendatiom M.3100
*/
#ifndef PACKET_GNM_H
#define PACKET_GNM_H
/*#include "packet-gni-exp.h"*/
#endif /* PACKET_GNM_H */

4289
epan/dissectors/packet-gnm.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,41 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
/* .\packet-gnm.h */
/* ../../tools/asn2eth.py -X -b -e -p gnm -c gnm.cnf -s packet-gnm-template GNM.asn */
/* Input file: packet-gnm-template.h */
/* packet-gnm.c
* Routines for GENERIC NETWORK INFORMATION MODEL Data dissection
*
* Copyright 2005 , Anders Broman <anders.broman [AT] ericsson.com>
* $Id$
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
* Copyright 1998 Gerald Combs
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*
* References:
* ITU-T recommendatiom M.3100
*/
#ifndef PACKET_GNM_H
#define PACKET_GNM_H
/*#include "packet-gni-exp.h"*/
#endif /* PACKET_GNM_H */