191586Smarkm// SPDX-License-Identifier: GPL-2.0
291586Smarkm// Copyright (c) 2020 Cloudflare
391586Smarkm#include "vmlinux.h"
491586Smarkm#include <bpf/bpf_helpers.h>
591586Smarkm
691586Smarkmstruct {
791586Smarkm	__uint(type, BPF_MAP_TYPE_SOCKMAP);
891586Smarkm	__uint(max_entries, 1);
991586Smarkm	__type(key, __u32);
1091586Smarkm	__type(value, __u64);
1191586Smarkm} map SEC(".maps");
1291586Smarkm
1391586SmarkmSEC("sockops")
1491586Smarkmint bpf_sockmap(struct bpf_sock_ops *skops)
1591586Smarkm{
1691586Smarkm	__u32 key = 0;
1791586Smarkm
1891586Smarkm	if (skops->sk)
1991586Smarkm		bpf_map_update_elem(&map, &key, skops->sk, 0);
2091586Smarkm	return 0;
2191586Smarkm}
2291586Smarkm
2391586Smarkmchar _license[] SEC("license") = "GPL";
2491586Smarkm