<div dir="ltr"><div>Hello,</div><div><br></div><div>My name Pradeep. I&#39;m a student and open source enthusiast. I got introduced to CRIU during an academic project and I found it really interesting. I was looking for ways to contribute to CRIU and I found GSoC projects. The project aimed at replacing iptables with eBPF[0] seems to have right amount of complexity for my liking and I would like to work on this project.</div><div><br></div><div>I&#39;ve played around with the tool, I went through documentation little bit and I understand how CRIU works in a broad sense. I&#39;ve started browsing the source to understand the flow of execution. I&#39;m listing my observations below. I&#39;d appreciate any pointer to help me improve my understanding.<br></div><div><br></div><div>1. <span style="font-family:courier new,monospace">cr_dump_tasks()</span>[1] is the higher level function that is called when we do &#39;<span style="font-family:courier new,monospace">criu dump</span>`</div><div>2. This function in turn calls <span style="font-family:courier new,monospace">network_lock()</span>[2]</div><div>3. <span style="font-family:courier new,monospace">network_lock()</span> function then calls <span style="font-family:courier new,monospace">iptables_restore()</span>[3] which executes the necessary iptables command</div><div><br></div><div>So, for this project I probably need to replace the call to <span style="font-family:courier new,monospace">iptables_restore()</span> function in <span style="font-family:courier new,monospace">network_lock_internal()</span>.</div><div><br></div><div>Is my understanding correct? I&#39;d appreciate any sort help!<br></div><div><br></div><div><br></div><div>[0] <a href="https://www.criu.org/Google_Summer_of_Code_Ideas#Use_eBPF_to_lock_and_unlock_the_network">https://www.criu.org/Google_Summer_of_Code_Ideas#Use_eBPF_to_lock_and_unlock_the_network</a></div><div>[1] <a href="https://github.com/checkpoint-restore/criu/blob/criu-dev/criu/cr-dump.c#L1761">https://github.com/checkpoint-restore/criu/blob/criu-dev/criu/cr-dump.c#L1761</a></div><div>[2] <a href="https://github.com/checkpoint-restore/criu/blob/criu-dev/criu/net.c#L2677">https://github.com/checkpoint-restore/criu/blob/criu-dev/criu/net.c#L2677</a></div><div>[3] <a href="https://github.com/checkpoint-restore/criu/blob/criu-dev/criu/net.c#L2597">https://github.com/checkpoint-restore/criu/blob/criu-dev/criu/net.c#L2597</a></div><div><br></div><div><br></div><div>Thanks<br></div><div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Pradeep</div></div></div></div>