![uwe](/assets/img/avatar_default.png)
pointers but missed (char *)&soup->so_foo => (char *)soup->so_foo in mask_addr(). It worked by luck - unless it didn't: due to pointer numerology on amd64 route add -net ClassC without explicit /24 prefix length specification would result into /16 destination instead of /24.