tools: bpftool: make it easier to feed hex bytes to bpftool
[muen/linux.git] / tools / bpf / bpftool / Documentation / bpftool-map.rst
index 457e868bd32f427a3469fcec79a347e0fd58a633..5f512b14bff96a6cfbd871b6c2228cca3b0c08dd 100644 (file)
@@ -23,10 +23,10 @@ MAP COMMANDS
 
 |      **bpftool** **map { show | list }**   [*MAP*]
 |      **bpftool** **map dump**    *MAP*
-|      **bpftool** **map update**  *MAP*  **key** *BYTES*   **value** *VALUE* [*UPDATE_FLAGS*]
-|      **bpftool** **map lookup**  *MAP*  **key** *BYTES*
-|      **bpftool** **map getnext** *MAP* [**key** *BYTES*]
-|      **bpftool** **map delete**  *MAP*  **key** *BYTES*
+|      **bpftool** **map update**  *MAP*  **key** [**hex**] *BYTES*   **value** [**hex**] *VALUE* [*UPDATE_FLAGS*]
+|      **bpftool** **map lookup**  *MAP*  **key** [**hex**] *BYTES*
+|      **bpftool** **map getnext** *MAP* [**key** [**hex**] *BYTES*]
+|      **bpftool** **map delete**  *MAP*  **key** [**hex**] *BYTES*
 |      **bpftool** **map pin**     *MAP*  *FILE*
 |      **bpftool** **map help**
 |
@@ -48,20 +48,26 @@ DESCRIPTION
        **bpftool map dump**    *MAP*
                  Dump all entries in a given *MAP*.
 
-       **bpftool map update**  *MAP*  **key** *BYTES*   **value** *VALUE* [*UPDATE_FLAGS*]
+       **bpftool map update**  *MAP*  **key** [**hex**] *BYTES*   **value** [**hex**] *VALUE* [*UPDATE_FLAGS*]
                  Update map entry for a given *KEY*.
 
                  *UPDATE_FLAGS* can be one of: **any** update existing entry
                  or add if doesn't exit; **exist** update only if entry already
                  exists; **noexist** update only if entry doesn't exist.
 
-       **bpftool map lookup**  *MAP*  **key** *BYTES*
+                 If the **hex** keyword is provided in front of the bytes
+                 sequence, the bytes are parsed as hexadeximal values, even if
+                 no "0x" prefix is added. If the keyword is not provided, then
+                 the bytes are parsed as decimal values, unless a "0x" prefix
+                 (for hexadecimal) or a "0" prefix (for octal) is provided.
+
+       **bpftool map lookup**  *MAP*  **key** [**hex**] *BYTES*
                  Lookup **key** in the map.
 
-       **bpftool map getnext** *MAP* [**key** *BYTES*]
+       **bpftool map getnext** *MAP* [**key** [**hex**] *BYTES*]
                  Get next key.  If *key* is not specified, get first key.
 
-       **bpftool map delete**  *MAP*  **key** *BYTES*
+       **bpftool map delete**  *MAP*  **key** [**hex**] *BYTES*
                  Remove entry from the map.
 
        **bpftool map pin**     *MAP*  *FILE*
@@ -98,7 +104,12 @@ EXAMPLES
   10: hash  name some_map  flags 0x0
        key 4B  value 8B  max_entries 2048  memlock 167936B
 
-**# bpftool map update id 10 key 13 00 07 00 value 02 00 00 00 01 02 03 04**
+The following three commands are equivalent:
+
+|
+| **# bpftool map update id 10 key hex   20   c4   b7   00 value hex   0f   ff   ff   ab   01   02   03   4c**
+| **# bpftool map update id 10 key     0x20 0xc4 0xb7 0x00 value     0x0f 0xff 0xff 0xab 0x01 0x02 0x03 0x4c**
+| **# bpftool map update id 10 key       32  196  183    0 value       15  255  255  171    1    2    3   76**
 
 **# bpftool map lookup id 10 key 0 1 2 3**