bind
我有一个 Netlink 套接字,通过使用with NF_NETLINK_CONNTRACK_DESTROY
OR 到参数中来订阅销毁事件groups
。
当浏览时nfnetlink_compat.h不过,我发现除了 NEW、UPDATE 和 DESTROY 之外还有更多标志 - 每个标志还有一个 EXP_XYZ 变体:
#define NF_NETLINK_CONNTRACK_NEW 0x00000001
#define NF_NETLINK_CONNTRACK_UPDATE 0x00000002
#define NF_NETLINK_CONNTRACK_DESTROY 0x00000004
#define NF_NETLINK_CONNTRACK_EXP_NEW 0x00000008
#define NF_NETLINK_CONNTRACK_EXP_UPDATE 0x00000010
#define NF_NETLINK_CONNTRACK_EXP_DESTROY 0x00000020
我在任何地方都找不到记录的 EXP_XYZ 标志。我在哪里可以找到有关这些标志的更多信息?
答案1
这些标志的存在是为了处理有关 conntrack 的通知期望RELATED
,它们是存储在表中并由内核处理的conntrack状态;如果添加、删除或修改期望,您会收到通知。该表可以由用户程序操作,例如conntrack-tools 工具集但是由 FTP 和 SIP 帮助程序等内核模块使用。
也就是说,我从来没有直接使用过这个功能:它通常是自动处理的。