nf_register_hook não encontrado no kernel linux 4.13-rc2 e posterior

3

Eu comecei a aprender sobre o netfilter e estava tentando fazer um módulo netfilter simples, todos os tutoriais e HOW TOs registrando uma função hook com nf_register_hook() , mas não consegui encontrar um nos kernels linux acima de 4.13-rc1. / p>

Tanto quanto eu entendo, a função nf_register_hook() usada para chamar a função _nf_register_hook() que chamou ainda a função nf_register_net_hook() , iterando sobre cada membro da lista net vinculada, mas fica um pouco difícil para eu entender.

Com a função nf_register_hook() desaparecida, estou resolvendo como registrar um gancho.

A função nf_register_net_hook() ainda está lá, mas não sei ao certo como isso funciona.

Então minha pergunta se resume a,

Como registrar um gancho netfilter em kernels acima de 4.13-rc1?

    
por RishabhHardas 30.12.2017 / 11:54

1 resposta

3

Use o seguinte código:

#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,13,0)
    nf_register_net_hook(&init_net, reg)
#else
    nf_register_hook(reg)
#endif

Referência: init_net

    
por 12.01.2018 / 09:31