% discover SPVPCs
autodiscovery_mapping(
SrcN,
[[pnniSpvpcSrcCallingPort, I] = SrcPort,
[pnniSpvpcSrcCallingVPI, I] = SrcVpi,
[pnniSpvpcSrcCalledAtmAddr, I] = DstAddr, % NSAP address
[pnniSpvpcSrcCalledPort, I] = DstPort,
[pnniSpvpcSrcCalledAssignedVPI, I] = DstVpi,
[pnniSpvpcSrcName, I] = SPVPCname,
% [pnniSpvpcSrcQosIndex, I] = QosIndex,
% [pnniSpvpcSrcFwdQoSClass, I] = FwdQos,
% [pnniSpvpcSrcBckQoSClass, I] = BckQos,
% can read qosClassName in QosClassExpansionTable
[pnniSpvpcSrcRowStatus, I] = RowStat],
MappedObject
) :-
RowStat == 1, % only entries with status = valid
% unify DstN. Succeds only if destination node in database
atmAddress(DstN, _DstBoard, DstAddr),
% nsapPrefix defined as leading 13 octects of NSAP address:
% atom_prefix(DstAddr, 13, NsapPre),
% nsapPrefix(DstN, _DstBoard, NsapPre),
% SrcPort and DstPort are global port numbers
% retrieve source and destination module numbers:
pPortGlobal(SrcN, SrcM, _SrcP, SrcPort, _),
pPortGlobal(DstN, DstM, _DstP, DstPort, _),
MappedObject =
[userPoll(getAtmPvc(I, SPVPCname, SrcN, SrcM, SrcPort, 1, DstN, DstM, DstPort,
1, 'SPVPC', SrcVpi, 0, DstVpi, 0))], !
;
MappedObject = []
.
PVP connections are stored in the database with a value of 0 for the VCI parameter required by the INMS atmPvc object. In the case of (smart) PVC connections, source and destination VCIs are read from the correspondig MIB table.
% discover SPVCCs
autodiscovery_mapping(
SrcN,
[[pnniSpvcSrcCallingPort, I] = SrcPort,
[pnniSpvcSrcCallingVPI, I] = SrcVpi,
[pnniSpvcSrcCallingVCI, I] = SrcVci,
[pnniSpvcSrcCalledAtmAddr, I] = DstAddr, % NSAP address
[pnniSpvcSrcCalledPort, I] = DstPort,
[pnniSpvcSrcCalledAssignedVPI, I] = DstVpi,
[pnniSpvcSrcCalledAssignedVCI] = DstVci,
[pnniSpvcSrcName, I] = SPVCname,
% [pnniSpvcSrcQosIndex, I] = QosIndex,
% [pnniSpvcSrcFwdQoSClass, I] = FwdQos,
% [pnniSpvcSrcBckQoSClass, I] = BckQos,
% can read qosClassName in QosClassExpansionTable
[pnniSpvcSrcEntryStatus, I] = RowStat],
MappedObject
) :-
RowStat == 1, % only entries with status = valid
% unify DstN. Succeds only if destination node in database
atmAddress(DstN, _DstBoard, DstAddr),
% nsapPrefix defined as leading 13 octects of NSAP address:
% atom_prefix(DstAddr, 13, NsapPre),
% nsapPrefix(DstN, _DstBoard, NsapPre),
% SrcPort and DstPort are global port numbers
% retrieve source and destination module numbers:
pPortGlobal(SrcN, SrcM, _SrcP, SrcPort, _),
pPortGlobal(DstN, DstM, _DstP, DstPort, _),
MappedObject =
[userPoll(getAtmPvc(I, SPVCname, SrcN, SrcM, SrcPort, 1, DstN, DstM, DstPort, 1,
'SPVCC', SrcVpi, SrcVci, DstVpi, DstVci))], !
;
MappedObject = []
.