1*bc467e95SJordan Rife // SPDX-License-Identifier: GPL-2.0 2*bc467e95SJordan Rife /* Copyright (c) 2024 Google LLC */ 3*bc467e95SJordan Rife 4*bc467e95SJordan Rife #include "vmlinux.h" 5*bc467e95SJordan Rife 6*bc467e95SJordan Rife #include <string.h> 7*bc467e95SJordan Rife #include <bpf/bpf_helpers.h> 8*bc467e95SJordan Rife #include <bpf/bpf_endian.h> 9*bc467e95SJordan Rife #include <bpf/bpf_core_read.h> 10*bc467e95SJordan Rife #include "bpf_kfuncs.h" 11*bc467e95SJordan Rife 12*bc467e95SJordan Rife #define REWRITE_ADDRESS_IP4 0xc0a801fe // 192.168.1.254 13*bc467e95SJordan Rife #define REWRITE_ADDRESS_PORT4 4040 14*bc467e95SJordan Rife 15*bc467e95SJordan Rife SEC("cgroup/getpeername4") getpeername_v4_prog(struct bpf_sock_addr * ctx)16*bc467e95SJordan Rifeint getpeername_v4_prog(struct bpf_sock_addr *ctx) 17*bc467e95SJordan Rife { 18*bc467e95SJordan Rife ctx->user_ip4 = bpf_htonl(REWRITE_ADDRESS_IP4); 19*bc467e95SJordan Rife ctx->user_port = bpf_htons(REWRITE_ADDRESS_PORT4); 20*bc467e95SJordan Rife 21*bc467e95SJordan Rife return 1; 22*bc467e95SJordan Rife } 23*bc467e95SJordan Rife 24*bc467e95SJordan Rife char _license[] SEC("license") = "GPL"; 25