Pavel Emelyanov wrote:
I've sent this patch some days ago to Bart, but with no answer... When trying to do # ebtables -A FORWARD --among-src 0:12:34:56:78:9a=192.168.0.10 -j ACCEPT on x86_64 box the ebt_among->check() callback warns me that ebtables: among: wrong size: 1060 against expected 1056, rounded to 1056 Checking the ebtables sources, I found that the alignment is done differently in the tool and the kernel. Tool makes it like this: EBT_ALIGN(sizeof(struct ebt_among_info)) + X while the kernel module like this: EBT_ALIGN(sizeof(struct ebt_among_info) + X) So the suggested fix is to move the alignment in the kernel. After the fix the rule is added and appears in the ebtables -L output.
It seems the kernel is correct and userspace is doing it wrong, so I think userspace should be fixed instead. The problem with your patch is that is causes misalignment for following structures that contain u64 members. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html