İngilizceFransızcaİspanyolca

Sunucuları çalıştırın | Ubuntu > | Fedora > |


OnWorks favicon'u

ibdmsh - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında ibdmsh çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü gibi birden çok ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen ibdmsh komutudur.

PROGRAM:

ADI


ibdmsh IB DATA MODEL - Genişletilmiş TCL kabuğu

TANIM


ibdmsh IB veri modeli için arayüz ile genişletilmiş bir TCL kabuğudur. Bu kabuğu kullanmak için
IB veri modeli nesnelerine ve işlevlerine doğrudan erişen TCL kodunu yazacaksınız.

Aşağıdaki alt bölümler, bu nesneler ve API için ayrıntılı tanım sağlar.

IBDM Sabitler


Düğüm Türleri

Aşağıdaki sabitler, düğüm nesne türü alanı tarafından kullanılır

[ Sabit : int ] $IB_UNKNOWN_NODE_TYPE = IB_UNKNOWN_NODE_TYPE

[ Sabit : int ] $IB_SW_NODE = IB_SW_NODE

[ Sabit : int ] $IB_CA_NODE = IB_CA_NODE

Giriş lâf salatası Bayraklar

Aşağıdaki sabitler, global değişken için argüman bitleri olarak kullanılır
$FabricUtilsVerboseLevel

[ Sabit : int ] $FABU_LOG_NONE = 0x0

[ Sabit : int ] $FABU_LOG_ERROR = 0x1

[ Sabit : int ] $FABU_LOG_INFO = 0x2

[ Sabit : int ] $FABU_LOG_VERBOSE = 0x4

IBDM Globaller


Günlük düzeyi: FABU_LOG* değerlerine ayarlayın

[ Global : int ] $FabricUtilsVerboseLevel

IBDM nesneler


Bu bölüm, IBDM tarafından açığa çıkarılan çeşitli nesne tiplerini açıklamaktadır.

IBDM, bazı dahili nesnelerini ortaya çıkarır. Çeşitli tarafından döndürülen nesne tanımlayıcıları
işlev çağrıları aşağıdaki kurallara göre biçimlendirilir:

Kumaş: kumaş:

sistem: sistem: :

SysPort: sysport: : :

Düğüm: düğüm: :

bağlantı noktası: bağlantı noktası: : /

IBDM Nesneleri, standart Swig-Tcl nesneleridir. Bu nedenle kullanımları için iki çeşidi vardır:
Değişkenler, Nesneler.

Değişkenler/İşaretçiler:
Her nesne özniteliği için bir "get" ve "set" yöntemleri sağlanır.
Yöntemlerin formatı: _ _ .
"set" yöntemi yalnızca okuma/yazma öznitelikleri için kullanılabilir.

Örnek:
düğümleri ayarla [ibdm_get_nodes]
düğümü ayarla [lindex $nodes 0]
IBNode_numPorts_get $düğüm

Nesneler:
Bir nesne işaretçisi verildiğinde, onu bir Tcl "Nesne" ye dönüştürebilirsiniz.
aşağıdaki komutu kullanarak:
-Bugün nasılsın

Bir kez ilan etti ile birlikte kullanılabilir
standart "configure" ve "cget" komutlarıyla.

Örnek (bir öncekinden sonra):
IBFabric VaTech -bu $kumaş
VaTech cget -NodeByName

Bir nesne sembolünü silmek (ve başka bir nesneyle eşlenmesini etkinleştirmek için)
işaretçi) kullanın:
Adını değiştirmek ""
örneğin:
VaTech'i yeniden adlandır ""

sınıf IBPort

Aşağıdakiler, bir IB Port sınıfının farklı alanları ve yöntemleridir.
IB cihazı (çip) fiziksel bağlantı noktası.

[ Üye verileri: IBPort * döndürür ] -p_remotePort
Bağlantının diğer tarafına bağlı bağlantı noktası

[ Üye verileri: IBSysPort'u döndürür * ] -p_sysPort
Sistem bağlantı noktası (varsa) bağlı

[ Üye verileri: IBNode * döndürür ] -p_node
Bağlantı noktasının parçası olduğu düğüm.

[ Üye verileri: int ] -num döndürür
Fiziksel bağlantı noktaları numara ile tanımlanır.

[Üye verileri: imzasız int döndürür] -base_lid
Bağlantı noktasına atanan taban kapağı.

[ Üye verileri: IBLinkWidth * döndürür ] -width
Bağlantı noktasının bağlantı genişliği

[ Üye verileri: IBLinkSpeed ​​* döndürür ] -speed
Bağlantı noktasının bağlantı hızı

[Üye verileri: imzasız int döndürür] -counter1
Çeşitli algoritmalar tarafından kullanılacak genel bir değer

[ Yapıcı: IBPort * döndürür ] IBPort adı p_nodePtr numarası
IBPort yapıcısı

[Üye: new_uint64_t döndürür] guid_get
Limanın kılavuzunu edinin

[Üye: geçersizliği döndürür] guid_set guid
Bağlantı noktasının kılavuzunu değiştirin

[Üye: new_string döndürür] getName
Bağlantı noktası adını alın: Sistem bağlantı noktasına (ön panel) bağlı bir aygıt bağlantı noktası döner
ön panel bağlantı noktası adı.

[Üye: geçersizliği döndürür] p_otherPort'u bağlayın ?width? ?hız?
Bağlantı noktasını isteğe bağlı genişlik ve hız parametreleriyle başka bir düğüm bağlantı noktasına bağlayın

[Üye: int döndürür] bağlantıyı kes
Bağlantı noktasını ayırın. Başarılı olursa 0 döndür

sınıf IBNode

IB Düğümü sınıfı, tek bir IB Aygıtını (yonga) temsil eder

[ Üye verileri: * dizisini döndürür ] -name
Düğümün adı (çipin örnek adı)

[ Üye verileri: IBNodeType ] -type değerini döndürür
Bir $IB_SW_NODE veya $IB_CA_NODE

[ Üye verileri: uint16_t * döndürür ] -devId
Düğümün cihaz kimliği

[ Üye verileri: uint16_t * döndürür ] -revId
Cihaz revizyon kimliği.

[ Üye verileri: uint16_t * döndürür ] -vendId
Cihaz Satıcı Kimliği.

[ Üye verileri: * dizesini döndürür ] - öznitelikler
İsteğe bağlı özniteliklerin virgülle ayrılmış dizisi k=v

[Üye verileri: uint8_t döndürür] -rank
Düğümün sırası (0 bir köktür)

[ Üye verileri: IBSystem * döndürür ] -p_system
Hangi sisteme aitiz

[ Üye verileri: IBFabric'i döndürür * ] -p_fabric
Hangi kumaşa aitiz.

[Üye verileri: imzasız int döndürür] -numPorts
Fiziksel bağlantı noktası sayısı

[ Üye verileri: vec_pport * döndürür ] -Portlar
Tüm bağlantı noktalarının vektörü

[ Üye verileri: vec_vec_byte * döndürür ] -MinHopsTable
Her bir bağlantı noktasından her bir hedef LID'ye ulaşmak için gereken atlama sayısının bir tablosu

[ Üye verileri: vec_byte * döndürür ] -LFT
Uzun bir hedef bağlantı noktası vektörü olan bu düğümün (yalnızca anahtarlar için) LFT'si -
indeks kapaktır

[Üye: new_uint64_t döndürür] guid_get
Düğüm GUID'sini edinin

[Üye: geçersizliği döndürür] guid_set guid
Düğüm GUID'sini ayarlayın

[ Yapıcı: IBNode * döndürür ] IBNode adı n p_fab p_sys t np
müteahhit

[ Üye : IBPort * döndürür ] makePort num
Numarasına göre yeni bir bağlantı noktası oluşturun (gerekirse) bağlantı noktası işaretçisini döndürün

[ Üye : IBPort * döndürür ] getPort num
num = 1..N numarasına göre bir bağlantı noktası alın:

[Üye: geçersizliği döndürür] setHops p_port kapak atlamaları
Verilen bağlantı noktası (* hepsidir) kapak çifti için minimum sekmeyi ayarlayın

[Üye: int döndürür] getHops p_port kapağı
Verilen bağlantı noktası veya tümü için tanımlanan minimum atlama sayısını alın

[Üye: IBPort'u döndürür*] getFirstMinHopPort kapağı
Düğüm bağlantı noktalarını tarayın ve kapağa minimum atlama ile ilk bağlantı noktasını bulun

[Üye: geçersiz döndürür] setLFTPortForLid kapak portNum
Verilen KAPAK için Doğrusal Yönlendirme Tablosunu ayarlayın

[Üye: int döndürür] getLFTPortForLid kapağı
Belirli bir KAPAK için LFT'yi alın

[Üye: geçersizliği döndürür] repHopTable
Düğümün min hop tablosunu boşaltın

sınıf IBSysPort

IBSysPort sınıfı, sistem ön veya arka panellerinde bir IB fişini temsil eder

[ Üye verileri: * dizisini döndürür ] -name
Limanın ön panel adı (ipek)

[ Üye verileri: IBSysPort'u döndürür * ] -p_remoteSysPort
Diğer taraftaki sys portu bağlıysa

[ Üye verileri: IBSystem * döndürür ] -p_system
ait olduğu sistem

[ Üye verileri: IBPort * döndürür ] -p_nodePort
Bağlandığı düğüm bağlantı noktası.

[ Yapıcı: IBSysPort'u döndürür * ] IBSysPort adı n p_sys
Inşaatçı

[ Üye : geçersiz döndürür ] p_otherSysPort ?width? ?hız?
İki SysPort'u bağlayın

[Üye: int döndürür] bağlantıyı kes
SysPort'un (ve bağlantı noktalarının) bağlantısını kesin. Başarılı olursa 0 döndür

sınıf IBSistem

IBSystem sınıfı, tüm bir kasayı temsil eder

[ Üye verileri: * dizisini döndürür ] -name
Sistemin "ana bilgisayar" adı

[ Üye verisi: * dizisini döndürür ] -type
Türü nedir, yani Cougar, Buffalo, MTS2400 vb. İlgili bir IBNL dosyası
var olmalı - bu sistem türünü tanımlama

[ Üye verileri: IBFabric'i döndürür * ] -p_fabric
Sistemin ait olduğu kumaş

[ Üye verileri: map_str_pnode * döndürür ] -NodeByName
Düğüm işaretçisini adıyla sağlayın

[ Üye verileri: map_str_psysport döndürür * ] -PortByName
Ada göre SysPort'a işaretçi sağlayan bir harita

[ Yapıcı: IBSystem * döndürür ] IBSystem adı n p_fab t
müteahhit

[Üye: new_uint64_t döndürür] guid_get
Sistem görüntüsü GUID'sini edinin

[Üye: geçersizliği döndürür] guid_set guid
Sistem görüntüsü GUID'sini ayarlayın

[Üye: IBSysPort * döndürür] makeSysPort pName
Bağlantı noktasını tanımladığımızdan emin olun (eğer değilse tanımlayın)

[Üye: IBPort* döndürür] getSysPortNodePortByName sysPortName
Verilen sys bağlantı noktası için düğüm bağlantı noktasını ada göre alın

[ Üye : IBSysPort * ] getSysPort adını döndürür
Ada göre bir Sys Portu alın

sınıf IB Kumaş

Sistemlerden oluşan tüm bir IB alt ağını temsil eder

[ Üye verileri: map_str_pnode * döndürür ] -NodeByName
Düğüm adı ve işaretçi çiftlerinin bir listesini sağlayın

[ Üye verileri: map_str_psys * döndürür ] -SystemByName
Sistem adı ve işaretçi çiftlerinin bir listesini sağlayın

[ Üye verileri: vec_pport * döndürür ] -PortByLid
Sistem bağlantı noktası adı ve işaretçi çiftlerinin bir listesini sağlar

[ Üye verileri: map_guid_pnode * döndürür ] -NodeByGuid
Düğüm kılavuzu ve düğüm işaretçi çiftlerinin bir listesini sağlar

[ Üye verileri: map_guid_psys döndürür * ] -SystemByGuid
Sistem görüntüsü kılavuzu ve sistem işaretçi çiftlerinin bir listesini sağlar

[ Üye verileri: map_guid_pport * döndürür ] -PortByGuid
Bağlantı noktası kılavuzu ve bağlantı noktası işaretçisi çiftlerinin bir listesini sağlar

[Üye verileri: imzasız int döndürür] -minLid
Kullanılan min kapağını takip edin.

[Üye verileri: imzasız int döndürür] -maxLid
Kullanılan maksimum kapağı takip edin.

[Üye verileri: imzasız int döndürür] -lmc
kullanılan LMC değeri

[Üye: IBNode*'u döndürür] makeNode n p_sys tipi numPorts
Düğümü adıyla alın (var olmayanlardan birini oluşturun)

[Üye: IBNode * döndürür] getNode adı
Düğümü adıyla al

[ Üye : list_pnode * ] getNodesByType türünü döndürür
Gerekli türle eşleşen düğüm işaretçilerinin listesini döndür

[Üye: IBSystem * döndürür] makeGenericSystem adı
Yeni bir genel sistem oluşturun - temelde düğümler için boş bir kapsayıcı ...

[Üye: IBSystem * döndürür] makeSystem ad türü
Yeni bir sistem oluşturun - türün kayıtlı bir fabrikası olmalıdır.

[Üye: IBSystem * döndürür] getSystem adı
Sistem adına göre alın

[Üye: IBSystem * döndürür] getSystemByGuid kılavuzu
sistemi kılavuzundan al

[Üye: IBNode * döndürür] getNodeByGuid kılavuzu
düğümü kılavuzundan al

[Üye: IBPort * döndürür] getPortByGuid kılavuzu
limanı kılavuzundan al

[Üye: geçersiz döndürür] addCable t1 n1 p1 t2 n2 p2 ?width? ?hız?
Düğüm türü, düğüm adı ve bağlantı noktası numarası olmak üzere iki set verilen bir kablo ekler. Opsiyonel olarak
bağlantı için belirli bir genişlik ve hız kullanın

[Üye: int döndürür] parseCables fn
Kablo dosyasını ayrıştırın ve kumaşı oluşturun

[Üye: int döndürür] parseTopology fn
Topoloji Dosyasını ayrıştırın ve kumaşı oluşturun

[Üye: int döndürür] addLink type1 numPorts1 sysGuid1 nodeGuid1 portGuid1 vend1
devId1 rev1 desc1 kapak1 portNum1 type2 numPorts2 sysGuid2 nodeGuid2 portGuid2 vend2 devId2
rev2 desc2 kapak2 bağlantı noktasıNum2 ?genişlik? ?hız?
Kumaşa bir bağlantı ekleyin - bu, gerektiği gibi sistem ve düğümler oluşturacaktır.

[Üye: int döndürür] parseSubnetLinks fn
OpenSM subnet.lst dosyasını ayrıştırın ve kumaşı ondan oluşturun.

[Üye: int döndürür] parseFdbFile fn
OpenSM FDB döküm dosyasını ayrıştırın ve anahtarların LFT tablolarını doldurun

[Üye: int döndürür] parseMCFdbFile fn
Bir OpenSM MCFDBs dosyasını ayrıştırın ve MFT tablosunu buna göre ayarlayın

[Üye: int döndürür] parsePSLFile fn
SL eşleme dosyasına giden yolu ayrıştırın. Her satırda: src_node_guid DLID SL

Kredi döngüsü kontrolü tarafından kullanılır

[Üye: int döndürür] parseSLVLFile fn
SLVL tabloları dosyasını ayrıştırın. Her satır şunları içerir: sw_node_guid in_port out_port 0x(sl0)(sl1)
0x(sl2)(sl3)...

[Üye: geçersiz döndürür] setLidPort kapak p_port
Bir kapak bağlantı noktası ayarlayın

[Üye: IBPort* döndürür] getPortByLid kapağı
Kapakla bir bağlantı noktası alın

[ IBFabric'i döndürür * ] new_IBFabric
Yeni bir kumaş oluşturun

[ void döndürür ] delete_IBFabric p_fabric
Bir kumaşı yok et

IBDM fonksiyonlar


Bu bölüm, IBDM'nin sunduğu işlevlerle ilgili ayrıntıları sağlar. Sipariş aşağıdaki gibidir
normal bir IBDM akışında beklenen sıra. Hepsi başarı durumunda 0 döndürür.

alt ağ kamu hizmetleri

Dosya, OpenSM başlatmayı taklit etmek için alt ağda çalıştırılacak bir dizi yardımcı programı içerir.
ve sonuçları analiz edin:

[ int döndürür ] ibdmAssignLids p_smNodePort ?lmc?
LID'leri isteğe bağlı bir LMC ile atayın (bağlantı noktası başına birden çok LID)

[ int döndürür ] ibdmCalcMinHopTables p_fabric
OpenSM tarzı yönlendirmeyi çalıştırmak için gereken MinHopTable'ları hesaplayın ve doldurun.

[ int döndürür ] ibdmCalcUpDnMinHopTbls p_fabric rootNodesNameRex
Yukarı/Aşağı kuralına göre MinHopTable'ları hesaplayın ve doldurun.

[ int döndürür ] ibdmOsmRoute p_fabric
Kumaşı OpenSM tarzı yönlendirme ile yönlendirin

[ int döndürür ] ibdmEnhancedRoute p_fabric
LMC > 0 için daha iyi destekle geliştirilmiş OpenSM tarzı yönlendirme ile yapıyı yönlendirin

[ int döndürür ] ibdmFatTreeRoute p_fabric rootNodes
Yalnızca tam yağlı ağaçlara uyan bir algoritma kullanarak kumaşı yönlendirin

[ int döndürür ] ibdmFatTreeAnalysis p_fabric
Yağlı bir ağaç olup olmadığını görmek için kumaşı analiz edin ve eğer yağsa yönlendirin.

[ int döndürür ] ibdmVerifyCAtoCARoutes p_fabric
Tüm (H)CA'ların LFT ayarlarına göre birbirine bağlı olduğundan emin olun

[ int döndürür ] ibdmVerifyAllPaths p_fabric
Tüm Anahtarların ve (H)CA'ların LFT'ye göre birbirine bağlı olduğundan emin olun.
ayarlar

[ int döndürür ] ibdmAnalyzeLoops p_fabric
Kredi döngüleri için sıkı bir kontrol. Bu algoritma tam ve doğru bir kontrol yapar
ancak kredi döngüsü yollarının raporlanmasının yorumlanması zordur. eğer kökleri biliyorsan
ağacın (veya ağaç simetrik ise) kullanılması tercih edilir.
ibdmReportNonUpDownCa2CaYolları

[ list_pnode döndürür ] ibdmFindSmetricalTreeRoots p_fabric
Ağaç topolojisini analiz edin ve simetrisine göre ağacın köklerini bulun

[ list_pnode döndürür ] ibdmFindRootNodesByMinHop p_fabric
MinHopTable'a dayanarak ağacın köklerini bulun. %5 asimetriye izin verilir

[ int döndürür ] ibdmRankFabricByRoots p_fabric rootNodes
Kök düğümlerin (adlar) listesi verildiğinde, düğümleri sıralayın (kök = 0)

[ int döndürür ] ibdmReportNonUpDownCa2CaPaths p_fabric rootNodes
Yukarı/Aşağı kuralının korunduğundan emin olmak için rotaları analiz edin

[ int döndürür ] ibdmCheckMulticastGroups p_fabric
Çok noktaya yayın yönlendirmesinin bağlantısını doğrulayın

[ int döndürür ] ibdmCheckFabricMCGrpsForCreditLoopPotential p_fabric rootNodes
Yukarı/Aşağı kuralına uyduğundan emin olmak için çok noktaya yayın yönlendirmesini analiz edin

[ int döndürür ] ibdmLinkCoverageAnalysis p_fabric rootNodes
Bir dizi kaynaktan hedeflere iletim için bir program hazırlayın.
her aşamada abone olunan linkler yoktur ve tüm aşamalardan sonra hepsi
kumaşın bağlantıları excersize edildi

İzleme kamu hizmetleri

Bu işlevler, ziyaret edilen düğümleri geri bildiren izleme yollarına izin verir.

[ int döndürür ] ibdmTraceDRPathRoute p_smNodePort drPathPortNums
Verilen bağlantı noktasından yönlendirilmiş bir rota yolunu izleyin

[ int döndürür ] ibdmTraceRouteByMinHops p_fabric kaydırıldı dlid
Kaynaktan hedef LID'lere MinHop boyunca bir yol izleyin

[ int döndürür ] ibdmTraceRouteByLFT p_fabric kaydırdı dlid atlama p_nodesList
Atlamaları ve düğüm listesi değişkenlerini güncelleyen LFT'yi takip eden bir yol izleyin

Topoloji Uygun kamu hizmetleri

Aşağıdaki yardımcı programlar, hem uyumsuzluk mesajları hem de bir
birleşik kumaş

[ int döndürür ] ibdmMatchFabrics p_spec_fabric p_discovered_fabric çapaDüğümAdı
çapaPortSayısı çapaPortGuid
Enchor portundan başlayarak keşfedilen bir topoloji tabanlı kumaşı eşleştirin

[ int döndürür ] ibdmBuildMergedFabric p_spec_fabric p_discovered_fabric p_merged_fabric
ibdmMatchFabrics kullanarak eşleştirdikten sonra "birleştirilmiş kumaşı" bilgi ile doldurun
eşleşen düğümler için birleştirildi

Tıkanıklık Analiz kamu hizmetleri

Aşırı bağlantı aboneliğini izleme ve raporlama yeteneği sağlayın

[ int döndürür ] ibdmCongInit p_fabric
İzleme sistemini başlat

[ int döndürür ] ibdmCongCleanup p_fabric
Sayaçları temizleyin ve serbest bırakın

[ int döndürür ] ibdmCongClear p_fabric
Temizleme sayaçları

[ int döndürür ] ibdmCongTrace p_fabric srcLid dstLid
Bağlantı kullanım bilgilerini güncelleyen LID'ler arasında bir yol izleyin

[ int döndürür ] ibdmCongReport p_fabric
Ortaya çıkan tıkanıklık bilgilerini bildirin

[ int döndürür ] ibdmCongDump p_fabric
Tüm tıkanıklık izleme bilgilerini boşalt

onworks.net hizmetlerini kullanarak ibdmsh'yi çevrimiçi kullanın


Ad


Ad