DragonFly bugs List (threaded) for 2008-03
DragonFly BSD
DragonFly bugs List (threaded) for 2008-03
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: panic: assertion: _ifac->ifa_magic == IFA_CONTAINER_MAGIC in _IFAFREE


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 17 Mar 2008 13:48:04 -0700 (PDT)

:I have changed this test program a little bit.  Run it in following way:
:./test_udp remote_ip
:
:...
:I think we need to fix following entry points:
:1) udp_output(): after ip_output() if old_lport==0 and
:mycpuid!=udp_addrcpu(inpcb addr/port pair) then free inpcb's route
:entry
:2) udp_connect(): this function always happens on CPU0, so if
:udp_addrcpu(inpcb addr/port pair)!=mycpuid(0 here), then we need to
:free inpcb's route entry
:3) udp_disconnect(): at the end of it, if mycpuid!=udp_addrcpu(inpcb
:addr/port pair) then free inpcb's route entry
:
:I may miss some entry points here, so please point them out to me, if
:some pop up in your mind.
:
:Best Regards,
:sephe

    I'm not sure how appropriate my idea is but... what if we simply
    do not cache the route until after the addr/port pair is assigned?

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



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