|
Automatic Loop Unrolling not working with #pragma unroll
#pragma
Hello, We are implementing a basic version of a router. In order to perform the routing process we implemented a bounded loop that iterates over all routing table entries looking for a match. We also
Hello, We are implementing a basic version of a router. In order to perform the routing process we implemented a bounded loop that iterates over all routing table entries looking for a match. We also
|
By
Mauricio Vasquez
· #533
·
|
|
const qualifier for key argument in eBPF map access functions
Hello, We are having some doubts about the use of the const qualifier for the key argument in functions to access eBPF maps, both, from user space and within eBPF programs. According to our understand
Hello, We are having some doubts about the use of the const qualifier for the key argument in functions to access eBPF maps, both, from user space and within eBPF programs. According to our understand
|
By
Mauricio Vasquez
· #553
·
|
|
Automatic Loop Unrolling not working with #pragma unroll
#pragma
Hello Thomas, We have been analyzing it into more detail, effectively passing a pointer to that function prevents the loop unrolling. My guessing is that in some way the compiler thinks that the count
Hello Thomas, We have been analyzing it into more detail, effectively passing a pointer to that function prevents the loop unrolling. My guessing is that in some way the compiler thinks that the count
|
By
Mauricio Vasquez
· #554
·
|
|
const qualifier for key argument in eBPF map access functions
In order to take hover and bcc out of the picture I implemented a code based on the examples in [1]. I changed the prototype of the bpf_map_update_elem function [2] to 'const void *' but results are s
In order to take hover and bcc out of the picture I implemented a code based on the examples in [1]. I changed the prototype of the bpf_map_update_elem function [2] to 'const void *' but results are s
|
By
Mauricio Vasquez
· #558
·
|
|
How to update the csum of a trimmed UDP packet?
Hello, I am trying to implement an eBPF program that trims an UDP packet to a predefined length. I am able to trim the packet (using the bpf_change_tail helper) and also to update the ip->len and udp-
Hello, I am trying to implement an eBPF program that trims an UDP packet to a predefined length. I am able to trim the packet (using the bpf_change_tail helper) and also to update the ip->len and udp-
|
By
Mauricio Vasquez
· #583
·
|
|
How to update the csum of a trimmed UDP packet?
Hi Daniel, We are implementing a DHCP server, DHCP messages are quite unusual so slow path helpers are not a problem in this case. Thanks to it I realized that I was doing the difficult way, I was try
Hi Daniel, We are implementing a DHCP server, DHCP messages are quite unusual so slow path helpers are not a problem in this case. Thanks to it I realized that I was doing the difficult way, I was try
|
By
Mauricio Vasquez
· #591
·
|
|
How to update the csum of a trimmed UDP packet?
You are right Fulvio, it is optional in IPv4, however I wanted to know I was failing to calculate it. We can then discuss about if it makes sense or not to calculate it in the DHCP case.
You are right Fulvio, it is optional in IPv4, however I wanted to know I was failing to calculate it. We can then discuss about if it makes sense or not to calculate it in the DHCP case.
|
By
Mauricio Vasquez
· #594
·
|
|
How to update the csum of a trimmed UDP packet?
You got it!!, It is working now. Thanks!
You got it!!, It is working now. Thanks!
|
By
Mauricio Vasquez
· #595
·
|
|
Handling a set of free elements with current map implementations
Hello, We are having some issues for handling the address pool of a DHCP server implemented with eBPF. We tried to implement it using a map containing all the available addresses, this map is filled a
Hello, We are having some issues for handling the address pool of a DHCP server implemented with eBPF. We tried to implement it using a map containing all the available addresses, this map is filled a
|
By
Mauricio Vasquez
· #608
·
|
|
Problem with ebpf program array map
Hello Tanja, Welcome! Are you calling load_func() for the program in the .c file? I modified one of the examples to add a tail call, you can see at [1]. Although print(prog_array.items()) shows an emp
Hello Tanja, Welcome! Are you calling load_func() for the program in the .c file? I modified one of the examples to add a tail call, you can see at [1]. Although print(prog_array.items()) shows an emp
|
By
Mauricio Vasquez
· #656
·
|
|
IOVisor summit agenda
Hello Deepa, Is there going to be someway to attend the summit remotely? Thanks, Mauricio
Hello Deepa, Is there going to be someway to attend the summit remotely? Thanks, Mauricio
|
By
Mauricio Vasquez
· #658
·
|
|
Problem with ebpf program array map
Unfortunately I don't have any idea for it. As a comment, it is normal that "print prog_array.items()" prints [], the prog type array does not implement the lookup function. Regards, Mauricio
Unfortunately I don't have any idea for it. As a comment, it is normal that "print prog_array.items()" prints [], the prog type array does not implement the lookup function. Regards, Mauricio
|
By
Mauricio Vasquez
· #664
·
|
|
How to attach a BPF program to TC using C/C++
Dear All, I am trying to inject a BPF_PROG_TYPE_SCHED_ACT program and attach it to the TC using C++. I had no particular problems compiling and injecting the program, however I haven't been able to at
Dear All, I am trying to inject a BPF_PROG_TYPE_SCHED_ACT program and attach it to the TC using C++. I had no particular problems compiling and injecting the program, however I haven't been able to at
|
By
Mauricio Vasquez
· #693
·
|
|
How to attach a BPF program to TC using C/C++
That's a good question. I have to admit that we haven't looked at the very detail of this, we base our work on hover that uses ..._SCHED_ACT. According to some documentation I read ..._SCHED_CLS progr
That's a good question. I have to admit that we haven't looked at the very detail of this, we base our work on hover that uses ..._SCHED_ACT. According to some documentation I read ..._SCHED_CLS progr
|
By
Mauricio Vasquez
· #697
·
|
|
BPF unrolled loop doesn't work and its workaround
Hi William, Yes, we hit exactly the same problem [1], at that time we thought it was because of the missing "const" qualifier in the bpf_map_* helpers [2], however we added it and the result was the s
Hi William, Yes, we hit exactly the same problem [1], at that time we thought it was because of the missing "const" qualifier in the bpf_map_* helpers [2], however we added it and the result was the s
|
By
Mauricio Vasquez
· #722
·
|
|
multi-key eBPF map
Dear All, We are implementing an eBPF program that uses a multi-key map, we create a structure containing all the fields used as keys. This approach works good until we perform operations on the map u
Dear All, We are implementing an eBPF program that uses a multi-key map, we create a structure containing all the fields used as keys. This approach works good until we perform operations on the map u
|
By
Mauricio Vasquez
· #932
·
|
|
How to compile C++ programs with libbcc
Dear All, I have been using libbcc with a C++ application without problems for a while. However, when I tried this with bcc master I got some linker errors. Even with a basic example I get the same er
Dear All, I have been using libbcc with a C++ application without problems for a while. However, when I tried this with bcc master I got some linker errors. Even with a basic example I get the same er
|
By
Mauricio Vasquez
· #1150
·
|
|
Is this possible to attach eBPF programs to virtual interfaces?
Hello All, I tried to load a PROG_TYPE_SCHED_CLS eBPF program and attach it to a linux interface, netlink fails because it is not able to find the interface. Those are the steps I did: sudo ifconfig v
Hello All, I tried to load a PROG_TYPE_SCHED_CLS eBPF program and attach it to a linux interface, netlink fails because it is not able to find the interface. Those are the steps I did: sudo ifconfig v
|
By
Mauricio Vasquez
· #1210
·
|
|
Is this possible to attach eBPF programs to virtual interfaces?
Hello Y Song, I'm sorry, I was not clear enough. By virtual interface I meant "sub-interface", (vlan interface). ``` sudo ip link add veth1 type veth peer name veth2 sudo ifconfig veth1:1 192.168.2.21
Hello Y Song, I'm sorry, I was not clear enough. By virtual interface I meant "sub-interface", (vlan interface). ``` sudo ip link add veth1 type veth peer name veth2 sudo ifconfig veth1:1 192.168.2.21
|
By
Mauricio Vasquez
· #1212
·
|
|
handle pool of elements in eBPF maps
Dear All, We know from our experience implementing network functions in eBPF that some services require to keep pool of elements, for example addresses and ports in a NAT. So far we haven't found a wa
Dear All, We know from our experience implementing network functions in eBPF that some services require to keep pool of elements, for example addresses and ports in a NAT. So far we haven't found a wa
|
By
Mauricio Vasquez
· #1235
·
|