See also, http://libraryofalexandria.io/cgo/
cgo has a lot of trap.
but Not "C" pkg also directory in $GOROOT/src. IDE's(vim) Goto command not works.
So, Here collect materials.
| #include <net/tcp.h> | |
| k:tcp_mtup_init { | |
| $tp = (struct tcp_sock*)arg0; | |
| @mss_hist = lhist($tp->rx_opt.mss_clamp, 1200, 1500, 10); | |
| } | |
| interval:s:60 { | |
| print(@mss_hist); | |
| clear(@mss_hist); |
| diff --git a/example_grpc/CMakeLists.txt b/example_grpc/CMakeLists.txt | |
| index 7fc13f4..ec0aa70 100644 | |
| --- a/example_grpc/CMakeLists.txt | |
| +++ b/example_grpc/CMakeLists.txt | |
| @@ -6,6 +6,7 @@ find_library(PROTOBUF libprotobuf.a protobuf) | |
| set(GRPC_BUILD_PATH "${CMAKE_PREFIX_PATH}/grpc/build") | |
| set(GRPC_LIBRARIES_PATH "${GRPC_BUILD_PATH}") | |
| set(CARES_LIBRARIES_PATH "${GRPC_LIBRARIES_PATH}/third_party/cares/cares/lib") | |
| +set(ABSL_LIBRARIES_PATH "${GRPC_LIBRARIES_PATH}/third_party/abseil-cpp/absl") | |
| find_library(ADDR_SORT libaddress_sorting.a address_sorting PATHS ${GRPC_LIBRARIES_PATH} NO_DEFAULT_PATH) |
| /home/tehnerd/linux-bpfnext/tools/testing/selftests/bpf/tools/usr/local/sbin/bpftool gen skeleton /home/tehnerd/linux-bpfnext/tools/testing/selftests/bpf/connect4_prog.o > /home/tehnerd/linux-bpfnext/tools/testing/selftests/bpf/connect4_prog.skel.h | |
| *** invalid %N$ use detected *** | |
| /home/tehnerd/linux-bpfnext/tools/testing/selftests/bpf/tools/usr/local/sbin/bpftool gen skeleton /home/tehnerd/linux-bpfnext/tools/testing/selftests/bpf/fexit_bpf2bpf.o > /home/tehnerd/linux-bpfnext/tools/testing/selftests/bpf/fexit_bpf2bpf.skel.h | |
| *** invalid %N$ use detected *** | |
| /home/tehnerd/linux-bpfnext/tools/testing/selftests/bpf/tools/usr/local/sbin/bpftool gen skeleton /home/tehnerd/linux-bpfnext/tools/testing/selftests/bpf/test_global_data.o > /home/tehnerd/linux-bpfnext/tools/testing/selftests/bpf/test_global_data.skel.h | |
| *** invalid %N$ use detected *** |
| diff --git a/katran/lib/bpf/balancer_kern.c b/katran/lib/bpf/balancer_kern.c | |
| index 93dca2e..99e7d45 100644 | |
| --- a/katran/lib/bpf/balancer_kern.c | |
| +++ b/katran/lib/bpf/balancer_kern.c | |
| @@ -240,7 +240,7 @@ static inline int process_l3_headers(struct packet_description *pckt, | |
| __attribute__((__always_inline__)) | |
| static inline int process_encaped_pckt(void **data, void **data_end, | |
| struct xdp_md *xdp, bool *is_ipv6, | |
| - __u8 *protocol) { | |
| + __u8 *protocol, bool pass) { |
| ngth 15: HTTP | |
| 20:09:34.732229 IP6 (hlim 64, next-header IPIP (4) payload length: 43) 100::64 > fc00:1404::1: IP (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto UDP (17), length 43) | |
| 192.168.1.3.31337 > 10.200.1.1.80: [udp sum ok] UDP, length 15 | |
| 20:09:34.732233 IP6 (hlim 64, next-header IPIP (4) payload length: 43) 100::bac1:103 > fc00::2307:1: IP (tos 0x0, ttl 63, id 1, offset 0, flags [none], proto UDP (17), length 43) | |
| 192.168.1.3.31337 > 10.200.1.1.80: [udp sum ok] UDP, length 15 | |
| 20:09:34.732241 IP6 (hlim 64, next-header IPv6 (41) payload length: 75) 100::64 > fc00:1404::1: IP6 (hlim 64, next-header TCP (6) payload length: 35) fc00:2307:1::2.31337 > fc00:1::1.80: Flags [.], cksum 0xda48 (correct), seq 0:15, ack 0, win 8192, length 15: HTTP | |
| 20:09:34.732245 IP6 (hlim 64, next-header IPv6 (41) payload length: 75) 100::7a69:2 > fc00::2307:3: IP6 (hlim 63, next-header TCP (6) payload length: 35) fc00:2307:1::2.31337 > fc00:1::1.80: Flags [.], cksum 0xda48 (correct), seq 0:15, ack 1, win 8192, length |
| gue encap in wireshark |
| In file included from bpf/balancer_kern.c:20: | |
| bpf/handle_icmp.h:121:9: warning: incompatible integer to pointer conversion initializing 'void *' with an expression of type '__u32' (aka 'unsigned int') [-Wint-conversion] | |
| void *data = xdp->data; | |
| ^ ~~~~~~~~~ bpf/handle_icmp.h:122:9: warning: incompatible integer to pointer conversion initializing 'void *' with an expression of type '__u32' (aka 'unsigned int') [-Wint-conversion] | |
| void *data_end = xdp->data_end; | |
| ^ ~~~~~~~~~~~~~ | |
| bpf/handle_icmp.h:166:9: warning: incompatible integer to pointer conversion initializing 'void *' with an expression of type '__u32' (aka 'unsigned int') [-Wint-conversion] | |
| void *data = xdp->data; | |
| ^ ~~~~~~~~~ | |
| bpf/handle_icmp.h:167:9: warning: incompatible integer to pointer conversion initializing 'void *' with an expression of type '__u32' (aka |
| Language: Cpp | |
| # BasedOnStyle: LLVM | |
| AccessModifierOffset: -2 | |
| AlignAfterOpenBracket: Align | |
| AlignConsecutiveAssignments: false | |
| AlignConsecutiveDeclarations: false | |
| AlignEscapedNewlines: Right | |
| AlignOperands: true | |
| AlignTrailingComments: true | |
| AllowAllParametersOfDeclarationOnNextLine: true |
| clang-format from clang-8.0.0 w/ default params | |
| tehnerd@devubuntu:~/katran/katran/lib$ ../../deps/clang/clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04/bin/clang-format -i KatranLb.cpp | |
| on top of | |
| Author: udippant <[email protected]> | |
| Date: Fri Aug 9 15:15:47 2019 -0700 |
See also, http://libraryofalexandria.io/cgo/
cgo has a lot of trap.
but Not "C" pkg also directory in $GOROOT/src. IDE's(vim) Goto command not works.
So, Here collect materials.