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