基本的なデータリンク構成に加えて、dladm コマンドを使用してデータリンクプロパティーを設定し、ネットワークの要件に応じてそれらをカスタマイズすることもできます。
次の 3 つの dladm サブコマンドを使用して、データリンクプロパティーを管理します。
データリンクのプロパティーおよびその現在値を表示します。–p property オプションを使用しなかった場合は、データリンクのすべてのプロパティーが表示されます。データリンクを指定しなかった場合は、すべてのデータリンクのすべてのプロパティーが表示されます。
値をデータリンクのプロパティーに割り当てます。
データリンクの特定のプロパティーをデフォルト値にリセットします。
カスタマイズ可能なデータリンクプロパティーは、ある特定の NIC ドライバがサポートするプロパティーに依存します。
dladm コマンドを使用して構成可能なデータリンクプロパティーは、2 つのカテゴリのいずれかに該当します。
公開プロパティー – これらのプロパティーは、Ethernet 用のリンク速度や自動ネゴシエーション、またはすべてのデータリンクドライバに適用可能な最大転送単位 (MTU) サイズなど、特定メディアタイプの任意のドライバに適用できます。
非公開プロパティー – これらのプロパティーは、特定メディアタイプの NIC ドライバの特定のサブセットに固有です。これらのプロパティーはそのサブセットに固有のものとなる可能性がありますが、それは、これらのプロパティーが、ドライバに関連付けられたハードウェアに密接に関連しているか、あるいはデバッグ関連のチューニング可能パラメータのように、ドライバ実装自体の詳細に密接に関連しているからです。
リンクプロパティーには通常、デフォルト値があります。ただし、特定のネットワークシナリオでは、特定のプロパティーの値を変更する必要がある場合もあります。たとえば、NIC は、自動ネゴシエーションを正しく実行しない古いスイッチと通信する可能性があります。また、スイッチは、ジャンボフレームをサポートするように構成されている可能性があります。または、特定のドライバで、パケットの送信やパケットの受信を制御するドライバ固有のプロパティーを変更する必要がある可能性もあります。
MTU は、あるプロトコルによってシステムから転送できるパケットの最大サイズを定義します。大部分の NIC ドライバでは、MTU サイズがデフォルトで 1500 に定義されています。しかし、ジャンボフレームがネットワークを通過する場合は、デフォルト値では不十分です。ジャンボフレームをサポートするには、MTU サイズを少なくとも 9000 にする必要があります。
次のように、MTU サイズのデフォルト値を変更します。
# dladm set-linkprop -p mtu=new-size datalink
MTU サイズを変更したあとは、データリンク上の IP インタフェースを再構成できます。
次の例は、ジャンボフレームのサポートを有効にする方法を示しています。この例は、データリンク上の既存の IP インタフェース構成がすでに削除されていることを前提にしています。
# dladm show-linkprop -p mtu net1 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net1 mtu rw 1500 1500 1500 1500 # dladm set-linkprop -p mtu=9000 net1 # dladm show-link net1 LINK CLASS MTU STATE BRIDGE OVER web1 phys 9000 up -- --
ほとんどのネットワーク設定は、異なる速度機能を備えたシステムの組み合わせから構成されます。各システムは、ネットワーク内のほかのシステムに速度機能を通知して、各システムがネットワークトラフィックをどのように送受信するかを知らせます。
次の対になったデータリンクプロパティーは、システムによって通知される速度機能を制御します。
adv_10gfdx_cap/en_10gfdx_cap
adv_1000fdx_cap/en_1000fdx_cap
adv_1000hdx_cap/en_1000hdx_cap
adv_100fdx_cap/en_100fdx_cap
adv_100hdx_cap/en_100hdx_cap
adv_10fdx_cap/en_10fdx_cap
adv_10hdx_cap/en_10hdx_cap
それぞれのリンク速度機能は、通知速度 (adv_*_cap) と有効化通知速度 (en_*_cap) から成る一組のプロパティーで参照されます。さらに、プロパティー名に含まれる *fdx* と *hdx* が示すように、全二重機能と半二重機能のどちらに対してもデータリンク速度の情報が提供されます。通知速度プロパティーは、特定のデータリンク速度が通知されるかどうかを示す読み取り専用プロパティーです。特定のデータリンク速度が通知されるかどうかを決定するには、対応する en_*_cap プロパティーを設定します。
デフォルトでは、データリンクのすべての速度機能と二重機能が通知されます。しかし、新しいシステムが古いシステムと通信していて、自動ネゴシエーションが無効または未サポートになっている場合もあります。これらの 2 つのシステム間の通信を有効にするには、古いシステムと新しいシステム間の通知速度を低い値に変更する必要がある場合があります。場合によっては、システムのギガビット機能をオフにする必要があり、低速な速度機能のみが通知されます。この例では、次のコマンドを入力して、全二重機能と半二重機能の両方でギガビット機能の通知をオフに切り替えます。
# dladm set-linkprop -p en_1000fdx_cap=0 datalink # dladm set-linkprop -p en_1000hdx_cap=0 datalink
これらのプロパティーの新しい値を表示するには、次のように dladm show-linkprop コマンドを使用します。
# dladm show-linkprop -p adv_10gfdx_cap datalink # dladm show-linkprop -p adv_1000hdx_cap datalink
通常、特定の有効化速度プロパティーと対応する通知プロパティーの値は同一です。ただし、NIC が Power Management などの一部の高度な機能をサポートしている場合は、それらの機能が、ホストとそのリンクパートナーとの間で実際に通知されるビット数の制限を設定する可能性があります。たとえば、Power Management を使用する場合、adv_*_cap プロパティーの設定が en_*_cap プロパティーの設定のサブセットにすぎなくなる可能性があります。
データリンクが開かれたときにストリーム上にプッシュされる STREAMS モジュールを、最大 8 個まで設定できます。これらのモジュールは通常、仮想プライベートネットワーク (VPN) やファイアウォールなど、他社製のネットワークソフトウェアによって使用されます。そのようなネットワークソフトウェアに関するドキュメントは、ソフトウェアベンダーから提供されています。
特定のデータリンク上にプッシュするモジュールのリストは、autopush プロパティーによって制御されます。また、autopush プロパティーの値は、dladm set-linkprop コマンドを使用することによって設定されます。
データリンクのストリーム上にモジュールをドライバ単位でプッシュするために使用可能な、別個の autopush コマンドが存在します。このコマンドは、ドライバごとに設定された構成ファイルを使用して、プッシュするモジュールの情報を取得します。ただし、ドライバは常に NIC にバインドされます。データリンクのベースとなる NIC が取り外されると、そのリンクの autopush プロパティーの情報も失われます。
したがって、このためには autopush コマンドよりも dladm コマンドを使用することをお勧めします。特定のデータリンクでドライバ単位とリンク単位の両方のタイプの autopush 構成が存在している場合は、dladm set-linkprop コマンドで設定されたリンク単位の情報が使用され、ドライバ単位の情報は無視されます。
データリンクが開かれたときに STREAMS にモジュールをプッシュするには、同じ dladm set-linkprop コマンドを使用して、autopush プロパティーのモジュールを指定します。たとえば、次のように vpnmod および bufmod モジュールをリンク net0 の上にプッシュします。
# dladm set-linkprop -p autopush=vpnmod.bufmod net0
データリンクプロパティーに関する情報を取得するには、次のいずれかのコマンドを使用できます。
dladm show-linkprop –p property datalink
dladm show-ether datalink
データリンクプロパティーの完全なリストを表示するには、次の例に示すように、コマンドをプロパティーを指定せずに入力します。
# dladm show-linkprop net1 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net1 speed r- 0 0 0 -- net1 autopush rw -- -- -- -- net1 zone rw -- -- -- -- net1 duplex r- unknown unknown unknown half,full net1 state r- up up up up,down net1 adv_autoneg_cap -- -- -- 0 1,0 net1 mtu rw 1500 1500 1500 1500 net1 flowctrl -- -- -- no no,tx,rx,bi, pfc,auto net1 adv_10gfdx_cap r- -- -- 0 1,0 net1 en_10gfdx_cap -- -- -- 0 1,0 net1 adv_1000fdx_cap r- -- -- 0 1,0 net1 en_1000fdx_cap -- -- -- 0 1,0 net1 adv_1000hdx_cap r- -- -- 0 1,0 net1 en_1000hdx_cap -- -- -- 0 1,0 net1 adv_100fdx_cap r- -- -- 0 1,0 net1 en_100fdx_cap -- -- -- 0 1,0 net1 adv_100hdx_cap r- -- -- 0 1,0 net1 en_100hdx_cap -- -- -- 0 1,0 net1 adv_10fdx_cap r- -- -- 0 1,0 net1 en_10fdx_cap -- -- -- 0 1,0 net1 adv_10hdx_cap r- -- -- 0 1,0 net1 en_10hdx_cap -- -- -- 0 1,0 net1 maxbw rw -- -- -- -- net1 cpus rw -- -- -- --
dladm show-ether コマンドにオプションを何も指定しない場合、データリンクの現在の Ethernet プロパティー値だけが表示されます。デフォルトで提供されるもの以外の情報を取得するには、次の例に示すように –x オプションを使用します。
# dladm show-ether -x net1 LINK PTYPE STATE AUTO SPEED-DUPLEX PAUSE net1 current up yes 1G-f both -- capable -- yes 1G-fh,100M-fh,10M-fh both -- adv -- yes 100M-fh,10M-fh both -- peeradv -- yes 100M-f,10M-f both
–x オプションを使用すると、このコマンドは指定されたリンクの組み込み機能や、ホストとリンクパートナーとの間で現在通知されている機能も表示します。
この例では、次の情報が表示されます。
Ethernet デバイスの現在の状態については、リンクは稼働しており、毎秒 1 ギガビットの全二重で機能しています。その自動ネゴシエーション機能が有効化されており、ホストとリンクパートナーの両方が一時停止フレームを送受信できる双方向フロー制御が備わっています。この情報は、出力の 1 行目に表示されています。
サンプル出力の後続の行には、データリンク速度機能に関する情報、通知される実際のデータリンク速度、およびピアシステムからの情報が次のように表示されています。
Ethernet デバイスの機能が一覧表示されています。ネゴシエーションタイプは自動に設定できます。さらに、このデバイスは毎秒 1 ギガビット、毎秒 100 メガビット、および毎秒 10 メガビットの速度を、全二重、半二重の両方でサポートできます。同様に、一時停止フレームはホストとリンクパートナーとの間でどちらの方向にも送受信できます。
net1 の機能が次のように通知されています: 自動ネゴシエーション、速度 - 二重、一時停止フレームのフロー制御。
同様に、net1 のリンクパートナーつまりピアパートナーが、次の機能を通知しています: 自動ネゴシエーション、速度 - 二重、一時停止フレームのフロー制御。