Hello, Below you can find short summary of BPF office hours that happened in July 2022. Hope it will be useful for people that were not able to attend. I will try to take more detailed notes over August. Let me know if you have any feedback on how to improve these. Thanks, Mykola 7/7 with Eduard Zingerman (eddyz87@xxxxxxxxx): Eduard proposed improvements to verifier.c:do_misc_fixups() function that might exhibit O(n^2) complexity for certain inputs. He did benchmarks on the selftests/bpf inputs. Agreement was that we need to do benchmarks on the Cilium production code. Daniel Borkmann will work with Eduard to provide him with object files to benchmark on. Eduard investigated on three alternative approaches: - a previously suggested by Jiong Wang [1] approach using BPF program representation as a linked list of instructions - possible representations of BPF programs as control flow graph using basic blocks proposed by Alexei [2] - a novel approach with patches accumulation and application at the end of the transformation passes proposed by Eduard Consensus was to implement a prototype based on a basic blocks approach as it is simpler and already used in LLVM, GCC, Cranelift and QBE. [1] https://lore.kernel.org/bpf/CAEf4BzYDAVUgajz4=dRTu5xQDddp5pi2s=T1BdFmRLZjOwGypQ@xxxxxxxxxxxxxx/ [2] https://lore.kernel.org/bpf/20220624183918.qatsud6fdrtjj3qy@MacBook-Pro-3.local/ 7/14 with Harsh Modi (harshmodi@xxxxxxxxxx): Harsh works on adding crc32 support to checksum sctp packets. This functionality will be integrated with Cilium. This is needed for a telecommunication project he works on in Google. His current patch was only tested on a raw string and will require rework. Alexei asked a lot of pointed questions and suggested Harsh to work closer with Daniel Borkmann. Joanne suggested implementing a generic hash function and using dyn ptrs instead of static pointers. Harsh admitted that he did not know about dyn ptrs and will investigate. After the discussion, Harsh agreed to implement a generic hashing helper as a prototype, measure performance and send it to the bpf mailing list.