【问题标题】:Why doesn't tcp_transmit_skb delete the skbuff in the write queue whereas udp_send_skb does为什么 tcp_transmit_skb 不删除写队列中的 skbuff 而 udp_send_skb 删除
【发布时间】:2016-12-01 11:00:50
【问题描述】:

我正在尝试在 linux 内核中的 UDP 之上实现一个新协议。我需要为此协议实现流控制,但是当我使用函数udp_send_skb() 时,传输的 skbuff 会从写入队列中删除。

TCP 如何在不将其从队列中删除的情况下发送 skbuff?我认为相关的tcp函数是tcp_transmit_skb()

一旦我理解了 TCP 中的这种行为,我就可以在 UDP 中做到这一点。或者也许有人可以指出在udp_send_skb(或它调用的函数中)要改变什么,以确保不会删除skbuff。

【问题讨论】:

    标签: networking tcp linux-kernel network-programming udp


    【解决方案1】:

    我相信我会使用skb_clone() 并发送克隆而不是原始skb。我在使用tcp_transmit_skb 函数时发现了这个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-25
      • 2021-03-08
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      • 1970-01-01
      相关资源
      最近更新 更多