IPT_ALIGN 宏未在 netfilter_ipv4/ip_tables.h 中定义

IPT_ALIGN macro not defined in netfilter_ipv4/ip_tables.h

我正在编写一个小应用程序来使用 libiptc 管理 iptables 规则。我使用了 https://it.bmc.uu.se/andlov/dev/library/Linux/libiptc/append.c 中的一些示例代码来开始,但在第 31 行出现编译错误:

错误:“IPT_ALIGN”未在此范围内声明 size_t entry_size = IPT_ALIGN(sizeof(struct ipt_entry));

我看不到 ip_tables.h 中定义的这个宏,因此怀疑它已被弃用。 netfilter 文档仍然引用它。

是否有一种新的方法来确保正确对齐来替代这个宏?

谢谢

看起来新的宏可能是COMPAT_XT_ALIGN。旧的 IPT_ALIGN 只是 XT_ALIGN 的别名,似乎已被弃用。 (参见 here and here)。不过,我找不到任何官方弃用通知。