8.10. TC-flower ハードウェアオフロードフローのデバッグ
ovs-vswitch.log
ファイルに次のメッセージが表示される場合は、以下の手順を使用することができます。
2020-01-31T06:22:11.257Z|00473|dpif_netlink(handler402)|ERR|failed to offload flow: Operation not supported: p6p1_5
手順
オフロードモジュールのロギングを有効にし、この障害に関する追加のログ情報を取得するには、Compute ノードで以下のコマンドを使用します。
ovs-appctl vlog/set dpif_netlink:file:dbg # Module name changed recently (check based on the version used ovs-appctl vlog/set netdev_tc_offloads:file:dbg [OR] ovs-appctl vlog/set netdev_offload_tc:file:dbg ovs-appctl vlog/set tc:file:dbg
再度
ovs-vswitchd
ログを調べ、問題に関する追加情報を確認します。以下に示すログの例では、サポートされない属性マークが原因でオフロードに失敗しています。
2020-01-31T06:22:11.218Z|00471|dpif_netlink(handler402)|DBG|system@ovs-system: put[create] ufid:61bd016e-eb89-44fc-a17e-958bc8e45fda recirc_id(0),dp_hash(0/0),skb_priority(0/0),in_port(7),skb_mark(0),ct_state(0/0),ct_zone(0/0),ct_mark(0/0),ct_label(0/0),eth(src=fa:16:3e:d2:f5:f3,dst=fa:16:3e:c4:a3:eb),eth_type(0x0800),ipv4(src=10.1.1.8/0.0.0.0,dst=10.1.1.31/0.0.0.0,proto=1/0,tos=0/0x3,ttl=64/0,frag=no),icmp(type=0/0,code=0/0), actions:set(tunnel(tun_id=0x3d,src=10.10.141.107,dst=10.10.141.124,ttl=64,tp_dst=4789,flags(df|key))),6 2020-01-31T06:22:11.253Z|00472|netdev_tc_offloads(handler402)|DBG|offloading attribute pkt_mark isn't supported 2020-01-31T06:22:11.257Z|00473|dpif_netlink(handler402)|ERR|failed to offload flow: Operation not supported: p6p1_5
Mellanox NIC のデバッグ
Mellanox は、Red Hat の SOS レポートに類似したシステム情報スクリプトを提供しています。
https://github.com/Mellanox/linux-sysinfo-snapshot/blob/master/sysinfo-snapshot.py
このコマンドを実行すると、サポートケースで役立つ、関連ログ情報の zip ファイルが作成されます。
手順
以下のコマンドを使用して、このシステム情報スクリプトを実行することができます。
# ./sysinfo-snapshot.py --asap --asap_tc --ibdiagnet --openstack
Mellanox Firmware Tools (MFT)、mlxconfig、mlxlink、および OpenFabrics Enterprise Distribution (OFED) ドライバーをインストールすることもできます。
有用な CLI コマンド
以下のオプションと共に ethtool
ユーティリティーを使用して、診断情報を収集します。
- ethtool -l <uplink representor>: チャンネル数の表示
- ethtool -I <uplink/VFs>: 統計値の確認
- ethtool -i <uplink rep>: ドライバー情報の表示
- ethtool -g <uplink rep>: リングサイズの確認
- ethtool -k <uplink/VFs>: 有効な機能の表示
レプリゼンターポートおよび PF ポートで tcpdump
ユーティリティーを使用して、同様にトラフィックフローを確認します。
- レプリゼンターポートのリンク状態に加えた変更は、すべて VF のリンク状態にも影響を及ぼします。
- レプリゼンターポートの統計値には、VF の統計も表示されます。
以下のコマンドを使用して、有用な診断情報を取得します。
$ ovs-appctl dpctl/dump-flows -m type=offloaded $ ovs-appctl dpctl/dump-flows -m $ tc filter show dev ens1_0 ingress $ tc -s filter show dev ens1_0 ingress $ tc monitor