<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://criu.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Abhishekvijeev</id>
	<title>CRIU - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://criu.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Abhishekvijeev"/>
	<link rel="alternate" type="text/html" href="https://criu.org/Special:Contributions/Abhishekvijeev"/>
	<updated>2026-05-13T17:49:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.6</generator>
	<entry>
		<id>https://criu.org/index.php?title=BPF_Maps&amp;diff=5105</id>
		<title>BPF Maps</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=BPF_Maps&amp;diff=5105"/>
		<updated>2020-10-24T10:33:54Z</updated>

		<summary type="html">&lt;p&gt;Abhishekvijeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;BPF maps are kernel objects which store data (used by BPF programs) in the form of key-value pairs. Applications access BPF maps using file descriptors. C/R of BPF maps involves serializing their ''meta-data'' and ''data'':&lt;br /&gt;
&lt;br /&gt;
: '''Meta-data''' - This includes information such as map type, key size, value size, etc. CRIU obtains this information from the proc filesystem and using the &amp;lt;code&amp;gt;bpf&amp;lt;/code&amp;gt; system call with argument &amp;lt;code&amp;gt;BPF_OBJ_GET_INFO_BY_FD&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: '''Data''' - This is the map's contents i.e. the actual key-value pairs. CRIU relies on batch operations to read &amp;lt;code&amp;gt;(BPF_MAP_LOOKUP_BATCH)&amp;lt;/code&amp;gt; key-value pairs from maps during the checkpoint stage and to write &amp;lt;code&amp;gt;(BPF_MAP_UPDATE_BATCH)&amp;lt;/code&amp;gt; them during the restore phase.&lt;br /&gt;
&lt;br /&gt;
== Support for BPF Maps ==&lt;br /&gt;
&lt;br /&gt;
CRIU currently supports C/R of the following BPF map types:&lt;br /&gt;
&lt;br /&gt;
* BPF_MAP_TYPE_HASH&lt;br /&gt;
* BPF_MAP_TYPE_ARRAY&lt;br /&gt;
&lt;br /&gt;
== To-Do ==&lt;br /&gt;
&lt;br /&gt;
* C/R of BTF (BPF Type Format) information&lt;br /&gt;
* C/R of other kinds of BPF maps&lt;br /&gt;
 &lt;br /&gt;
== External Links ==&lt;br /&gt;
* [https://www.kernel.org/doc/html/latest/bpf/index.html BPF Documentation]&lt;br /&gt;
* [https://blogs.oracle.com/linux/notes-on-bpf-1 Notes on BPF]&lt;br /&gt;
* [https://www.collabora.com/news-and-blog/blog/2019/04/05/an-ebpf-overview-part-1-introduction/ An eBPF Overview]&lt;br /&gt;
&lt;br /&gt;
[[Category: Under the hood‏‎]]&lt;/div&gt;</summary>
		<author><name>Abhishekvijeev</name></author>
	</entry>
	<entry>
		<id>https://criu.org/index.php?title=BPF_Maps&amp;diff=5104</id>
		<title>BPF Maps</title>
		<link rel="alternate" type="text/html" href="https://criu.org/index.php?title=BPF_Maps&amp;diff=5104"/>
		<updated>2020-10-24T10:30:34Z</updated>

		<summary type="html">&lt;p&gt;Abhishekvijeev: Created page with &amp;quot;== Initial Support for BPF Maps ==  BPF maps are kernel objects which store data (used by BPF programs) in the form of key-value pairs. Applications access BPF maps using file...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Initial Support for BPF Maps ==&lt;br /&gt;
&lt;br /&gt;
BPF maps are kernel objects which store data (used by BPF programs) in the form of key-value pairs. Applications access BPF maps using file descriptors. C/R of BPF maps involves serializing their ''meta-data'' and ''data'':&lt;br /&gt;
&lt;br /&gt;
: '''Meta-data''' - This includes information such as map type, key size, value size, etc. CRIU obtains this information from the proc filesystem and using the &amp;lt;code&amp;gt;bpf&amp;lt;/code&amp;gt; system call with argument &amp;lt;code&amp;gt;BPF_OBJ_GET_INFO_BY_FD&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: '''Data''' - This is the map's contents i.e. the actual key-value pairs. CRIU relies on batch operations to read &amp;lt;code&amp;gt;(BPF_MAP_LOOKUP_BATCH)&amp;lt;/code&amp;gt; key-value pairs from maps during the checkpoint stage and to write &amp;lt;code&amp;gt;(BPF_MAP_UPDATE_BATCH)&amp;lt;/code&amp;gt; them during the restore phase.&lt;br /&gt;
&lt;br /&gt;
CRIU currently supports C/R of the following BPF map types:&lt;br /&gt;
&lt;br /&gt;
* BPF_MAP_TYPE_HASH&lt;br /&gt;
* BPF_MAP_TYPE_ARRAY&lt;br /&gt;
&lt;br /&gt;
== To-Do ==&lt;br /&gt;
&lt;br /&gt;
* C/R of BTF (BPF Type Format) information&lt;br /&gt;
* C/R of other kinds of BPF maps&lt;br /&gt;
 &lt;br /&gt;
== External Links ==&lt;br /&gt;
* [https://www.kernel.org/doc/html/latest/bpf/index.html BPF Documentation]&lt;br /&gt;
* [https://blogs.oracle.com/linux/notes-on-bpf-1 Notes on BPF]&lt;br /&gt;
* [https://www.collabora.com/news-and-blog/blog/2019/04/05/an-ebpf-overview-part-1-introduction/ An eBPF Overview]&lt;br /&gt;
&lt;br /&gt;
[[Category: Under the hood‏‎]]&lt;/div&gt;</summary>
		<author><name>Abhishekvijeev</name></author>
	</entry>
</feed>