Eu tenho um soquete Netlink, inscrito para destruir eventos, usando bind
com NF_NETLINK_CONNTRACK_DESTROY
OR'd no groups
parâmetro.
Ao examinar o nfnetlink_compat.h , no entanto, vejo que há mais sinalizadores do que apenas NEW, UPDATE e DESTROY - também há uma variante EXP_XYZ para cada sinalizador:
#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
Não consigo encontrar os sinalizadores EXP_XYZ documentados em qualquer lugar que procurei. Onde posso encontrar mais informações sobre essas bandeiras?
Esses sinalizadores existem para lidar com notificações sobre expectativas de conntrack , que são
RELATED
estados de conntrack que são armazenados em uma tabela e manipulados pelo kernel; você pode ser notificado se uma expectativa estiver sendo adicionada, excluída ou modificada. Esta tabela pode ser manipulada por programas de usuário como o conjunto de ferramentas conntrack-tools, mas é usada por módulos do kernel como os auxiliares FTP e SIP.Dito isso, nunca precisei usar esse recurso diretamente: geralmente é tratado automaticamente.