DragonFly BSD
DragonFly kernel List (threaded) for 2009-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Socket related stuff - patch available for testing

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Sat, 5 Dec 2009 15:35:28 -0800 (PST)

    Ok, I committed the patch with one additinal change which is to
    comment out the assertion causing the reported IPV6 issues.

    I tracked it down but can't fix it right now.  Basically what is
    happening is that IPV6 packets are being forwarded to the "netisr_cpu 0"
    thread, so some of the UDP and TCP processing is taking place there
    instead of in the tcp or udp protocol threads.  Actually, I think it
    might be taking place in both threads (on the same cpu) which might
    create its own issues.

    The chain of events starts with the netisr_register() call made in
    netinet6/ip6_input.c and fans out from there.

    The tcp timer assertions are being left intact as they assert the
    caller is on the correct cpu, which we are even though we are in the
    wrong protocol thread.

    I think that will work out for now.  What we really need to do is
    implement a proper ip6_demux.c which would then forward the packets
    to (at least) the proper protocol threads instead of the
    "netisr_cpu 0" protocol thread.


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]