如何在linux中删除输出包缓冲区

时间:2014-08-07 04:07:55

标签: linux kernel buffer ppp

我有一个运行内核3.8(BBB)的linux嵌入式系统。网络层是这样的:

  • 应用程序(使用UDP / IP和ICMP / IP协议)
  • pppd over a serial tty
  • usbserial
  • usb硬件,通过串口usb端口提供透明无线电发射器/接收器(慢速链接,19kbps)

当无线链路出现问题时(或者可能使用usb-hardware),不会发送包(因此它们会在某个地方缓冲 - 可能在ppp或内核中)。

但是,由于环境噪音很大,因此每小时链接会多次下降/上升。

软件包在某个地方被缓冲,因为当链接建立时,所有缓冲的软件包都会被发送(暂时超载低速链接)。

我见过一些罕见的情况,我得到了ICMP-echo-r​​eply,RTT为400秒! (甚至超过允许的最大TTL 255秒或跳数)

我的问题:

  • 如何知道这些包是由内核,pppd还是usbserial缓冲的?
  • 如何(手动)告诉(kernel或pppd或usbserial)丢弃输出缓冲区?
  • 如何检查(或限制)这些缓冲区正在使用多少内存?

0 个答案:

没有答案