From 4111f0f58c9f9388b130fa353a1493e8c6299fa6 Mon Sep 17 00:00:00 2001 From: "M. Mert Yildiran" Date: Mon, 30 May 2022 19:37:03 +0300 Subject: [PATCH] Move map related stuff to `maps.h` and run `go generate tls_tapper.go` --- tap/tlstapper/bpf/golang_uprobes.c | 16 ---------------- tap/tlstapper/bpf/include/maps.h | 10 ++++++++++ tap/tlstapper/tlstapper_bpfeb.o | Bin 125296 -> 125296 bytes tap/tlstapper/tlstapper_bpfel.o | Bin 125296 -> 125296 bytes 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/tap/tlstapper/bpf/golang_uprobes.c b/tap/tlstapper/bpf/golang_uprobes.c index 6718dd402..3514cc807 100644 --- a/tap/tlstapper/bpf/golang_uprobes.c +++ b/tap/tlstapper/bpf/golang_uprobes.c @@ -9,17 +9,9 @@ Copyright (C) UP9 Inc. #include "include/headers.h" #include "include/maps.h" -#define MAX_ENTRIES_LRU_HASH (1 << 14) // 16384 -#define MAX_ENTRIES_RINGBUFF (1 << 24) // 16777216 #define BUFFER_SIZE_READ_WRITE (1 << 19) // 512 KiB -struct socket { - __u32 pid; - __u32 fd; - __u32 key_dial; -}; - struct golang_read_write { __u32 pid; __u32 fd; @@ -30,14 +22,6 @@ struct golang_read_write { __u8 data[BUFFER_SIZE_READ_WRITE]; }; -BPF_LRU_HASH(golang_socket_dials, __u64, struct socket); -BPF_LRU_HASH(golang_dial_writes, __u32, struct socket); - -struct { - __uint(type, BPF_MAP_TYPE_RINGBUF); - __uint(max_entries, MAX_ENTRIES_RINGBUFF); -} golang_read_writes SEC(".maps"); - const struct golang_read_write *unused __attribute__((unused)); diff --git a/tap/tlstapper/bpf/include/maps.h b/tap/tlstapper/bpf/include/maps.h index 5296834a1..5508e291d 100644 --- a/tap/tlstapper/bpf/include/maps.h +++ b/tap/tlstapper/bpf/include/maps.h @@ -53,6 +53,12 @@ struct fd_info { __u8 flags; }; +struct socket { + __u32 pid; + __u32 fd; + __u32 key_dial; +}; + #define BPF_MAP(_name, _type, _key_type, _value_type, _max_entries) \ struct bpf_map_def SEC("maps") _name = { \ .type = _type, \ @@ -83,4 +89,8 @@ BPF_LRU_HASH(file_descriptor_to_ipv4, __u64, struct fd_info); BPF_PERF_OUTPUT(chunks_buffer); BPF_PERF_OUTPUT(log_buffer); +BPF_LRU_HASH(golang_socket_dials, __u64, struct socket); +BPF_LRU_HASH(golang_dial_writes, __u32, struct socket); +BPF_RINGBUF(golang_read_writes); + #endif /* __MAPS__ */ diff --git a/tap/tlstapper/tlstapper_bpfeb.o b/tap/tlstapper/tlstapper_bpfeb.o index 1b5d4d8f0d4ae86409abb4ac8734e3dee2584dc6..b81c2c071a6848448e0785f7475a13e5629d09a0 100644 GIT binary patch delta 1332 zcmYk5JxG;N7{~w53#O6O^?rFHMDq)yAgQ1h;SNa-eK-U;x&*dFNQi^@-oU|8DA1wd z4k8W?4uOFV1`!SpB0)t$4h;?tm!^h>{{QzpSI&VK-rsqi^YweqX&kmT4qIy<>}T)Q z*I;V{Ed3VF(T9;lxu&pN*aR>?Nzd<=XP zd%WW=up_R8c*iKPUnVa)&j1IVfTZQxai7Y1PCJb2oyZJ`Q#$_~^#L97WEou9!b6km#1aW7rrC2aCB zx$bfCb@FD!x@)_E^E5Tr!u8>`kg7$hD*Rwli65IzUSR(_L0e#%SdodIz{L^RD$52} zp0O4lj^c8CFJj)QV0O7QXytUhLY@lo+&pYU=G|0r8@AI&p7rr!nXg5Bo9v>pe8pW< z#t+CVQNH5!Gfr%0d1KJJUwoz@D#*@Vdd_RC$K>ZO&B6A`iL-niFP5JJtDf9-oH&)!V<4mi4Qlu7+xpoaU=~>K7!%Yvl2Wwe^XJN6C{BE8bK!f}~%i zaW!Slr+844g0)KeRjZ~OvG!UI6J~MMYBMnZLfZ@6S>{XQ^NXA%dPU}E?VLiQSJZs} Tbe2?^Tp8vxH@6-QS>LDsGy<<6 delta 1332 zcmYk5KS-5P7{;IXBhyIgdaw6-BSg~_qaZ0E7vT;{4*hY<@eTzBArc`D;dk2{g#sNK z?jYjO;2;>-U?Abp5H1-BIW#mlT%ysT=lRZiNSP@0b8iO5`Qyd7#lnUOwX#jdpgddIuNy$30p-;)~=B=XK!p3VAc)JbBmo z1cm~6KXCp$?40;p#9HsrxjTimDS;=EsC+kB34feNV7WcBMFIrF6eco(b{XBJ8WoyQ$6{*ik=u!N-ebz83LavWv>{6?ah? z-zTp|`HI)iII*LZ4};e8{5J(rL3ZxqGu}cyCO>!aHSC0(ILp^5lcfR@%O+o?-Yn(J z7vFx;uJh+S{t`)9Z~tmq(yxZP8mdi(HDAS3zaSa8L7s|OTc3`2f?SPQ@usRVB;zWL zt0`$d#ewby!>FpH~Jn}PWk+J4}!5|T+izsOmlS7d(Ht{EhHMa}n5 TXGxXGV4gy0||MLHB;gbp1G z6_UXrLlHrT3_^uws36jzLn(q)3TANV&>?gx=-_{D&P(niY54BB_dec#&ujl+tbZ`p z_+)-%uPg!M03Kchw)o9012Oe)y0Y5*n>ACxDp1nl8?0yE0(JE(I?@KX(r&XM-UP~K z;GXz1>+0K==q}Ju&(oQk;W8G~((^J6bLkRO7a;eiBBlyhcy6gJADL7DSpfsL|cu&B0C-ZQ8=_UW41CUxHo zk5U|`pKCpzU^0sa%e=q6K}iN488jUG^qTsy)T;*Tj(xhNe#ZKPnnBxff$lg?(mQIK z)QUlHr~@`CcFIp~beUsv$&;Vbcw>gWY?EjiOl$pa5}4d%S0*+aB|)-oN&E{6F?>uI3Y|&oTJ;ip*Tu+ u)cmp6F8|8YrP6!>zM(2M31?p}3jB|JWI!8U7qn_HX z{2aRe7Dxejcm>$wcX$)Xnt#!ATlIfKG7xP6Q#O2u_0lI`$^4p59{{W74fP>Vk+W@2 z)W@uw?_H%^K+QZu7uvv@`6XTK0PCKkkOP}Gu)zu0zd*xthTb;6XT7fr?0C-62j({G zy%03bmvZz4!8gw#eQfT}Awq9TaB@C?kp5$y;0BefpyPRjMsSvZ)-Tgp^Bel&Ey0-i zlv8C=u+MRR+@%NdT`|pdyuUjk7v;PpN8zGe5L7r%7q}>^f(5gS^08pib4XXsE~#gd z9Hlx(FI#=2m&q&(R(XGSgDD+&A*gu{={55st@EJQJ%=>A%B_FS`h%LF;dz|i@tmg* z%r2>Sf{6X&HgHjG3x05;YaG){pZt`@t|YzelK3bXwEF!#(0|CtJ&)66&%^Yj=L~Jh z*7KuMh??g~xu*Ymp42|~ztLh+wq9MNYo71YaZqtR4oW@CdK^?-Z+Pp2*;f6-s0=*) zt^IQL+)o%nnthluzf!kpzqPt7769JDU7FV*t&>vxr*`jt7$ooh3hQ&FpxzylzDSWT z1xYwA+;Wh#;TP6#P6SEYsf+ZYZLXf7tDdzUhvg1uI!MBa*IPIdbiz0%#ObJq>4t5n x&d_liaoAl={?(@|6!`*H7>S?SJfGIQ#Cm!mNPYoamsJClOTcaH&5g;(=l{U2t>pj!