On 2010/11/16 04:50, Vadim Zhukov wrote: [..] Great stuff, this has annoyed me for a while :) I can't test today but will try and do that soon. I won't be able to really test pfsync though..
> - More style(9) compliance. Not sure about struct pf_state change, > though: will it ever break on architectures with 4-byte pointers > but 64-bit alignment requirements, if there are any?.. Sorry for > possibly stupid question. Afaik the strictest requirements on any arch we support is that a data type must be aligned to the size of that data type. 32-bit aligned for 4-byte types, 64-bit aligned for 8-byte types, etc. > @@ -807,6 +808,7 @@ struct pf_state { > struct pf_state_key *key[2]; /* addresses stack and wire */ > struct pfi_kif *kif; > struct pfi_kif *rt_kif; > + struct pf_rule *rt_rule; > u_int64_t packets[2]; > u_int64_t bytes[2]; > u_int32_t creation; I might be mistaken but I think this will break compatibility with the pfsync wire format used by earlier versions.