]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
Update tc-bpf.8 man page examples
authorLucas Siba 2019-04-20 11:40 UTC <@>
Sat, 20 Apr 2019 19:06:18 +0000 (12:06 -0700)
committerDavid Ahern <dsahern@gmail.com>
Fri, 26 Apr 2019 21:05:47 +0000 (14:05 -0700)
This patch updates the tc-bpf.8 example application for changes to the
struct bpf_elf_map definition. In it's current form, things compile, but
the resulting object file is rejected by the verifier when attempting to
load it through tc.

Signed-off-by: Lucas Siba <lucas.siba@gmail.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
[ dropped the unnecessary flags initialization on commit ]

man/man8/tc-bpf.8

index b2f9344f5e281ee3672d382af6006f9ac9d367b2..e4f68aaa7a835436fa05b7ad1a2fd9ba79af930a 100644 (file)
@@ -597,6 +597,7 @@ struct bpf_elf_map __section("maps") map_stats = {
         .size_key       =       sizeof(uint32_t),
         .size_value     =       sizeof(struct tuple),
         .max_elem       =       BPF_MAX_MARK,
+        .pinning        =       PIN_GLOBAL_NS,
 };
 
 static inline void cls_update_stats(const struct __sk_buff *skb,
@@ -709,13 +710,22 @@ in both examples was:
 #define likely(x) __builtin_expect(!!(x), 1)
 #define unlikely(x) __builtin_expect(!!(x), 0)
 
-/* Used map structure */
+/* Object pinning settings */
+#define PIN_NONE       0
+#define PIN_OBJECT_NS  1
+#define PIN_GLOBAL_NS  2
+
+/* ELF map definition */
 struct bpf_elf_map {
     __u32 type;
     __u32 size_key;
     __u32 size_value;
     __u32 max_elem;
+    __u32 flags;
     __u32 id;
+    __u32 pinning;
+    __u32 inner_id;
+    __u32 inner_idx;
 };
 
 /* Some used BPF function calls. */