News for hackers. Stuff that matters.
Re:Let's Code a TCP/IP Stack: TCP Retransmission by gricardo99 on Wednesday July 05, 2017 @04:47PM (#14705954)
There have been NICs that integrate TCP/IP offload features[1]. I'm not sure how widely used they are anymore. It seems when CPU clock frequencies leveled off, and core count started to increase (~10 years ago), there was less rationale to use dedicated hardware versus consuming more available CPU/core resources to deal with the network protocol processing in software.

1 - https://en.wikipedia.org/wiki/TCP_offload_engine

Re:Let's Code a TCP/IP Stack: TCP Retransmission by Galanwe on Thursday July 06, 2017 @02:56AM (#14708627)
I worked multiple years in writing drivers or low level libraries for companies building network cards (mainly in finance). I also do a lot of networking/electronics at home, including building simple network cards. To answer your question "'m not sure how widely used they are anymore": I would say it's almost impossible nowadays to find an ethernet-only chip that does not have any kind of tcp offload ("toe" for short). 90% of the times the chip also handles ARP & ICMP for you. Most recent drivers are able to offload most of the work to the ship, and fallback on software for complementary features (most on-chip TOEs are still barebone) or when no TOE is present.
Re:Let's Code a TCP/IP Stack: TCP Retransmission by rjsw on Wednesday July 05, 2017 @04:51PM (#14705997)
All Intel NICs do TCP offload, they are quite widely used.
Re:Let's Code a TCP/IP Stack: TCP Retransmission by CyberDildonics on Wednesday July 05, 2017 @05:50PM (#14706399)
Do you have a source for more information? I know Intel NICs are mostly regarded pretty highly.
Re:Let's Code a TCP/IP Stack: TCP Retransmission by aarongolliver on Wednesday July 05, 2017 @06:29PM (#14706645)
I don't know much about it, but it's briefly described here: https://www.intel.com/content/www/us/en/support/network-and-... (ctrl-f offload)

https://wiki.linuxfoundation.org/networking/toe suggests it's done mostly in closed-source firmware.