Hi,

I just find out this IFA_F_NODAD was not in the kernel used in my test
bed which is 2.6.17. So I tried to modify the code in ipv6/addrconf.c by
myself to remove the DAD:

                        if (!max_addresses ||
                            ipv6_count_addresses(in6_dev) < max_addresses)
                                ifp = ipv6_add_addr(in6_dev, &addr, 
pinfo->prefix_len,
                                                    
addr_type&IPV6_ADDR_SCOPE_MASK, 0);

                        if (!ifp || IS_ERR(ifp)) {
                            in6_dev_put(in6_dev);
                            return;
                        }
// --------New code ----------------
                        if (!IS_ERR(ifp)) {
                            spin_lock_bh(&ifp->lock);
                            ifp->flags &= ~IFA_F_TENTATIVE;
                            spin_unlock_bh(&ifp->lock);
                        
                            addrconf_join_solict(ifp->idev->dev, &ifp->addr);
                            ipv6_ifa_notify(RTM_NEWADDR, ifp);
                            //in6_ifa_put(ifp);
                            printk("New address configured.\n");
                        }
// ----------end -------------------
                        update_lft = create = 1;
                        ifp->cstamp = jiffies;

                        // addrconf_dad_start(ifp, RTF_ADDRCONF|RTF_PREFIX_RT);

However, even the new address is generated and assigned to the
interface, and I can read the address from the /proc interface, my first
few packets are eaten by the kernel. Only until after about 1 second,
then my packet can make its way out. Is kernel doing anything that
blocks the sending and receiving of packets during the time of DAD?
Thanks a lot!

Best Regards,

Xia Yang



On Mon, 2007-10-01 at 20:44 +0900, YOSHIFUJI Hideaki / 吉藤英明 wrote:
> In article <[EMAIL PROTECTED]> (at Mon, 01 Oct 2007 11:53:27 +0800), Xia Yang 
> <[EMAIL PROTECTED]> says:
> 
> > I would like to ask for help on how to remove or disable the DAD process
> > properly, as long as the node can send, receive and forward packets
> > immediately after a new IPv6 address is generated. Any pointer is
> > appreciated. Thanks a lot in advance!
> 
> IFA_F_NODAD address flag might help this.
> 
> --yoshfuji
-
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

Reply via email to