【问题标题】:PF_BRIDGE(NF_BR_PRE_ROUTING) hook not getting invokedPF_BRIDGE(NF_BR_PRE_ROUTING) 钩子没有被调用
【发布时间】:2017-12-01 22:56:36
【问题描述】:
  1. 有一个内核模块,它使用 nf_register_hook() 将函数注册为 PF_BRIDGE 挂钩到网络过滤器

  2. 未从内核调用挂钩函数。

  3. 是否需要任何内核特定的更改? 这种行为的可能原因是什么?我也没有看到任何错误。

【问题讨论】:

  • 网桥中有接口吗? PF_BRIDGE 钩子仅对桥接数据包调用。
  • @JoelC 抱歉,我不熟悉 PF_BRIDGE 的用法。我迫切需要详尽的例子。你的意思是我需要在 Linux 中配置桥接器并且还需要将其中一个接口附加到该接口上?
  • @JoelC 我的目的是将到达接口 eth0 的所有数据包发送到我的内核模块。使用 netdev_rx_handler_register 而不是复杂的 PF_BRIDGE(包括桥接器)不是更好吗?请建议。谢谢。

标签: c linux-kernel network-programming netfilter


【解决方案1】:

你能检查一下这个帖子吗?这是你要找的吗?

Netfilter hook on router not getting called for bridged interfaces

在这个帖子中,我建议使用以下 nf_hook_ops。

.pf     = PF_BRIDGE,
.hooknum    = NF_BR_PRE_ROUTING,
.priority   = NF_BR_PRI_FIRST,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    相关资源
    最近更新 更多