【发布时间】:2012-05-06 18:31:46
【问题描述】:
我想为 TCP/UDP 流量实现网络延迟模型,如 Linux libnetfilter_queue delayed packet problem 中所述。我已经听从了那里的 Andy 的建议,将整个数据包复制到我的程序中并将其放置在优先级队列中。随着时间的推移,优先队列中的数据包会被移除并使用 RAW 套接字进行调度。
我面临的问题是:libnetfilter_queue 对数据包的初始捕获是通过匹配端口来完成的(sudo iptables -A OUTPUT -p udp --dport 8000 -j NFQUEUE --queue-num 0)。当这些数据包被 RAW 套接字重新注入时,它们会再次被 libnetfilter_queue 拾取(因为端口保持不变),因此会一直循环下去。
我真的很困惑,想不出出路。请帮帮我。
【问题讨论】:
标签: c++ c linux networking netfilter