> However, as part of the discussion from friday, we force the nce to
 > be REACHABLE  after step #4, and this causes confusion later when we
 > try triggering fastpath without a properly constructd dl_unitdata response
 > in the nce_res_mp.
 > 
 > So one way of fixing this is to modify the change discussed earlier,
 > and only force the nce_state to ND_REACHABLE after #4 if the nce has the 
 > dl_unitdata_response in it, but this is a messy fix.
 > 
 > It is probably cleaner to re-examine and straighten out the
 > allow_unresolved argument.

That summary seems correct.  I just removed the use of allow_unresolved
from ire_add_v4() in my workspace (and removed the previous fix we arrived
at on Friday), and so far, so good.  When I flush the IRE cache and then
attempt to send a packet to an off-link host, I hit ire_arpresolve() with
the following (seemingly reasonable) stack:

        ip`ire_arpresolve+4
        ip`ip_xmit_v4+0x444
        ip`ip_wput_ire+0x19b0
        ip`ire_send+0x2a8
        ip`ire_add_then_send+0x354
        ip`ip_newroute+0xce8
        ip`ip_output_options+0x1e98
        ip`ire_send+0x218
        ip`ire_add_then_send+0x354
        ip`ip_output_options+0x1260
        putnext+0x3ec
        arp`ar_query_reply+0x168
        arp`ar_ce_resolve+0xb8
        arp`ar_ce_resolve_all+0x110
        arp`ar_rput+0x3f4
        putnext+0x3ec
        ce`ce_intr+0x68cc

-- 
meem

Reply via email to