Skip to content

Commit 9b8a0b5

Browse files
author
lec-bit
committed
optimize and fix rebase
Signed-off-by: lec-bit <glfhzmy@126.com>
1 parent 4c23178 commit 9b8a0b5

File tree

14 files changed

+957
-54
lines changed

14 files changed

+957
-54
lines changed

bpf/include/bpf_kfunc.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ struct bpf_mem_ptr {
1919
__u32 size;
2020
};
2121

22+
#define KMESH_MODULE_ULP_NAME "kmesh_defer"
23+
2224
extern int bpf_parse_header_msg_func(void *src, int src__sz) __ksym;
2325
extern int bpf_km_header_strnstr_func(void *ctx, int ctx__sz, const char *key, int key__sz, const char *subptr) __ksym;
2426
extern int bpf_km_header_strncmp_func(const char *key, int key__sz, const char *target, int target__sz, int opt) __ksym;
@@ -43,13 +45,13 @@ static int bpf_parse_header_msg(struct bpf_sock_addr *ctx)
4345
// The strnlen function cannot be used here, so the string is redefined.
4446
static int bpf_km_setsockopt(struct bpf_sock_addr *ctx, int level, int optname, const char *optval, int optval__sz)
4547
{
46-
const char kmesh_module_name[] = "kmesh_defer";
47-
if (level != IPPROTO_TCP || optval__sz != sizeof(kmesh_module_name))
48+
const char kmesh_module_ulp_name[] = KMESH_MODULE_ULP_NAME;
49+
if (level != IPPROTO_TCP || optval__sz != sizeof(kmesh_module_ulp_name))
4850
return -1;
4951

5052
struct bpf_mem_ptr msg_tmp = {.ptr = ctx, .size = sizeof(struct bpf_sock_addr)};
5153
return bpf_setsockopt_func(
52-
&msg_tmp, sizeof(struct bpf_mem_ptr), optname, (void *)kmesh_module_name, sizeof(kmesh_module_name));
54+
&msg_tmp, sizeof(struct bpf_mem_ptr), optname, (void *)kmesh_module_ulp_name, sizeof(kmesh_module_ulp_name));
5355
}
5456

5557
static int bpf_km_getsockopt(struct bpf_sock_addr *ctx, int level, int optname, char *optval, int optval__sz)

bpf/kmesh/ads/cgroup_sock.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414

1515
#if ENHANCED_KERNEL
1616
#include "route_config.h"
17+
static const char kmesh_module_ulp_name[] = KMESH_MODULE_ULP_NAME;
1718
#endif
1819
#if KMESH_ENABLE_IPV4
1920
#if KMESH_ENABLE_HTTP
2021

21-
static const char kmesh_module_name[] = "kmesh_defer";
2222
static inline int sock4_traffic_control(struct bpf_sock_addr *ctx)
2323
{
2424
int ret;
25-
char kmesh_module_name_get[KMESH_MODULE_NAME_LEN] = "";
25+
char kmesh_module_ulp_name_get[KMESH_MODULE_NAME_LEN] = "";
2626
Listener__Listener *listener = NULL;
2727

2828
if (ctx->protocol != IPPROTO_TCP)
@@ -41,9 +41,9 @@ static inline int sock4_traffic_control(struct bpf_sock_addr *ctx)
4141
BPF_LOG(DEBUG, KMESH, "bpf find listener addr=[%s:%u]\n", ip2str(&ip, 1), bpf_ntohs(ctx->user_port));
4242

4343
#if ENHANCED_KERNEL
44-
ret = bpf_km_getsockopt(ctx, IPPROTO_TCP, TCP_ULP, kmesh_module_name_get, KMESH_MODULE_NAME_LEN);
45-
if (CHECK_MODULE_NAME_NULL(ret) || bpf__strncmp(kmesh_module_name_get, KMESH_MODULE_NAME_LEN, kmesh_module_name)) {
46-
ret = bpf_km_setsockopt(ctx, IPPROTO_TCP, TCP_ULP, kmesh_module_name, sizeof(kmesh_module_name));
44+
ret = bpf_km_getsockopt(ctx, IPPROTO_TCP, TCP_ULP, kmesh_module_ulp_name_get, KMESH_MODULE_NAME_LEN);
45+
if (CHECK_MODULE_NAME_NULL(ret) || bpf__strncmp(kmesh_module_ulp_name_get, KMESH_MODULE_NAME_LEN, kmesh_module_ulp_name)) {
46+
ret = bpf_km_setsockopt(ctx, IPPROTO_TCP, TCP_ULP, kmesh_module_ulp_name, sizeof(kmesh_module_ulp_name));
4747
if (ret)
4848
BPF_LOG(ERR, KMESH, "bpf set sockopt failed! ret %d\n", ret);
4949
return 0;

bpf/kmesh/bpf2go/kernelnative/enhanced/kmeshcgroupsock_bpfeb.go

Lines changed: 228 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)