Originally posted by NobodyXu
View Post
Sorry the reality is in the rapid processing the ipv6 address is converted to 128 bit integer by the Linux kernel. Yes BPF has had to had 128bit support to prevent conversion back. Yes due to the 128bit being binary different between clang/gcc its not allowed in the direct to userspace interfaces.
So basically what you just wrote about does not disprove my statement about ipv6 and 128 bit integer usage. The binary issue here is a true pain. Yes this has resulted in structure for export to userspace and internal usage of the Linux kernel being two different things.
Yes the glibc example is not hot path code. Hot path code for firewalls and other things you will find 128bit integer used. Yes games validating IP of packets to make sure user should be allowed to connect to server this is a hot path and is a form of a firewall just done as user code.
So this 128bit integer problem is a true headache. Not exposed as 128bit integer does not mean not processed as 128bit integer. Yes if you are processing stuff as 128 bit integer its helpful to have 128bit integer support.
Yes Linux kernel BPF solution for 128bit integer its format is what ever compiler built the kernel choice.
Comment