File: strings.c

package info (click to toggle)
golang-github-cilium-ebpf 0.17.3%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,684 kB
  • sloc: ansic: 1,259; makefile: 127; python: 113; awk: 29; sh: 24
file content (26 lines) | stat: -rw-r--r-- 520 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "common.h"

char __license[] __section("license") = "MIT";

typedef char custkey[48];

struct {
	__uint(type, BPF_MAP_TYPE_HASH);
	__uint(max_entries, 2);
	__type(key, custkey);
	__type(value, uint32_t);
} my_map __section(".maps");

#define KEY "This string is allocated in the string section\n"

__section("xdp") int filter() {
	uint32_t *value = bpf_map_lookup_elem(&my_map, KEY);
	if (value)
		(*value)++;
	else {
		uint32_t newValue = 1;
		bpf_map_update_elem(&my_map, KEY, &newValue, 0);
	}

	return 2;
}