SONiC デバイス プロファイル
バックグラウンド
デバイスは、デバイスプロファイルを使用してApstra環境で認識されます。これらはデバイス固有のセマンティクスをキャプチャします。このセマンティクスは、Apstraソフトウェアがセマンティクスを検出し、ブループリント内でデータパスに適したネットワーク設定を実行するために必要なものです。
デバイスプロファイルはRESTエンティティであり、設計フェーズで作成、編集、削除、一覧表示できます。デバイスプロファイルは、インターフェイスマップの作成に使用され、ブループリントの展開時にApstra設定レンダリングエンジン内で直接使用されます。
このドキュメントでは、セマンティック的に正しいSonic DPを作成(および編集)するために必要な知識について説明します。これにより、データベースに適切なDPが作成されることを保証するApstraで実施されている検証に合格するだけでなく、デバイスに適用されるベンダーのセマンティック要件も尊重されるため、生成された設定がネットワークデバイスにプッシュされたときに展開に失敗しません。
問題の説明
デバイスプロファイルは、ベンダーのセマンティクスを考慮したデータ構造です。デバイスプロファイルを作成するには、ベンダーからのデバイス仕様が必要です。有効で設定しやすいJSONを作成するには、これらの仕様をApstraデバイスプロファイルデータモデルに変換する必要があります。
解決
高レベルのデータ モデルは、すべての DP で同じです。すべてのデバイスプロファイルに同じキーが使用されます。値の取得方法は異なる場合もあれば、ベンダーの制約によって読み込まれる場合もあります。このドキュメントには、次の項目が含まれています。
- DP のスキーマと DP 内の入れ子になった要素。
- スキーマ内の各キーと値のペアの意味。
- 値が入力される仕入先固有のレシピ。
- 考慮すべき制約やコーナーケースをリストアップします。特に特定の(モデルグループの)ポート構成について。
- すでに本番環境にあるDPを作成する過程で学んだ教訓は、将来のDPの作成に役立ちます。
ユーザーインターフェース
Apstra GUIからデバイスプロファイルを作成すると、一部のエントリがセマンティックに検証されます。ただし、ベンダー固有の深い制約や要件を完全に確保できるわけではありません。正確なベンダー仕様を使用して、GUIは、Apstraデータベースデータモデルの一部となる意味的に有効なDPの作成を支援します。
または、ベンダーの仕様を含む独自のPythonコードを記述し、Apstra DPデータモデルに従って正規化し、JSONを生成してGUIでインポートすることもできます。
セレクタ情報
4 つのセレクター フィールドすべてに正しい情報を入力することは、デバイスがデバイス プロファイルと一致させるために重要です。
デバイスの情報を取得するためのセレ | クタフィールド | 値 | コマンド
---|---|---|
モデル | 0x21 | showプラットフォームsyseeprom |
生産者 | syseeprom で0x2D場合は、他に0x2D 0x2B | showプラットフォームsyseeprom |
OSファミリ | ソニック | バージョンを表示 |
バージョン | .* | バージョンを表示 |
資格
デバイス仕様がわかっている場合は、デバイスプロファイルに入るためのハードウェアおよびソフトウェア機能を取得できます。
次の表は、SONiCデバイスでよく見られる値(認定デバイスに基づく)を示しています。
デバイスの情報を取得するためのセレ | クタフィールド | 値 | コマンド
---|---|---|
ユーザーランド | 64 (int) | 設定には影響しません |
form_factor | '1RU' (文字列) | 設定には影響しません |
ecmp_limit | 64 (int) | 設定には影響しません |
ASIC | 'T2' (文字列) | 設定には影響しません |
CPU | 'x86' (文字列) | 設定には影響しません |
ラム | 16 (int) (単位は GB です) | 設定には影響しません |
オニエ | True (bool) (既定値) | 設定には影響しません |
lxcの | True (bool) (既定値) | 設定には影響しません |
インターフェイスの命名規則
Sonic は、GitHub マスターの Azure SONIC にある sonic ポート名ファイルごとの名前付け規則に従います。 https://github.com/Azure/SONiC/blob/master/doc/sonic-port-name.md
SONIC デバイス プロファイルを作成するには、デバイス固有のport_config.ini ファイル(sonic-buildimage/device/mellanox/x86_64-mlnx_msn2100-r0/ACS-MSN2100/port_config.iniなど)を読み、上記のリンクの指示に従って正しいインターフェイス名を考え出す必要があります。
port_congi.iniは、SONiCが使用するインターフェイス名を指定します。デバイスプロファイルは、構成ファイル(config_db.json)でPORT設定を生成するインターフェイス名と一致する必要があります。このドキュメントでは、port_config.iniとconfig_db.jsonのインターフェイス命名基準を同じにする必要があります。これらのインターフェイス名と、port_cfg.ini ファイルで指定されているレーン番号を DP で使用します。前述の手順に基づいてデバイスプロファイルが生成されると、ApstraはLDとともにデバイスプロファイルを使用してインターフェイスマップ(IM)を生成します。Apstraは、検証の一環として、IM(ポートとその速度を記述)が実際に使用可能であり、「/usr/share/sonic/device/ x86_64-mlnx_msn2100-r0/ACS-MSN2100/port_config.ini」でサポートされていることを確認します。この検証は、サポートされていないポート設定(config_db.json)が間違ったDPのためにApstraで誤って生成されたためにSONiC NOSスタックが失敗しないことを確認するために実行されます。そのため、SONiC プラットフォーム用に生成された DP に、その特定のプラットフォームのファイルに反映されている正しいインターフェイス名とレーン マップport_config.iniエンド ユーザーが確認することが重要です。プラットフォームには、そのプラットフォームのさまざまな HWSKU の一部であるいくつかの異なる port_config.ini ファイルがある場合があります。Apstraは、生成されたポート設定を、そのプラットフォームで利用可能なオプションのいずれかで検証しようとします。Apstraは現在、SONiCプロジェクトで進行中のダイナミックポートブレークアウト機能を使用していません。
トラブルシューティング
デバイスの不一致は、通常、デバイスのライフサイクルの開始時に発生します。デバイスがデバイスプロファイルを選択していない場合は、デバイスプロファイルの4つのセレクターフィールドを確認します。
ポートが誤った速度で設定されている場合、またはOS固有のポート制約がデバイスプロファイルまたはインターフェイスマップで処理されていない場合、展開エラーが発生する可能性があります。
根本原因のフローとして考えられるのは、次のようになります。
- 明らかなポート機能エラーがないか DP を確認します。ポートは、DPが設定した速度に本当に対応していますか。デバイス固有のport_config.ini Sonicオープンソースプロジェクトは、ERRORメッセージを解析するための優れたリソースです。
- DPが自動ネゴシエーションまたは無効なインターフェイスを正しく設定しているかどうかを確認します。オートネゴシエーションとディセーブルはどちらもインターフェース設定欄で表現できます。
- インターフェース名とレーンマッピングをデバッグする場合は、対応するport_config.iniを確認してください。AS5712-54X edgecore/acctonボックスの例として、レーン/名前/エイリアスなどの詳細を含むport_config.iniファイルを取得できます https://github.com/Azure/sonic-buildimage/tree/master/device/accton/x86_64-accton_as5712_54x-r0/Accton-AS5712-54X
- 名前付けの制約については、SONiC の公式ドキュメントを参照してください。例えば、SONIC が動作している Accton 5712 54X のインターフェース名を生成したい場合、port_config.iniは認証局です。 https://github.com/Azure/sonic-buildimage/blob/master/device/accton/x86_64-accton_as5712_54x-r0/Accton-AS5712-54X/port_config.ini 場合によっては、デバイスにポート間の制約がある場合があります。SONiCの場合、通常、port_config.iniファイルにレイアウトされます。特定のプラットフォームには複数のport_config.iniファイルがあり、各port_config.iniファイルは sonic イメージの HWSKU フォルダーにあります (上記のようなファイル)。(port_config.iniに記載されているもの以外)でさまざまなポート速度を試すには、チップセットと物理スイッチの製造元に関する知識が必要であり、何が実現できるかを確認する必要があります。この情報は、ベンダーに要求されない限り、ホワイトペーパーでは入手できない場合があります。
例: DP と port_config.ini
sonic-buildimageからのPort_config.iniは、Dell_Z9100(x86_64-dell_z9100_c2538-r0 / Force10-Z9100-C32)の場合です。
# name lanes alias index Ethernet0 49,50,51,52 hundredGigE1/1 1 Ethernet4 53,54,55,56 hundredGigE1/2 2 Ethernet8 57,58,59,60 hundredGigE1/3 3 Ethernet12 61,62,63,64 hundredGigE1/4 4 Ethernet16 65,66,67,68 hundredGigE1/5 5 Ethernet20 69,70,71,72 hundredGigE1/6 6 Ethernet24 73,74,75,76 hundredGigE1/7 7 Ethernet28 77,78,79,80 hundredGigE1/8 8 Ethernet32 37,38,39,40 hundredGigE1/9 9 Ethernet36 33,34,35,36 hundredGigE1/10 10 Ethernet40 45,46,47,48 hundredGigE1/11 11 Ethernet44 41,42,43,44 hundredGigE1/12 12 Ethernet48 81,82,83,84 hundredGigE1/13 13 Ethernet52 85,86,87,88 hundredGigE1/14 14 Ethernet56 89,90,91,92 hundredGigE1/15 15 Ethernet60 93,94,95,96 hundredGigE1/16 16 Ethernet64 97,98,99,100 hundredGigE1/17 17 Ethernet68 101,102,103,104 hundredGigE1/18 18 Ethernet72 105,106,107,108 hundredGigE1/19 19 Ethernet76 109,110,111,112 hundredGigE1/20 20 Ethernet80 21,22,23,24 hundredGigE1/21 21 Ethernet84 17,18,19,20 hundredGigE1/22 22 Ethernet88 29,30,31,32 hundredGigE1/23 23 Ethernet92 25,26,27,28 hundredGigE1/24 24 Ethernet96 117,118,119,120 hundredGigE1/25 25 Ethernet100 113,114,115,116 hundredGigE1/26 26 Ethernet104 125,126,127,128 hundredGigE1/27 27 Ethernet108 121,122,123,124 hundredGigE1/28 28 Ethernet112 5,6,7,8 hundredGigE1/29 29 Ethernet116 1,2,3,4 hundredGigE1/30 30 Ethernet120 13,14,15,16 hundredGigE1/31 31 Ethernet124 9,10,11,12 hundredGigE1/32 32
スクリプトを使用して、port_configをポートlane_mapデータ構造に変換し parse.py。
Parse.py ========= #!/usr/bin/python # Copyright (c) 2017 Apstrktr, Inc. All rights reserved. # Apstrktr, Inc. Confidential and Proprietary. # # This source code is licensed under End User License Agreement found in the # LICENSE file at http://apstra.com/eula # pylint: disable=line-too-long import sys from pprint import pprint # Run the program as ./parse.py <path_to_sonic_platform_port_config.ini> # ex: ./parse.py sonic-buildimage/device/mellanox/x86_64-mlnx_msn2100-r0/ACS-MSN2100/port_config.ini def get_lanemap(buf): if not buf: return None d = {} interface_indices = [] for line in buf.split('\n'): if line.startswith('#'): continue words = line.split(' ') words = [word for word in words if len(word)] if not len(words): continue intf = words[0][8:] lane = words[1].split(',') interface_indices.append(intf) if len(lane) > 1: one = 'Ethernet' + str(intf) two = 'Ethernet' + str(int(intf)+1) three = 'Ethernet' + str(int(intf)+2) four = 'Ethernet' + str(int(intf)+3) d.update({one:lane[0]}) d.update({two:lane[1]}) d.update({three:lane[2]}) d.update({four:lane[3]}) else: d.update({words[0]:words[1]}) return {'interface_names' : interface_indices, 'lane_mapping' : d} def parse_portconfig(f): buf = '' with open(f, 'r') as stream: buf = stream.read() return {'<Platform>': get_lanemap(buf)} if __name__ == '__main__': assert len(sys.argv) > 1, "Missing port_config.ini in cmdline" print "Collecting lane information from ", sys.argv[1] pprint(parse_portconfig(sys.argv[1])) print "=========================================================================================" print " Substitute <Platform> with an identifier for the platform" print " Append the dump into sdk/device-profile/sonic.py's sonic_device_info dictionary" print "=========================================================================================" To run parse.py parse.py <Path to the port_config.ini file from sonic_buildimage> Example: parse.py sonic-buildimage/device/dell/x86_64-dell_z9100_c2538-r0/Force10-Z9100-C32/port_config.ini Collecting lane information from sonic-buildimage/device/dell/x86_64-dell_z9100_c2538-r0/Force10-Z9100-C32/port_config.ini {'<Platform>': {'interface_names': ['0', '4', '8', '12', '16', '20', '24', '28', '32', '36', '40', '44', '48', '52', '56', '60', '64', '68', '72', '76', '80', '84', '88', '92', '96', '100', '104', '108', '112', '116', '120', '124'], 'lane_mapping': {'Ethernet0': '49', 'Ethernet1': '50', 'Ethernet10': '59', 'Ethernet100': '113', 'Ethernet101': '114', 'Ethernet102': '115', 'Ethernet103': '116', 'Ethernet104': '125', 'Ethernet105': '126', 'Ethernet106': '127', 'Ethernet107': '128', 'Ethernet108': '121', 'Ethernet109': '122', 'Ethernet11': '60', 'Ethernet110': '123', 'Ethernet111': '124', 'Ethernet112': '5', 'Ethernet113': '6', 'Ethernet114': '7', 'Ethernet115': '8', 'Ethernet116': '1', 'Ethernet117': '2', 'Ethernet118': '3', 'Ethernet119': '4', 'Ethernet12': '61', 'Ethernet120': '13', 'Ethernet121': '14', 'Ethernet122': '15', 'Ethernet123': '16', 'Ethernet124': '9', 'Ethernet125': '10', 'Ethernet126': '11', 'Ethernet127': '12', 'Ethernet13': '62', 'Ethernet14': '63', 'Ethernet15': '64', 'Ethernet16': '65', 'Ethernet17': '66', 'Ethernet18': '67', 'Ethernet19': '68', 'Ethernet2': '51', 'Ethernet20': '69', 'Ethernet21': '70', 'Ethernet22': '71', 'Ethernet23': '72', 'Ethernet24': '73', 'Ethernet25': '74', 'Ethernet26': '75', 'Ethernet27': '76', 'Ethernet28': '77', 'Ethernet29': '78', 'Ethernet3': '52', 'Ethernet30': '79', 'Ethernet31': '80', 'Ethernet32': '37', 'Ethernet33': '38', 'Ethernet34': '39', 'Ethernet35': '40', 'Ethernet36': '33', 'Ethernet37': '34', 'Ethernet38': '35', 'Ethernet39': '36', 'Ethernet4': '53', 'Ethernet40': '45', 'Ethernet41': '46', 'Ethernet42': '47', 'Ethernet43': '48', 'Ethernet44': '41', 'Ethernet45': '42', 'Ethernet46': '43', 'Ethernet47': '44', 'Ethernet48': '81', 'Ethernet49': '82', 'Ethernet5': '54', 'Ethernet50': '83', 'Ethernet51': '84', 'Ethernet52': '85', 'Ethernet53': '86', 'Ethernet54': '87', 'Ethernet55': '88', 'Ethernet56': '89', 'Ethernet57': '90', 'Ethernet58': '91', 'Ethernet59': '92', 'Ethernet6': '55', 'Ethernet60': '93', 'Ethernet61': '94', 'Ethernet62': '95', 'Ethernet63': '96', 'Ethernet64': '97', 'Ethernet65': '98', 'Ethernet66': '99', 'Ethernet67': '100', 'Ethernet68': '101', 'Ethernet69': '102', 'Ethernet7': '56', 'Ethernet70': '103', 'Ethernet71': '104', 'Ethernet72': '105', 'Ethernet73': '106', 'Ethernet74': '107', 'Ethernet75': '108', 'Ethernet76': '109', 'Ethernet77': '110', 'Ethernet78': '111', 'Ethernet79': '112', 'Ethernet8': '57', 'Ethernet80': '21', 'Ethernet81': '22', 'Ethernet82': '23', 'Ethernet83': '24', 'Ethernet84': '17', 'Ethernet85': '18', 'Ethernet86': '19', 'Ethernet87': '20', 'Ethernet88': '29', 'Ethernet89': '30', 'Ethernet9': '58', 'Ethernet90': '31', 'Ethernet91': '32', 'Ethernet92': '25', 'Ethernet93': '26', 'Ethernet94': '27', 'Ethernet95': '28', 'Ethernet96': '117', 'Ethernet97': '118', 'Ethernet98': '119', 'Ethernet99': '120'}}} ========================================================================================= Substitute <Platform> with an identifier for the platform Append the dump into sdk/device-profile/sonic.py's sonic_device_info dictionary =========================================================================================
上記からの出力は、sonic device_profile generator の Python ファイルのsonic_device_info辞書エントリになります。
Apstraで生成される対応するデバイスプロファイル:
{ "hardware_capabilities": { "asic": "TH", "cpu": "x86", "ecmp_limit": 64, "form_factor": "1RU", "ram": 16, "userland": 64 }, "id": "Force10-Z9100_SONiC", "label": "Dell Force10-Z9100_SONiC", "ports": [ { "column_id": 1, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 0, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet0", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"49,50,51,52\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet0", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"49,50,51,52\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 1, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 1, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet4", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"53,54,55,56\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet4", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"53,54,55,56\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 2, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 2, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet8", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"57,58,59,60\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet8", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"57,58,59,60\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 2, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 3, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet12", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"61,62,63,64\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet12", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"61,62,63,64\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 3, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 4, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet16", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"65,66,67,68\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet16", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"65,66,67,68\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 3, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 5, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet20", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"69,70,71,72\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet20", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"69,70,71,72\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 4, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 6, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet24", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"73,74,75,76\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet24", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"73,74,75,76\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 4, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 7, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet28", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"77,78,79,80\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet28", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"77,78,79,80\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 5, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 8, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet32", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"37,38,39,40\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet32", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"37,38,39,40\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 5, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 9, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet36", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"33,34,35,36\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet36", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"33,34,35,36\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 6, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 10, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet40", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"45,46,47,48\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet40", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"45,46,47,48\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 6, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 11, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet44", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"41,42,43,44\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet44", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"41,42,43,44\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 7, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 12, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet48", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"81,82,83,84\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet48", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"81,82,83,84\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 7, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 13, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet52", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"85,86,87,88\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet52", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"85,86,87,88\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 8, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 14, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet56", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"89,90,91,92\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet56", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"89,90,91,92\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 8, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 15, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet60", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"93,94,95,96\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet60", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"93,94,95,96\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 9, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 16, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet64", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"97,98,99,100\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet64", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"97,98,99,100\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 9, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 17, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet68", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"101,102,103,104\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet68", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"101,102,103,104\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 10, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 18, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet72", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"105,106,107,108\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet72", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"105,106,107,108\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 10, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 19, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet76", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"109,110,111,112\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet76", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"109,110,111,112\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 11, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 20, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet80", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"21,22,23,24\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet80", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"21,22,23,24\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 11, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 21, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet84", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"17,18,19,20\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet84", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"17,18,19,20\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 12, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 22, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet88", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"29,30,31,32\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet88", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"29,30,31,32\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 12, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 23, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet92", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"25,26,27,28\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet92", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"25,26,27,28\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 13, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 24, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet96", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"117,118,119,120\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet96", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"117,118,119,120\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 13, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 25, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet100", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"113,114,115,116\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet100", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"113,114,115,116\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 14, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 26, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet104", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"125,126,127,128\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet104", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"125,126,127,128\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 14, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 27, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet108", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"121,122,123,124\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet108", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"121,122,123,124\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 15, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 28, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet112", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"5,6,7,8\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet112", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"5,6,7,8\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 15, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 29, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet116", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"1,2,3,4\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet116", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"1,2,3,4\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 16, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 30, "row_id": 1, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet120", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"13,14,15,16\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet120", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"13,14,15,16\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] }, { "column_id": 16, "connector_type": "qsfp28", "failure_domain_id": 1, "panel_id": 1, "port_id": 31, "row_id": 2, "slot_id": 0, "transformations": [ { "interfaces": [ { "interface_id": 1, "name": "Ethernet124", "setting": "{\"interface\": {\"speed\": \"100000\", \"lane_map\": \"9,10,11,12\"}}", "speed": { "unit": "G", "value": 100 }, "state": "active" } ], "is_default": true, "transformation_id": 1 }, { "interfaces": [ { "interface_id": 1, "name": "Ethernet124", "setting": "{\"interface\": {\"speed\": \"40000\", \"lane_map\": \"9,10,11,12\"}}", "speed": { "unit": "G", "value": 40 }, "state": "active" } ], "is_default": false, "transformation_id": 2 } ] } ], "selector": { "manufacturer": "Dell|DELL", "model": "Z9100-ON", "os": "SONiC", "os_version": ".*" }, "slot_count": 0, "software_capabilities": { "lxc_support": false, "onie": true } }