On 8/12/05, David S. Miller <[EMAIL PROTECTED]> wrote:
> 
> > - 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.

These functions don't do anything deeply TCP and I believe in 2.6.14
both of these are already generalized and available for use by any
protocol.  TOEs use these for the same reason the host TCP does,
namely to add new child sockets created during passive opens to the
TCP lookup table.  I have to recheck but I believe with 2.6.14 this
particular change won't be needed.

> 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.

I think using TCP's own functions was done exactly to avoid this
problem.  The TOE doesn't care how the lookup table is implemented or
how the hashing works, all it wants to do is add a regular TCP socket
to the TCP lookup table, however the host TCP has chosen to implement
this.  Pre 2.6.14 the alternative would be to just have private copies
of these two in the TOE driver but that would create exactly the issue
of synchronization if the host TCP decided to change its version.
 
> This is all looking exactly like the deep dark dungeon I feared TOE
> support would be.

Can you give more examples of what you consider invasive changes?  I
think several of the changes TOEs need are similar to what DCCP needed
and once the changes made for the latter are leveraged TOE's impact on
existing code will reduce further.
-
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

Reply via email to