Oracle Solaris では、ラージレシーブオフロード (LRO) 機能を使用すると、パケットが IP レイヤーに配信される前に、連続した着信パケットを単一のパケットにマージできます。着信パケットは、同じトランスポートプロトコル、ローカルまたはリモートの IP アドレス、およびポート番号を共有する必要があります。この属性セットは 5 タプルとも呼ばれます。ほとんどのパケットが同じ 5 タプルを共有する場合、IP レイヤーとその上のレイヤーでのパケット処理のオーバーヘッドが減少し、ネットワークスループットが向上します。通常、負荷の高い TCP リンクには、同じ 5 タプルを共有するパケットが含まれています。
Oracle Solaris では、パケットのマージは MAC レイヤーに実装されます。NIC は、パケットをネットワークスタックに配信し、MAC レイヤーは、同じ 5 タプル情報を共有する連続する着信パケットをマージします。
Oracle Solaris の LRO 機能には次の利点があります。
システムの受信側の TCP パフォーマンスが大幅に向上します。この向上は、カーネルゾーン環境ではより大きくなります。
LRO 機能をサポートする物理 NIC で LRO を有効にできます。
Oracle Solaris カーネルゾーン内に物理 NIC、VNIC または anet リソース、および PV NIC または SR-IOV VF を含んでいるホストでデータリンクごとに LRO を選択的に有効または無効にできます。
物理 NIC および VNIC の両方で LRO 機能を管理できます。lro プロパティーを使用すると、VNIC ごとに LRO 機能を有効または無効にできます。デフォルトでは、VNIC lro プロパティーはベースとなるデータリンクから継承されます。物理 NIC の lro リンクプロパティーのデフォルト値は off であるため、物理 NIC から VNIC によって継承される lro プロパティーはデフォルトで無効になっています。
次の方法で、データリンクで LRO を有効にできます。
物理 NIC で lro リンクプロパティーを有効にすると、NIC のプライマリ MAC クライアントの LRO は有効になります。NIC で構成されている VNIC などのその他の MAC クライアントで lro プロパティーが auto に設定されている場合、MAC クライアントの lro プロパティーの有効値は NIC から継承されます。
VNIC などの MAC クライアントで lro リンクプロパティーを有効にすると、VNIC でのみ lro プロパティーが有効になります。
同様に、lro リンクプロパティーを使用してデータリンクで LRO を無効にできます。
ゲストドメイン内の VNIC、物理 NIC、SR-IOV VF、リンクアグリゲーション、または準仮想化 (PV) NIC などの任意のネットワークデバイスで lro リンクプロパティーを有効または無効にできます。lro プロパティーを設定することで、ネットワークデバイスの LRO を有効または無効にできます。データリンクの lro プロパティーを設定するには、次のコマンド構文を使用します。
# dladm set-linkprop -p lro=value link
VNIC では、lro プロパティーに次の値を指定できます。
VNIC MAC クライアントの LRO を有効にします。
VNIC MAC クライアントの LRO を無効にします。
下位データリンクの有効値を継承して、LRO が下位データリンクで有効な場合にパケットのマージを有効にします。この値はデフォルト値です。
物理 NIC の場合、lro プロパティーに次の値を指定できます。
NIC のプライマリ MAC クライアントの LRO を有効にします。MAC クライアントの lro プロパティーの値が auto である場合、NIC のその他の MAC クライアントは、lro プロパティーの状態を継承します。
NIC のプライマリ MAC クライアントの LRO を無効にします。MAC クライアントの lro プロパティーの値が auto である場合、NIC のその他の MAC クライアントは、lro プロパティーの状態を継承します。
lro プロパティーのデフォルト値。lro プロパティーを auto に設定する場合、lro プロパティーの有効値は off です。
PV NIC では、lro プロパティーに次の値を指定できます。
PV NIC のプライマリ MAC クライアントの LRO を有効にします。
PV NIC のプライマリ MAC クライアントの LRO を無効にします。
下位シャドウ VNIC の有効値を継承して、LRO が有効になっている場合にシャドウ VNIC でパケットのマージを有効にします。
次の例は、物理 NIC net0 の LRO を有効にして、lro プロパティーのステータスを確認する方法を示しています。
# dladm set-linkprop -p lro=on net0 # dladm show-linkprop -p lro net0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE net0 lro rw on on auto on,off,auto使用例 78 PV NIC および anet リソースの LRO の有効化
次の例は、PV NIC net0 の LRO を有効にする方法を示しています。
# dladm set-linkprop -t -p lro=on net0
次の例は、lro プロパティーの値を on に設定したあとのカーネルゾーンの PV VNIC の LRO ステータスを示しています。
# dladm show-linkprop -p lro zone1/net0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE zone1/net0 lro rw on on auto on, off, auto
次の例は、下位シャドウ VNIC の lro プロパティーの有効値が on である場合に、カーネルゾーンの PV VNIC のデフォルトの LRO ステータスを示しています。
# dladm show-linkprop -p lro zone1/net0 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE zone1/net0 lro rw auto on auto on, off, auto
次の例は、ネイティブゾーン z1 の anet リソース z1/net0 の LRO を有効にする方法を示しています。
# dladm set-linkprop -t -p lro=on z1/net0
リンクアグリゲーションでは LRO 機能がサポートされます。リンクアグリゲーションについては、Oracle Solaris 11.3 でのネットワークデータリンクの管理 の 第 2 章, リンクアグリゲーションを使用した高可用性の構成を参照してください。
リンクアグリゲーションの lro プロパティーを設定するには、次のコマンド構文を使用します。
# dladm set-linkprop -p lro=value aggr
リンクアグリゲーションでは、lro プロパティーに次の値を指定できます。
リンクアグリゲーションのプライマリ MAC クライアントの LRO を有効にします。
リンクアグリゲーションのプライマリ MAC クライアントの LRO を無効にします。
lro プロパティーのデフォルト値。lro プロパティーを auto に設定する場合、lro プロパティーの有効値は off です。
zonecfg コマンドを使用して lro プロパティーを設定することで、カーネルゾーンの anet リソースの lro リンクプロパティーを構成できます。
ネイティブゾーンの anet リソースでは、dladm コマンドを使用して lro プロパティーを設定できます。使用例 78を参照してください。
使用例 79 カーネルゾーンの LRO の有効化この例は、カーネルゾーン kzone1 の anet リソースの LRO を有効にする方法を示しています。
# zonecfg -z kzone1 zonecfg:kzone1> select anet id=1 zonecfg:kzone1:anet> set lro=on
カーネルゾーン kzone1 の anet リソース kzone1/net1 の lro プロパティーのステータスを表示するには:
# dladm show-linkprop -p lro kzone1/net1 LINK PROPERTY PERM VALUE EFFECTIVE DEFAULT POSSIBLE kzone1/net1 lro rw on on auto on,off,auto