我正在创建一个单独的网络堆栈,正在使用libpcap,或者使用pcap_inject函数将数据包直接发送到链路层。但是,当我查看tc -s qdisc show dev eth0
命令时,我看到我发送的数据包正在计入从队列发送的数据包中。所以我的问题是,pcap_inject是否调用Linux的流量控制层来发送数据包?还是直接发送到设备驱动程序?
提前感谢
pcap_inject是否调用linux的流量控制层以发送数据包?还是直接发送到设备驱动程序?
它在send()
上进行send()
调用。默认情况下,在这些套接字上发送的数据包会通过流量控制层。引用a PF_PACKET socket:
the PF_PACKET socket man page
libpcap不会not启用该选项。