QUICのモジュールををns-3 App Store(https://apps.nsnam.org/app/quic/) からインストールしても、そのままでは動かなかったので、テストプログラムが動くようになるまでにしたことをまとめておきます。
wscriptへのコードの追加
デフォルトだとquic-application下のmodelとhelperのコードが追加されないので、contrib/quic/wscriptに次のコードを加えることで解決します。
'model/quic-client.cc',
'model/quic-server.cc',
'model/quic-echo-client.cc',
'model/quic-echo-server.cc',
'helper/quic-echo-helper.cc',
'helper/quic-client-server-helper.cc'
'model/quic-client.h',
'model/quic-server.h',
'model/quic-echo-client.h',
'model/quic-echo-server.h',
'helper/quic-echo-helper.h',
'helper/quic-client-server-helper.h'
次にサンプルプログラムが、デフォルトだとquic-variants-comparison-bulksend.cc しかコンパイルされないのでcontrib/quic/exsample/wscript に以下のコードを追加します。
obj = bld.create_ns3_program('quic-tester-streams', ['quic'])
obj.source = 'quic-tester-streams.cc'
obj = bld.create_ns3_program('quic-tester', ['quic'])
obj.source = 'quic-tester.cc'
ソースファイルの追加
contib/quic/model と contib/quic/helper に、 contrib/quic/quic-application/model と contrib/quic/quic-application/helper のファイルを追加します。
ヘッダーファイルの追加
公式のgithubなどでは、上記の手順で進めれば実行できると書いてあります。自分の環境では、ヘッダーファイルが見つからないなどのエラーが出てしまったので、ヘッダーファイルを適当な場所に追加してあげます。
自分は contrib/quic/helper, model, quic-applications 内のヘッダーファイルを全て ns-3.32/build/ns3 にコピーしました。
さらに、サンプルプログラムの一つである quic-tester.cc のコンパイル時に seq-ts-header.h と packet-loss-counter.h が見つからないというエラーが出ました。
src/applications/model からcontrib/quic/model に該当ファイルを追加したところ、エラーが解消されました。
テストプログラムのquic-tester.ccを実行してみます。
./waf --run quic-tester.cc