This isn't the first time offloading things for tcp has been trie. I remember when TCP first made its appearance it was criticised for using to many cpu cycles. So, thought hardworking entrepreneurs, we can put TCP into a separate processor and off load the work. Summer USENIX of '85 saw a lot of these TCP Offload Engines. That didn't last long. Nice thing about being around for so long; you get to avoid stepping in the same pile twice.