qdeconinck / sigcomm20_mptp_tutorial

Discover Multipath Transport Protocols with this vagrant box!
22 stars 9 forks source link

How to generate qlog files ? #2

Open ninjahyper19 opened 3 years ago

ninjahyper19 commented 3 years ago

In the 06_multipath_quic, client and server log files are generated. How do we generate qlog files for the same? We tried to convert pcap to qlog but its not possible due to tls security key error. Is there any other way to generate qlog files for the same?

qdeconinck commented 3 years ago

You need two things.

First you have to include in the plugins loaded two additional files: the generic plugins/qlog/qlog.plugin and the multipath-specific plugins/multipath/multipath_qlog.plugin. You can provide several plugins separated by a comma in a single description file, like

pquicPlugins:~/pquic/plugins/multipath/multipath_rtt_cond.plugin,~/pquic/plugins/qlog/qlog.plugin,~/pquic/plugins/multipath/multipath_qlog.plugin

Second, you need to slightly change the minitopo project on which this Vagrant box relies on. In particular, you need to provide the -q output_file.qlog flag to pquic. To do this, this is likely you need to change the pquic.py file of minitopo. Specifically, you need to define a new parameter in the PQUICParameter class with a default empty value, and then modify the get_pquic_client_cmd and get_pquic_server_cmd to include this flag in the command when the name (let's say useQlog) is set to a given name. Note that you will need to provide different output names for the client and the server, otherwise they would write to the same file and possibly corrupt it.

Please feel free to submit such a PR to the minitopo repository and I would take a look to include this.