David S. Miller wrote:
From: Scott Bardone <[EMAIL PROTECTED]>
Date: Thu, 11 Aug 2005 23:16:14 -0700
- static was removed from functions '__tcp_inherit_port' & '__tcp_v4_hash'
because these are called outside of tcp_ipv4.c from the TOM driver.
There is no way you're going to be allowed to call such deep TCP
internals from your driver.
This would mean that every time we wish to change the data structures
and interfaces for TCP socket lookup, your drivers would need to
change.
This is all looking exactly like the deep dark dungeon I feared TOE
support would be.
Although I keep an open mind, I really don't see how any TOE solution
will ever overcome my own conceptual merge objections:
1) RFC compliance differs based on whether you use a TOE NIC, or Linux
software stack. "What Linux am I talking to, today?"
Linux is consistently the most RFC-compliant net stack in existence,
AFAIK. TOE suddenly leaves all that open to question.
2) Security updates. We can deploy a net stack security fix very
rapidly, and know that we have solved the issue(s). With TOE, security
fixes no longer cover all users. One has to either wait on multiple TOE
vendors to deploy firmware fixes, or deploy the software fix and leave
TOE users exposed. Once again... "What Linux am I talking to, today?"
3) Netfilter. Either a TOE NIC (a) doesn't support netfilter, (b) needs
far-reaching packet mangling hooks, or (c) includes its own custom
netfilter [clone], with attendant bugs and maintenance issues.
4) Configuration. Either a TOE NIC needs deep net stack hooks, or needs
its own netlink/ifconfig configuration interfaces.
5) As we see in this thread -- upper layer (TCP, IP) changes in the net
stack require touching a bunch of low-level drivers. Brand new
maintenance issue, which slows down upper layer development.
So far, I haven't seen a TOE NIC that satisfies even half of these
objections.
About the only TOE situation I could imagine which -would- would be
where the TOE firmware source code is included in the Linux kernel
source code, but even then, all the hooks would be nasty.
Jeff
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html