|
get function latency using ebpf-uprobe when using coroutine
Bcc has funclatency.py which support get function latency for the user program, using pid_tgid as the key. But when it comes to a program was written by golang which supports coroutine(goroutine), it
Bcc has funclatency.py which support get function latency for the user program, using pid_tgid as the key. But when it comes to a program was written by golang which supports coroutine(goroutine), it
|
By
Forrest Chen
· #1948
·
|
|
Tracepoint/Kprobe for tracking inbound connections
you can attach kprobe in 'tcp_conn_request" for inbound connection
you can attach kprobe in 'tcp_conn_request" for inbound connection
|
By
Forrest Chen
· #1914
·
|
|
How to get function param in kretprobe bpf program?
#bcc
#pragma
Thanks for reply. It seems fexit it a new feature and I'm using linux v4.15, so fexit can't help here. kretprobe with kprobe is an option and I've found a lot examples in bbc, but I am also wondering
Thanks for reply. It seems fexit it a new feature and I'm using linux v4.15, so fexit can't help here. kretprobe with kprobe is an option and I've found a lot examples in bbc, but I am also wondering
|
By
Forrest Chen
· #1886
·
|
|
How to get function param in kretprobe bpf program?
#bcc
#pragma
When using kprobe in bcc, I can get param directly like `int kprobe__tcp_set_state(struct pt_regs *ctx, struct sock *sk, int state)` But it seems not to work in kretprobe, I've found that I can get fi
When using kprobe in bcc, I can get param directly like `int kprobe__tcp_set_state(struct pt_regs *ctx, struct sock *sk, int state)` But it seems not to work in kretprobe, I've found that I can get fi
|
By
Forrest Chen
· #1884
·
|
|
Performance with sockhash in istio/k8s
Cilium has an idea to accelerate packet forward performance using sockops & sockhash when using istio service mesh, the code is here. But this function is heavily coupling with cilium codebase so I wo
Cilium has an idea to accelerate packet forward performance using sockops & sockhash when using istio service mesh, the code is here. But this function is heavily coupling with cilium codebase so I wo
|
By
Forrest Chen
· #1788
·
|
|
Does bpf_redirect_map support redirect packet to bridge device or veth which master is a bridge?
Hi all, I attach an XDP prog(SKB mode) to host net device(enp0s9) and the prog will redirect packet to veth device. If there's only veth device, I can redirect packet into netns through veth device in
Hi all, I attach an XDP prog(SKB mode) to host net device(enp0s9) and the prog will redirect packet to veth device. If there's only veth device, I can redirect packet into netns through veth device in
|
By
Forrest Chen
· #1772
·
Edited
|
|
sockmap redirect doesn't work all the time
Hi Ferenc, I think sock_ops is a good option for me, it seems the cilium project also use this to accelerate networks. Yes, all TCP connection established. There're no connection pressures and I send
Hi Ferenc, I think sock_ops is a good option for me, it seems the cilium project also use this to accelerate networks. Yes, all TCP connection established. There're no connection pressures and I send
|
By
Forrest Chen
· #1768
·
|
|
the size of BPF_MAP_TYPE_PERCPU_ARRAY doesn't match the number of CPU
Thank you, Yonghong Song
By
Forrest Chen
· #1760
·
|
|
the size of BPF_MAP_TYPE_PERCPU_ARRAY doesn't match the number of CPU
map defined: struct bpf_map_def SEC("maps/protocount") proto_count = { .type = BPF_MAP_TYPE_PERCPU_ARRAY, .key_size = sizeof(__u32), .value_size = sizeof(__u32), .max_entries = 1, }; userspace code: i
map defined: struct bpf_map_def SEC("maps/protocount") proto_count = { .type = BPF_MAP_TYPE_PERCPU_ARRAY, .key_size = sizeof(__u32), .value_size = sizeof(__u32), .max_entries = 1, }; userspace code: i
|
By
Forrest Chen
· #1758
·
|
|
the size of BPF_MAP_TYPE_PERCPU_ARRAY doesn't match the number of CPU
Hi all, I define a BPF_MAP_TYPE_PERCPU_ARRAY and use it to count packets in the xdp program. When I read the map from userspace program, I find that the entry number doesn't match local CPU numbers. I
Hi all, I define a BPF_MAP_TYPE_PERCPU_ARRAY and use it to count packets in the xdp program. When I read the map from userspace program, I find that the entry number doesn't match local CPU numbers. I
|
By
Forrest Chen
· #1756
·
|
|
sockmap redirect doesn't work all the time
Hi Ferenc: The packets are really small, I just send a curl get request. Sometimes I can receive the packets from my program, I think it is because the packets arrive before I set the socket desc so t
Hi Ferenc: The packets are really small, I just send a curl get request. Sometimes I can receive the packets from my program, I think it is because the packets arrive before I set the socket desc so t
|
By
Forrest Chen
· #1754
·
|
|
sockmap redirect doesn't work all the time
Hi all, Recently I've been testing with ebpf sockmap. I know that after setting the sock fd in sockmap, the data send to this socket can redirect to another socket that register in the sockmap. I rewr
Hi all, Recently I've been testing with ebpf sockmap. I know that after setting the sock fd in sockmap, the data send to this socket can redirect to another socket that register in the sockmap. I rewr
|
By
Forrest Chen
· #1730
·
|
|
Performance of veth XDP
Thanks. I have tested in non-XDP mode and the problem also happen. It maybe a netperf bug...
Thanks. I have tested in non-XDP mode and the problem also happen. It maybe a netperf bug...
|
By
Forrest Chen
· #1725
·
|
|
Performance of veth XDP
In https://lists.iovisor.org/g/iovisor-dev/topic/how_to_make_redirect_map/31867035 I have built up an environment to make veth+XDP work. There're some question when I do some performance test 1. When
In https://lists.iovisor.org/g/iovisor-dev/topic/how_to_make_redirect_map/31867035 I have built up an environment to make veth+XDP work. There're some question when I do some performance test 1. When
|
By
Forrest Chen
· #1716
·
|
|
how to make redirect_map work?
I'm sorry, it's my fault. I've re-test use SKB mode and it works now. I think the reason why I failed before was I didn't change the dst MAC address so the kernel drops it. Forrest
I'm sorry, it's my fault. I've re-test use SKB mode and it works now. I think the reason why I failed before was I didn't change the dst MAC address so the kernel drops it. Forrest
|
By
Forrest Chen
· #1711
·
|
|
how to make redirect_map work?
Thanks for your material. It is really helpful. After attach XDP_PASS program on vbox1 and vbox2, and set the right dst mac address in xdp redirect program, I can now ping success from ns1 to ns2 (192
Thanks for your material. It is really helpful. After attach XDP_PASS program on vbox1 and vbox2, and set the right dst mac address in xdp redirect program, I can now ping success from ns1 to ns2 (192
|
By
Forrest Chen
· #1709
·
|
|
how to make redirect_map work?
Why should I attach xdp in SKB mode when using veth interface, is there any docs for that? Is it because I use DEVMAP? In my test, I can attach my xdp program in driver mode using veth and just works
Why should I attach xdp in SKB mode when using veth interface, is there any docs for that? Is it because I use DEVMAP? In my test, I can attach my xdp program in driver mode using veth and just works
|
By
Forrest Chen
· #1704
·
|
|
how to make redirect_map work?
Hi all, Recently I try to build a network topology to test redirect_map, the topology is as below and the build script in the attachment(setup_env.sh). My test case is run `ping` from netns ns1 to 192
Hi all, Recently I try to build a network topology to test redirect_map, the topology is as below and the build script in the attachment(setup_env.sh). My test case is run `ping` from netns ns1 to 192
|
By
Forrest Chen
· #1697
·
|
|
how to set environment to run xdp_redirect_map.py example?
Thanks a lot, Gary! Very appreciate for your answer. Forrest
Thanks a lot, Gary! Very appreciate for your answer. Forrest
|
By
Forrest Chen
· #1695
·
|
|
how to set environment to run xdp_redirect_map.py example?
These two examples swap mac instead of IP address. And as an effect with the given topology, the egress package from MachineA-eth1 has dst mac of MachineB-eth0 and src mac of MachineA-eth0, dst IP of
These two examples swap mac instead of IP address. And as an effect with the given topology, the egress package from MachineA-eth1 has dst mac of MachineB-eth0 and src mac of MachineA-eth0, dst IP of
|
By
Forrest Chen
· #1693
·
|