1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/tools/testing/selftests/bpf/progs/getsockname4_prog.c
Jordan Rife bc467e953e selftests/bpf: Expand getsockname and getpeername tests
This expands coverage for getsockname and getpeername hooks to include
getsockname4, getsockname6, getpeername4, and getpeername6.

Signed-off-by: Jordan Rife <jrife@google.com>
Link: https://lore.kernel.org/r/20240510190246.3247730-17-jrife@google.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2024-05-12 17:10:42 -07:00

24 lines
558 B
C

// SPDX-License-Identifier: GPL-2.0
/* Copyright (c) 2024 Google LLC */
#include "vmlinux.h"
#include <string.h>
#include <bpf/bpf_helpers.h>
#include <bpf/bpf_endian.h>
#include <bpf/bpf_core_read.h>
#include "bpf_kfuncs.h"
#define REWRITE_ADDRESS_IP4 0xc0a801fe // 192.168.1.254
#define REWRITE_ADDRESS_PORT4 4040
SEC("cgroup/getsockname4")
int getsockname_v4_prog(struct bpf_sock_addr *ctx)
{
ctx->user_ip4 = bpf_htonl(REWRITE_ADDRESS_IP4);
ctx->user_port = bpf_htons(REWRITE_ADDRESS_PORT4);
return 1;
}
char _license[] SEC("license") = "GPL";