nft trace は ASR90x にて CPU queue に格納されるパケットを解析するための機能となります。
TAC のエンジニアに ASR90x にて nft trace の取得を依頼された場合は以下の手順で nft trace の取得を実施してください。
nft trace の処理には ASR90x のリソースを多く使用するため TAC から依頼がない限り行わないでください。
Step 1 : nft trace の有効化します
以下のコマンドを実行し nft trace を有効化してください
debug platform hardware pp active infrastructure pi nft trace enable
debug platform hardware pp active infrastructure pi nft trace level verbose
Step 2 : ASR90x で shell にアクセスします
Router#configure terminal
Router(config)#platform shell ### shell にアクセスするための設定を追加します
Router(config)#exit
Router#request platform software system shell rp active ### shell にアクセスします
--- snip ---
[Router_RP_0:/]$
ASR90x で使用している RSP の型番によっては request platform software system shell rp active 実行後に以下のように Challenge が表示されます。Challenge が表示される場合は TAC のエンジニアに Challenge の値を伝え、TAC のエンジニアに shell にアクセスするための Key を発行してもらう必要があります。*challenge が表示されてから key の入力は 10 分以内に行う必要があります。
Router#request platform software system shell rp active
Activity within this shell can jeopardize the functioning of the system.
Are you sure you want to continue? [y/n] y
Challenge: 017087d3c1f3a785a8c62d35a1a9f3263370d62ffc1211462cafa0f7944a3f8153fd30d27b20d552e21f9ad4f7af90a2e4f62ed1aa2d88af225a1b2ba099334b
-----
Step 3 : nft trace を bootflash にコピーします
cp コマンドを実行して nft trace を bootflash にコピーしてください。
[Router_RP_0:/]$ cp /tmp/fp/trace/nft_trace_rx.log /bootflash
[Router_RP_0:/]$ cp /tmp/fp/trace/nft_trace_tx.log /bootflash
*nft trace のログファイル(nft_trace_rx.log および nft_trace_tx.log)は最大サイズが 6.7Mbyte 程度で固定されています。nft_trace_rx.log および nft_trace_tx.log は 30秒程度でこの最大サイズに達し古いログは上書きされてしまいます。そのため、コピーを行う直前の 30 秒程度のログが bootflash にコピーされると考えてください。
30秒以上期間の nft trace を取得したい場合は以下のように 30秒おきに file 名を変えて何度も bootflash にファイルをコピーしてください。
[Router_RP_0:/]$ cp /tmp/fp/trace/nft_trace_rx.log /bootflash/nft_trace_rx1.log
[Router_RP_0:/]$ cp /tmp/fp/trace/nft_trace_tx.log /bootflash/nft_trace_tx1.log
[Router_RP_0:/]$ ### 30 秒経過 ###
[Router_RP_0:/]$ cp /tmp/fp/trace/nft_trace_rx.log /bootflash/nft_trace_rx2.log
[Router_RP_0:/]$ cp /tmp/fp/trace/nft_trace_tx.log /bootflash/nft_trace_tx2.log
[Router_RP_0:/]$ ### 30 秒経過 ###
[Router_RP_0:/]$ cp /tmp/fp/trace/nft_trace_rx.log /bootflash/nft_trace_rx3.log
[Router_RP_0:/]$ cp /tmp/fp/trace/nft_trace_tx.log /bootflash/nft_trace_tx3.log
[Router_RP_0:/]$ ### 30 秒経過 ###
[Router_RP_0:/]$ cp /tmp/fp/trace/nft_trace_rx.log /bootflash/nft_trace_rx4.log
[Router_RP_0:/]$ cp /tmp/fp/trace/nft_trace_tx.log /bootflash/nft_trace_tx4.log
....
Step 4 : exit で shell から抜けます
[Router_RP_0:/]$ exit
--- snip ---
Router#
Step 5 : nft trace を無効化します。
以下のコマンドを実行し nft trace を無効化してください
no debug platform hardware pp active infrastructure pi nft trace enable
no debug platform hardware pp active infrastructure pi nft trace level verbose
Step 6 : Step 3 で bootflash にコピーした nft trace ログを FTP や TFTP 等で取得して TAC のエンジニアに送付してください