LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices


Reply
  Search this Thread
Old 07-27-2016, 07:26 AM   #1
gauravsuman007
LQ Newbie
 
Registered: Jun 2016
Posts: 9

Rep: Reputation: Disabled
In linux kernel, why doesn't tcp_transmit_skb delete the skbuff in the write queue whereas udp_send_skb does


Hello,
I'm trying to implement a new protocol on top of UDP in the linux kernel. I need to implement flow control for this protocol but when I use the function udp_send_skb(), the transmitted skbuff gets removed from the write queue.
How does TCP manage to send an skbuff without removing it from the queue? I think the relevant tcp function is tcp_transmit_skb().
Once I understand this behaviour in TCP, I can do that in UDP. Or maybe someone can point out what to change in udp_send_skb (or in the functions called by it) to ensure that the skbuff is not deleted.
 
Old 07-27-2016, 01:36 PM   #2
smallpond
Senior Member
 
Registered: Feb 2011
Location: Massachusetts, USA
Distribution: Fedora
Posts: 4,148

Rep: Reputation: 1264Reputation: 1264Reputation: 1264Reputation: 1264Reputation: 1264Reputation: 1264Reputation: 1264Reputation: 1264Reputation: 1264
TCP is lossless so needs to resend a packet if it doesn't get an ack. Once UDP sends, it's gone.
 
Old 08-02-2016, 03:03 PM   #3
nini09
Senior Member
 
Registered: Apr 2009
Posts: 1,854

Rep: Reputation: 161Reputation: 161
If you implement new staff on top of UDP, it is easy way to use socket API.
 
  


Reply

Tags
kernel, network, tcp, udp



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
USB Drive went into Read-only mode and doesn't allow me to write or delete anything nyk.mat Linux - Newbie 5 12-07-2013 05:20 AM
tcp_header=(struct tcphdr *)(skbuff->data+(skbuff->nh.iph->ihl*4)); How? iamjayanth Linux - Kernel 4 02-25-2011 04:07 AM
Linux QOS simple queue fifo doesn't work egarim Linux - Networking 1 10-10-2009 08:54 AM
Is it possible for me to write in front of queue in case of message queue? hemanthv414 Linux - Newbie 1 11-17-2008 04:40 PM
Exim can't delete queue Shwick Linux - Server 1 10-05-2008 08:32 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 05:05 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration