Menu Close

6.8. HW オフロードフローのデバッグ

ovs-vswitch.log ファイルに次のメッセージが表示される場合は、以下の手順を使用することができます。

2020-01-31T06:22:11.257Z|00473|dpif_netlink(handler402)|ERR|failed to offload flow: Operation not supported: p6p1_5

手順

  1. オフロードモジュールのロギングを有効にし、この障害に関する追加のログ情報を取得するには、コンピュートノードで以下のコマンドを使用します。

    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
  2. 再度 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