On Mon, December 11, 2006 9:38 pm, I said: > I decided to try out the md5 signature support, with a view to eventually > fixing up Quagga to make use of it. As the API has changed quite a bit, > I modified a simple echo client/server as a simple test. I compiled > up 2.6.19-git17 and ran it under debian etch. > > Unfortunately, both the client and server machines panic (actually I'm > using qemu to make things easy for myself). Although my test programs > might be buggy, I don't believe they should cause a panic. > > Has anyone got this stuff working yet?
This seems bogus to me :- struct tcp_md5sig_pool *__tcp_get_md5sig_pool(int cpu) { struct tcp_md5sig_pool **p; spin_lock(&tcp_md5sig_pool_lock); p = tcp_md5sig_pool; if (p) tcp_md5sig_users++; spin_unlock(&tcp_md5sig_pool_lock); return (p ? *per_cpu_ptr(p, cpu) : NULL); } void __tcp_put_md5sig_pool(void) { __tcp_free_md5sig_pool(tcp_md5sig_pool); } Certainly commenting out the body of __tcp_put_md5sig_pool gets things working. I'm not sure what the correct way forward is. Could these functions not be just: struct tcp_md5sig_pool *__tcp_get_md5sig_pool(int cpu) { struct tcp_md5sig_pool **p = tcp_md5_sig_pool; BUG_ON(!p); return *per_cpu_ptr(p, cpu); } void __tcp_put_md5sig_pool(void) { /* nuffin */ } In other words, can we assume that the pool is allocated when we call tcp_get_md5sig_pool? Thanks, Leigh. - 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