OpenSolaris

Printable Version Enter a New Search
Bug ID 6743260
Synopsis ipif_resolver_up() can fail and leave ARP bringup pending
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:tcp-ip
Keywords
Responsible Engineer Peter Memishian
Reported Against
Duplicate Of
Introduced In solaris_10
Commit to Fix snv_107
Fixed In snv_107
Release Fixed solaris_nevada(snv_107)
Related Bugs 4898645 , 4916701
Submit Date 29-August-2008
Last Update Date 28-January-2009
Description
During Clearview IPMP development, I noticed an existing flaw in 
ipif_resolver_up(): if ill_arp_off() or ill_arp_on() fail (e.g.,
because we're out of memory), we never clear ill_arp_bringup_pending:

        if (err != 0) { 
                ip0dbg(("ipif_resolver_up: arp_on/off failed %d\n", err)); 
                freemsg(ipif->ipif_arp_del_mp); 
                freemsg(ill->ill_arp_down_mp); 
                freemsg(ill->ill_arp_del_mapping_mp); 
                ipif->ipif_arp_del_mp = NULL; 
                ill->ill_arp_down_mp = NULL; 
                ill->ill_arp_del_mapping_mp = NULL; 
                return (err); 
        } 

As a result, we will hold ARP hostage by not answering its
AR_ARP_CLOSING request.
Work Around
N/A
Comments
This appears to have been introduced by Fire Engine; setting "Introduced
in Release" and "Introduced in Build" accordingly.